8675645 发表于 2017-9-18 10:23:25

调用钉钉群组机器人在当前群组发送Zabbix报警信息

关于钉钉机器人的创建,基本用法详见我另一篇文章《创建自定义机器人》

本实验测试zabbix版本为3.4
接下来我们将直接通过下面的操作完成zabbix报警往我们的钉钉机器人所在群组发送:

首先在附件中下载对应的程序到我们的zabbix server的AlertScriptsPath目录,可以通过以下命令查看目录所在位置

1
grep "AlertScriptsPath" zabbix_server.conf




更改文件的权限为运行zabbix的用户,并给执行权限

1
2
chmod 755 golang-zabbix-robot-64
chown zabbix:zabbixgolang-zabbix-robot-64




测试程序是否能正常运行

1
2
#将webhook更改为自己机器人的
./golang-zabbix-robot-64 -webhook="https://oapi.dingtalk.com/robot/send?access_token=8b0f49960a8f01766343bad90ae26d12488b2a8a233ad417cc095030304907e3"




然后我们就要开始配置我们的zabbix

[*]创建报警媒介

注意:log文件需要自己手工创建
touch /tmp/dingding.log
chown zabbix:zabbix /tmp/dingding.log


[*]给用户添加报警媒介

注意:收件人处随便写都可以

[*]在报警动作中使用此媒介这里只展示报警信息和恢复信息,其它配置还希望能自行学习
以下为报警的信息

以下为恢复信息

注意:默认接收人都随便写就行了


以下为报警信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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>http://zabbix.gogen.cn</url>
<age>{EVENT.AGE}</age>
<status>{EVENT.STATUS}</status>
<acknowledgement> {EVENT.ACK.STATUS} </acknowledgement>
<acknowledgementhistory> {EVENT.ACK.HISTORY}</acknowledgementhistory>
</root>




以下为恢复信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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>http://zabbix.gogen.cn</url>
<age>{EVENT.AGE}</age>
<recoveryTime>{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}</recoveryTime>
<status>OK</status>
</root>




    恢复信息说明:<status>OK</status>默认为OK,这是3.4的zabbix server才这样做,如果你的zabbix server是3.4之前的版本请改为:<status>{EVENT.RECOVERY.STATUS}</status>

最后测试报警信息和恢复信息是否能正常发送,如果发送不成功请查看错误日志
成功后发送到钉钉信息大概如下:


huangdiwang2006 发表于 2017-9-18 23:15:00

{:6_406:}{:6_406:}{:6_406:}
页: [1]
查看完整版本: 调用钉钉群组机器人在当前群组发送Zabbix报警信息