下载golang编写的钉钉插件(附件中已上传,可直接下载):


修改zabbix server配置文件:

1
2
vi /usr/local/zabbix/etc/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/etc/alertscripts


把下载好的golang插件上传至/usr/local/zabbix/etc/alertscripts目录下:

1
2
cd /usr/local/zabbix/etc/alertscripts
chmod +x golang-zabbix-alter-to-dingding-64


注册钉钉企业号,不需要认证:


zabbix监控钉钉报警配置

zabbix监控钉钉报警配置

zabbix监控钉钉报警配置

zabbix监控钉钉报警配置


建立一个第三方应用即可:(截图很麻烦,懒得整理了。)

zabbix监控钉钉报警配置


下面那个部门选择之前创建的,这里用的是运维部,zabbix如果不添加参数,默认是发给所有运维部的人。

zabbix监控钉钉报警配置

打开刚刚创建的应用,可以获取agentid,这个后面要用。

zabbix监控钉钉报警配置


在下面获取corpid和secret:

zabbix监控钉钉报警配置

zabbix监控钉钉报警配置


得到这些以后剩下的就是在zabbix配置:

zabbix监控钉钉报警配置

zabbix监控钉钉报警配置


以上agentid、corpid、secret等按要求写就行,-to是发送给谁,这个指定了一个,也可以指定多个,如果不写会默认发送到所有运维组。

-msg为发送消息的内容{}里面是变量。



最后在动作中添加钉钉监控就可以了。

zabbix监控钉钉报警配置

默认信息里:

{
  "from": "{HOSTNAME1}",
  "time": "{EVENT.DATE} {EVENT.TIME}",
  "level": "{TRIGGER.SEVERITY}",
  "name": "{TRIGGER.NAME}",
  "key": "{TRIGGER.KEY1}",
  "value": "{ITEM.VALUE}",
  "now": "{ITEM.LASTVALUE}",
  "id": "{EVENT.ID}",
  "ip": "{HOST.IP}",
  "color":"FFE61A1A",
  "age":"{EVENT.AGE}",
  "status":"{EVENT.STATUS}"
}

恢复默认信息:

{
  "from": "{HOSTNAME1}",
  "time": "{EVENT.DATE} {EVENT.TIME}",
  "level": "{TRIGGER.SEVERITY}",
  "name": "{TRIGGER.NAME}",
  "key": "{TRIGGER.KEY1}",
  "value": "{ITEM.VALUE}",
  "now": "{ITEM.LASTVALUE}",
  "id": "{EVENT.ID}",
  "ip": "{HOST.IP}",
  "color":"FF4A934A",
  "age":"{EVENT.AGE}",
  "recoveryTime":"{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}",
  "status":"{EVENT.RECOVERY.STATUS}"
}