Zabbix-3.0.3实现钉钉告警

版本:v1.0

作者:白树潮


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

一、创建钉钉机器人推送告警信息

添加一个机器人即可

复制webhook API后面会调用接口去推送告警信息

配置zabbix

下载程序:go语言写的一个api程序

https://cucc.file.qiansw.com:1443/2017/02/golang-zabbix-robot-64.zip

部署程序:

[root@tom01 ~]# cp golang-zabbix-robot-64 /usr/local/zabbix/share/zabbix/alertscripts/

#复制到zabbix脚本目录下

[root@tom01 ~]# chmod 775/usr/local/zabbix/share/zabbix/alertscripts/golang-zabbix-robot-64

#程序增加执行权限

添加报警媒介

默认信息

<?xml version="1.0" encoding="UTF-8" ?>

<root>

 <from>{HOSTNAME1}</from>

 <time>{EVENT.DATE} {EVENT.TIME}</time>

 <level>{TRIGGER.SEVERITY}</level>

 <name>{TRIGGER.NAME}</name>

 <key>{TRIGGER.KEY1}</key>

 <value>{ITEM.VALUE}</value>

 <now>{ITEM.LASTVALUE}</now>

 <id>{EVENT.ID}</id>

 <ip>{HOST.IP}</ip>

 <url>这里是点击报警消息可以访问的链接地址</url>

 <age>{EVENT.AGE}</age>

 <status>{EVENT.STATUS}</status>

<acknowledgement> {EVENT.ACK.STATUS} </acknowledgement>

<acknowledgementhistory> {EVENT.ACK.HISTORY}</acknowledgementhistory>

</root>

恢复信息

<?xml version="1.0" encoding="UTF-8" ?>

<root>

 <from>{HOSTNAME1}</from>

 <time>{EVENT.DATE} {EVENT.TIME}</time>

 <level>{TRIGGER.SEVERITY}</level>

 <name>{TRIGGER.NAME}</name>

 <key>{TRIGGER.KEY1}</key>

 <value>{ITEM.VALUE}</value>

 <now>{ITEM.LASTVALUE}</now>

 <id>{EVENT.ID}</id>

 <ip>{HOST.IP}</ip>

 <color>FF4A934A</color>

 <url>这里的url会替换报警媒介的url</url>

 <age>{EVENT.AGE}</age>

 <recoveryTime>{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}</recoveryTime>

 <status>{EVENT.RECOVERY.STATUS}</status>

</root>

创建动作

为用户增加报警媒介

测试:

为了验证效果我们停掉nginx进行查看报警

[root@nginx ~]# killall nginx