版本:v1.0
作者:白树潮
Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合钉钉作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警的及时处理。
一、创建钉钉机器人推送告警信息
添加一个机器人即可
复制webhook API后面会调用接口去推送告警信息
配置zabbix
下载程序:go语言写的一个api程序
https://cucc.file.qiansw.com:1443/2017/02/golang-zabbix-robot-64.zip
部署程序:
[[email protected] ~]# cp golang-zabbix-robot-64 /usr/local/zabbix/share/zabbix/alertscripts/
#复制到zabbix脚本目录下
[[email protected] ~]# 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进行查看报警
[[email protected] ~]# killall nginx