一、概述
群机器人是钉钉群的高级扩展功能。群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。例如:通过聚合GitHub,GitLab等源码管理服务,实现源码更新同步;通过聚合Trello,JIRA等项目协调服务,实现项目信息同步。不仅如此,群机器人支持Webhook协议的自定义接入,支持更多可能性,例如:你可将运维报警提醒通过自定义机器人聚合到钉钉群。
二、 钉钉机器人创建
在钉钉内发起群聊或创建群组
创建钉钉机器人
添加自定义机器人,记录webhook值
三、zabbix配置
3.1下载编写好的程序文件到zabbix的/usr/lib/zabbix/alertscripts目录
下载url:下载页面
解压更改名称为dingding.sh
并且chmod +x dingding.sh && chown zabbix.zabbix dingding.sh
创建/tmp/dingding.log 并更改属主为zabbix
3.2报警媒介类型
-webhook:为钉钉机器人的webhook
-msg:为zabbix定义的告警message
-url:为zabbix的调用url
-log:为记录日志,对应与zabbix server的日志文件
3.3 配置动作
配置---动作,添加钉钉告警动作
定义名称
定义动作操作
告警默认信息内容如下:
<?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</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>
<age>{EVENT.AGE}</age>
<recoveryTime>{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}</recoveryTime>
<status>{EVENT.RECOVERY.STATUS}</status>
</root>
3.4 配置用户告警媒介
由于钉钉告警在告警消息参数里面已经指定钉钉机器人的webhook,在收件人可以随便填写