监控在运维工作中是比不可少的一环,那伴随着监控也同时会涉及到告警机制,一般的监控到的结果是成功或者失败,如Ping不通、访问网页出错、连接不到Socket,发生时这些称之为故障,故障是最优先的告警。那针对于 zabbix 的告警可以有多种方式去做:

zabbix三种常见报警介质:

短信:它的好处是不用联网手机有信号就行,但是需要有短信网关,需要花钱。

邮件:它也可以做到手机短信通知,基本现在邮箱都有这个功能(如果你使用的是移动的手机号,可以让zabbix将报警信息发送到139邮箱,再通过139绑定到手机号来接收短信,免费),当然如果你使用qq邮箱微信也是可以推送邮件提醒的,完全免费。

微信:对于我这种手机一响就会掏出来看一下的人比较方便,可定制化强, 完全免费

QQ:通过OneAlert 110告警机器人实现,具体请查百度”one alert 110告警机器人”


下面来介绍下如何通过 wechat 来配置 zabbix 报警

wechat 报警所具备的一些条件:

1、在 zabbix_server 中配置 alertscript 路径:

2、在 zabbix 界面中确保触发器是已经启用的状态(一般做测试都会临时搭建一个 zabbix_server 出来,通过 ansible 定制包10分钟就可以安装完成)

3、需要申请微信企业号

去该页面申请一个即可:https://qy.weixin.qq.com/
具体操作则是输入基本信息,在邮箱中点击链接进行激活,选择微信企业号类型、信息登记就可以了。


一、安装 simplejson 3.8.2 (Zabbix_Server 端操作)

wget https://pypi.python.org/packages/f0/07/26b519e6ebb03c2a74989f7571e6ae6b82e9d7d81b8de6fcdbfc643c7b58/simplejson-3.8.2.tar.gz#md5=53b1371bbf883b129a12d594a97e9a18
tar zxf simplejson-3.8.2.tar.gz
cd simplejson-3.8.2
python setup.py build
python setup.py install

下载 wechat.py 安装脚本

git clone https://github.com/X-Mars/Zabbix-Alert-WeChat.git
cp Zabbix-Alert-WeChat/wechat.py /usr/local/zabbix/alertscripts/
chmod +x wechat.py

二、企业微信号设置

我起名该企业微信号名称为报警小灵通

1、通讯录设置
点击通讯录,新建一个技术部、接着在技术部下面新建一个子部门 —> 运维小组

并记录运维小组的部门ID(等下修改wechat.py脚本的时候需要该ID号,用于发送报警信息)

在通讯录中添加一个用户(该用户用来发送微信企业号的消息)


2、应用中心设置

创建应用,取名 zabbix 报警,新建消息型应用,填写应用名称、功能介绍、并且选择可见范围 —> 运维小组。

并且记录应用ID(等下修改wechat.py脚本的时候需要该ID号,用于发送报警信息)

3、应用权限设置

点击左侧栏 —> 设置 —> 权限设置 —> 新建管理组,并且设置权限

继续点击刚才新建的小组 —> 权限处理 —> 记录 CorpID与Secret(等下修改wechat.py脚本的时候需要该ID号,用于发送报警信息)

扫二维码即可关注,接收消息


三、wechat 脚本修改(修改部门ID、应用ID、CorpID与SecretID),就是我们刚才所记录的,如果没有记录,可以回头去看

#!/usr/bin/python
#_*_coding:utf-8 _*_import urllib,urllib2
import json
import sys
import simplejsondef gettoken(corpid,corpsecret):gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecretprint  gettoken_urltry:token_file = urllib2.urlopen(gettoken_url)except urllib2.HTTPError as e:print e.codeprint e.read().decode("utf8")sys.exit()token_data = token_file.read().decode('utf-8')token_json = json.loads(token_data)token_json.keys()token = token_json['access_token']return tokendef senddata(access_token,user,subject,content):send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + access_tokensend_values = {"touser":user,    #企业号中的用户帐号,在zabbix用户Media中配置,如果配置不正常,将按部门发送。"toparty":"4",    #企业号中的部门id。"msgtype":"text", #消息类型。"agentid":"6",    #企业号中的应用id。"text":{"content":subject + '\n' + content},"safe":"0"}
#    send_data = json.dumps(send_values, ensure_ascii=False)send_data = simplejson.dumps(send_values, ensure_ascii=False).encode('utf-8')send_request = urllib2.Request(send_url, send_data)response = json.loads(urllib2.urlopen(send_request).read())print str(response)if __name__ == '__main__':user = str(sys.argv[1])     #zabbix传过来的第一个参数subject = str(sys.argv[2])  #zabbix传过来的第二个参数content = str(sys.argv[3])  #zabbix传过来的第三个参数corpid =  'wx5053'   #CorpID是企业号的标识corpsecret = 'FOPk4InFyvHFdz6-_NjeZ9gHN1zJG'  #corpsecretSecret是管理组凭证密钥accesstoken = gettoken(corpid,corpsecret)senddata(accesstoken,user,subject,content)

执行 wechat.py 脚本进行测试,看是否收得到公众号信息,我这边是正常的


四、Zabibx Web 界面设置

1、添加报警媒介

点击管理 —> 报警媒介 —> 创建报警媒介
下图请注意!脚本参数中的第一个是我在微信企业号中创建的用户,并且 hongxue 是该用户的账户,并不是微信号!!!

2、设置用户报警媒介

点击管理 —> 用户 —> 报警媒介(类型为刚才创建的报警媒介、收件人还是选择hongxue)

3、配置触发器

点击配置 —> 动作 —> 创建动作(事件源为触发器),并且设置动作操作


五、验证微信报警是否正常

我做了几个操作,修改 /etc/passwd,并且关闭ssh服务,具体动作日志可以点击报表 —> 动作日志查看

下面可以看到我微信收到企业号推送的报警信息

zabbix wechat 报警相关推荐

  1. linux查看报警信息,linux_监控zabbix微信报警详细步骤

    Zabbix微信报警 1.环境: 系统:CentOS Linux release 7.5.1804 (Core) 内核:3.10.0-862.6.3.el7.x86_64 zabbix已经部署完毕 2 ...

  2. Zabbix - 微信报警

    Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警的及 ...

  3. Zabbix 邮件报警、钉钉报警、微信报警

    文章目录 一.部署server端和agent端 1.实验准备 2.部署zabbix-server[监控端] (1)安装zabbix-server (2)启动mariadb (3)准备数据库及授权 (4 ...

  4. zabbix邮件报警接入,微信报警接入

    本文接上一篇文章http://blog.51cto.com/superleedo/2071393 详细图解zabbix告警功能使用 邮件报警接入 1 添加报警媒介 管理--报警媒介类型--Email ...

  5. 企业级监控软件Zabbix搭建部署之使用mutt+msmtp配置Zabbix邮件报警

    企业级监控软件Zabbix搭建部署之使用mutt+msmtp配置Zabbix邮件报警 [root@Zabbix-Server ~]# wget http://nchc.dl.sourceforge.n ...

  6. Zabbix邮件报警设置方法

    实现目的: 在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱. 具体操作: 以下操作在Zabbix监控服务端进行 备注:Zabbix监控服务端 操 ...

  7. Zabbix邮件报警配置

    一.安装sendmail或者postfix(安装一种即可) yum install sendmail #安装 service sendmail start #启动 chkconfig sendmail ...

  8. zabbix 邮件报警配置

    1.邮箱配置,登陆163邮箱开启smtp和授权: 授权并记住授权码: 2.网页登陆zabbix页面配置 操作配置 名称:from xbz-web 监控信息 默认标题:故障{TRIGGER.STATUS ...

  9. zabbix邮件报警和微信报警

    文章目录 配置zabbix邮件报警和微信报警. 一.邮件报警 1. 配置报警媒介类型 2. 创建用户 创建用户组并设置权限 创建用户 添加报警媒介 设置权限 3. 配置动作 1.创建主机组 2.创建模 ...

最新文章

  1. QTP连接oracle
  2. 将图片的二进制字节 在HTML页面中显示
  3. Qt实现拖动一个lineEdit同时拖动mainwindow
  4. 两种交换排序算法:冒泡排序和快速排序
  5. oracle backup arch,一个数据库备份的例子
  6. synchronized 方法 导致插入数据插不进_synchronized 原理知多少
  7. ERP项目实施记录02
  8. 揭秘315黑客wifi,如何保障APP数据安全
  9. java系列1 环境变量配置
  10. F - 小希的迷宫 (并查集)
  11. Day6-2021.1.14 计算机网络面经从基础到总结+力扣 链表 题目的整理。
  12. 2013全国计算机二级vfp试题,2013年计算机二级VFP上机试题及答案解析29
  13. ArcMap:线、面符号的制作(通用线符号的制作)超详细
  14. 怎样用 16.7 个小时做 40 小时的工作
  15. 为众生温暖,种一颗云上的种子
  16. 黑客谈对一台BT主机的入侵过程
  17. Unity3D中引用Spine2D动画研究学习(一)
  18. python web实战视频教程_知乎萧井陌大神Python Flask WEB后端班课程实战视频教程
  19. 腾讯云网站备案流程步骤、备案审核通过时间详细说明
  20. 云计算有哪些应用领域?

热门文章

  1. 网易互娱游戏研发面经及答案:游戏相关
  2. java umeditor使用,百度UMeditor富文本编辑器java使用
  3. GeoServer基础教程
  4. 软考-软件设计师笔记【原创无样式版】需要笔记请联系
  5. Chapter3 P-N Junction
  6. 一个编程菜鸟向资深攻城狮的进化之路
  7. Feign核心API:Contract
  8. python 今日头条 微头条_今日头条的入门,其实就是‘微头条’
  9. 【STM32H7教程】第94章 STM32H7的SPI总线应用之双机通信(DMA方式)
  10. python 无头模式_搭建谷歌浏览器无头模式抓取页面服务,laravel-php-python-docker !!!...