现在很多企业都在使用钉钉,如果用钉钉接收zabbix告警会不会很方便呢,而且钉钉现在有一个群机器人,使调用api异常简单
添加钉钉群机器人
- 选择自定义机器人
-
输入机器人名字
-
获取API
上传zabbix服务端告警脚本
go语言脚本下载地址:http://pan.baidu.com/s/1nv1KU1b 密码:61tb
unzip golang-zabbix-robot-64.zip 先解压脚本
mv golang-zabbix-robot-64 /usr/lib/zabbix/alertscripts/ 将脚本放到zabbix脚本目录,不清楚位置可以查看zabbix.conf配置目录
chmod +x golang-zabbix-robot-64 添加可执行权限
zabbix web端配置
-
创建告警媒介
-
创建用户 创建一个钉钉用户关联钉钉告警脚本媒介
-
创建动作
默认信息
<?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>
验证
- 等待告警出现,查看报表中动作日志。
- 钉钉告警展示