下载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


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


wKioL1m45oyzCfnaAABYo-aWXu4373.png

wKiom1m45rjAiakoAAPM9tbMbLg568.jpg

wKiom1m45raSE8RMAAB0qNtzskM331.png

wKioL1m45o2ToRKEAADPzEF0OI0275.png


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

wKioL1m45o_hMnP5AAGqCVHaKKs882.jpg


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

wKiom1m45riC5hNPAAG87DO1QtY983.jpg

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

wKiom1m45rbTMSdaAADmI-AetQc342.png


在下面获取corpid和secret:

wKiom1m46JTjhcTBAAEqAfmhQhA342.jpg

wKioL1m46GuhjmZ2AABPGztlhUY654.png


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

wKioL1m46Wuh3mNvAAHZQ3oATEE653.jpg

wKiom1m46ZaQIZbDAABiJLwFyqY962.png


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

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



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

wKiom1m46ybicWIFAAGoG65G_9U015.jpg

默认信息里:

{
  "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}"
}