zabbix微信报警——适用于zabbix3.0版本以上
基础信息:
内核版本:Linux version 2.6.32-431.el6.x86_64
LINUX 版本:CentOS release 6.5 (Final)
Zabbix 版本:3.2.6
步骤一:申请企业号
企业微信就可以
https://work.weixin.qq.com/注册帐号登入
Agentid,Secret 位置:
Corp 位置
步骤二:配置脚本文件
下载程序
下载地址:
http://dl.cactifans.org/tools/zabbix_weixin.x86.tar.gz
zabbix_weixin.x86.tar.gz(Linux32 位版本)
http://dl.cactifans.org/tools/zabbix_weixin.x86_64.tar.gz
zabbix_weixin.x86_64.tar.gz(Linux64 位版本)
部署步骤
查看 zabbix_server.conf 配置文件 AlertScripts 脚本放置路径:
我的路径设置在/usr/local/zabbix-server/share/zabbix/alertscripts,把下载的 zabbix_weixin 文件放在上述路径中,
[root@localhost ~]# cp /home/zabbix/zabbix_weixin.x86_64.tar.gz /usr/local/zabbix-server/share/zabbix/alertscripts/ [root@localhost ~]# cd /usr/local/zabbix-server/share/zabbix/alertscripts/ [root@localhost alertscripts]# ll total 1912 -rwxr-xr-x 1 zabbix zabbix 394 May 25 10:12 dingding.sh -rw-r--r-- 1 root root 1950778 Jun 6 15:53 zabbix_weixin.x86_64.tar.gz [root@localhost alertscripts]# tar zxvf zabbix_weixin.x86_64.tar.gz zabbix_weixin/ zabbix_weixin/weixin zabbix_weixin/weixincfg.json [root@localhost alertscripts]# mv zabbix_weixin/weixin . [root@localhost alertscripts]# chown zabbix.zabbix weixin [root@localhost alertscripts]# chmod +x weixin [root@localhost alertscripts]# ll total 8620 -rwxr-xr-x 1 zabbix zabbix 394 May 25 10:12 dingding.sh -rwxr-xr-x 1 zabbix zabbix 6868856 Jan 27 2016 weixin [root@localhost alertscripts]# mv zabbix_weixin/weixincfg.json /etc/ [root@localhost alertscripts]# chown zabbix.zabbix /etc/weixincfg.json [root@localhost alertscripts]# rm -rf zxvf zabbix_weixin.x86_64.tar.gz
接下来一步很重要,编辑/etc/weixincfg.json 文件,配置你的企业号 corpid,secret,
agentid,
[root@localhost alertscripts]# vim /etc/weixincfg.json
测试
[root@localhost alertscripts]# ./weixin XXX subject body Ok
测试图片:
解释一下(这里我只是演示,具体的你要替换成你自己的信息,切不可按图索骥)
xxx 为你的微信账号!注意不是微信号!也不是微信昵称!当然你也可以把用户账号设置成微
信号或者微信昵称,自己设置!
subject告警主题
boyd告警内容
介于多数人分不清楚,这里解释一下:
在微信企业号里,成员要关注企业号,需要审核,审核之后每个人会赋予一个账
号。
个人账号
如果发送显示“OK”,表示发送成功,应该就会收到消息!
还有一点要注意,发送的信息只有你个人能看到,如有组里有多人其它人是看不到你的告警的。
步骤三:zabbix 前端设置
添加后:
注意,下面的收件人里填的是需要收告警的人的微信账号!多个人中间用“|”号隔开
告警内容是我自己定制的,大家可以参考我的,直接复制过去用
告警主题:
[{TRIGGER.SEVERITY}]服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
告警内容:
地址:{HOST.IP}
告警主机: {HOSTNAME1}
主机分组: {TRIGGER.HOSTGROUP.NAME}
告警时间: {EVENT.DATE} {EVENT.TIME}
告警等级: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目: {TRIGGER.KEY1}
问题详情: {ITEM.NAME}:{ITEM.VALUE}
当前状态: {TRIGGER.STATUS}
事件 ID: {EVENT.ID}
告警恢复内容复制过去
1恢复主题:
2[{TRIGGER.SEVERITY}]服务器:{HOSTNAME1}{TRIGGER.NAME}已恢复!
3恢复内容:
4告警主机: {HOSTNAME1}
5主机分组: {TRIGGER.HOSTGROUP.NAME}
6告警时间: {EVENT.DATE} {EVENT.TIME}
7告警等级: {TRIGGER.SEVERITY}
8告警信息: {TRIGGER.NAME}
9告警项目: {TRIGGER.KEY1}
10问题详情: {ITEM.NAME}:{ITEM.VALUE}
11当前状态: {TRIGGER.STATUS}
12事件 ID: {EVENT.ID}
添加完成后
至此设置完成!
测试
创建主机 test15 ,设置个没有使用的 IP 为地址,用 fping 做 ICMP 不可达触发测试
信息效果:
企业微信测试完毕,同步手机app微信
扫码关注企业号
消息群发
打开企业微信和微信查看是否收到消息
在关注的公众号里面找到刚刚关注的查看里面是否有消息
测试是否发送报警,关闭一个客户端试试
FAQ:
A.测试不能通过,返回 errcode!
1.检查/etc/weixincfg.json 文件里的 corpid,secert,agentid 配置是否正确
2.检查接受者企业账号是否正确
3.检查接受着是否在这个应用的通讯录里
B.zabbix 不能收到告警消息
1.检查发送程序有无可执行权限
2.检查发送程序是否在 zabbix server 的 AlertScriptsPath 目录下
3.检查是否关联到用户
4.检查是否掉用了发送动作
C. 发送限制
1.发送频率基本可以满足需求,没有别的限制。
2.每日发送次数有一定限制,具体与企业号关注人数有关,详情查看企业号开发文档