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/注册帐号登入

zabbix3.2.6微信报警_第1张图片


 

zabbix3.2.6微信报警_第2张图片


 

zabbix3.2.6微信报警_第3张图片


 

zabbix3.2.6微信报警_第4张图片


 

zabbix3.2.6微信报警_第5张图片

 


 

Agentid,Secret 位置:

zabbix3.2.6微信报警_第6张图片


 

 

Corp 位置

zabbix3.2.6微信报警_第7张图片

 

 

 

 

 

 

步骤二:配置脚本文件

 

 

 

下载程序

 

 

下载地址:

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 脚本放置路径:


 

zabbix3.2.6微信报警_第8张图片

 

 


我的路径设置在/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 文件,配置你的企业号 corpidsecret

 

agentid

 

[root@localhost alertscripts]# vim /etc/weixincfg.json


zabbix3.2.6微信报警_第9张图片

 



 

测试

 

 

[root@localhost alertscripts]# ./weixin XXX subject body Ok

 

 

测试图片:

zabbix3.2.6微信报警_第10张图片

  

 

 

解释一下(这里我只是演示,具体的你要替换成你自己的信息,切不可按图索骥

 

 

*           xxx 为你的微信账号!注意不是微信号!也不是微信昵称!当然你也可以把用户账号设置成微

 

信号或者微信昵称,自己设置!

subject告警主题

boyd告警内容


 

介于多数人分不清楚,这里解释一下:

 

在微信企业号里,成员要关注企业号,需要审核,审核之后每个人会赋予一个账

 

号。

 

zabbix3.2.6微信报警_第11张图片


 

个人账号

zabbix3.2.6微信报警_第12张图片


 

如果发送显示“OK”,表示发送成功,应该就会收到消息!

 

 

 

还有一点要注意,发送的信息只有你个人能看到,如有组里有多人其它人是看不到你的告警的。


 

 

步骤三:zabbix 前端设置

 

 

 

 

zabbix3.2.6微信报警_第13张图片

 


 

添加后:

zabbix3.2.6微信报警_第14张图片


 

zabbix3.2.6微信报警_第15张图片

  

注意,下面的收件人里填的是需要收告警的人的微信账号!多个人中间用“|”号隔开

zabbix3.2.6微信报警_第16张图片


 

zabbix3.2.6微信报警_第17张图片

 


 

告警内容是我自己定制的,大家可以参考我的,直接复制过去用

 

告警主题:


 

[{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}


 

zabbix3.2.6微信报警_第18张图片


 

zabbix3.2.6微信报警_第19张图片

 

 


告警恢复内容复制过去

 

 

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}

zabbix3.2.6微信报警_第20张图片


 

zabbix3.2.6微信报警_第21张图片

 

 


添加完成后


 

zabbix3.2.6微信报警_第22张图片

 


 


至此设置完成!

 

 

 

测试

 

 

创建主机 test15 ,设置个没有使用的 IP 为地址,用 fping ICMP 不可达触发测试

zabbix3.2.6微信报警_第23张图片


 

zabbix3.2.6微信报警_第24张图片

 


信息效果:

zabbix3.2.6微信报警_第25张图片


 

企业微信测试完毕,同步手机app微信

 

zabbix3.2.6微信报警_第26张图片

 

扫码关注企业号

 

zabbix3.2.6微信报警_第27张图片

 

消息群发

 

zabbix3.2.6微信报警_第28张图片

 

打开企业微信和微信查看是否收到消息

 

zabbix3.2.6微信报警_第29张图片

在关注的公众号里面找到刚刚关注的查看里面是否有消息

 

zabbix3.2.6微信报警_第30张图片

 

测试是否发送报警,关闭一个客户端试试

 

zabbix3.2.6微信报警_第31张图片


FAQ:

 

A.测试不能通过,返回 errcode!

 

 

1.检查/etc/weixincfg.json 文件里的 corpid,secert,agentid 配置是否正确

 

2.检查接受者企业账号是否正确

 

3.检查接受着是否在这个应用的通讯录里

 

 

 

B.zabbix 不能收到告警消息

 

1.检查发送程序有无可执行权限

 

2.检查发送程序是否在 zabbix server 的 AlertScriptsPath 目录下

 

3.检查是否关联到用户

 

4.检查是否掉用了发送动作

 

 

 

C.   发送限制

 

1.发送频率基本可以满足需求,没有别的限制。

 

2.每日发送次数有一定限制,具体与企业号关注人数有关,详情查看企业号开发文档