话不多说,咱们直接进入正题

钉钉报警时基于zabbix,访问钉钉应用接口去推送的报警消息,所以我们需要一个在钉钉创建一个报警应用

1、  我做的钉钉报警是基于钉钉自定义应用进行推送的所以需要登录钉钉管理后台进行创建(zabbix自定义应用)

image.png

添加自建应用

image.png

配置

image.png

完成之后直接提交即可

2、创建完毕之后需要查看此应用的agentid 并进行复制(一会在zabbix服务端配置会用到)

image.png

image.png


3、点击à应用开发,复制corpid,和corpSecret

image.png


image.png

记住这两个ID一会配置zabbixserver端需要使用

 

到这里在钉钉平台上创建的自定义应用就完毕了


4、现在配置服务端

上传文件到golang-zabbix-alter-to-dingding-64 -à   /usr/local/zabbix/share/zabbix/alertscripts

chmod +x /usr/local/zabbix/share/zabbix/alertscripts/*

zabbix_server.conf 添加

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

这是指定脚本位置

/etc/init.d/zabbix_server restart 

5、测试脚本

golang-zabbix-alter-to-dingding.exe -agentid=应用ID -corpid=corpidID  -corpsecret=CorpasecertID -to=06511352172666 -msg="{ \"from\": \"Tomcat03\", \"time\": \"2016.07.28 14:45:24\", \"level\": \"Warning\", \"name\": \"Response time is too high on Tomcat03\", \"key\": \"icmppingsec\", \"value\": \"31ms\", \"now\": \"31ms\", \"id\": \"1618\", \"ip\": \"10.139.105.107\", \"color\":\"FF4A934A\", \"age\":\"3m\", \"recoveryTime\":\"2016.07.28 14:48:24\", \"status\":\"OK\" }"


6、创建一个报警媒介

image.png

image.png

以上agentidcorpidsecret等按要求写就行,-to是发送给谁,这个指定了一个,也可以指定多个,如果不写会默认发送到所有运维组。在钉钉里边点击个人查看

-msg为发送消息的内容{}里面是变量。--style=xml  指定发送文件格式,默认为json格式


7、配置独立用户的报警

image.png

image.png


 

8、配置监控动作

image.png

image.png

image.png

<?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>FFE61A1A</color>

  <url>http://60.205.249.122:5521</url>

  <age>{EVENT.AGE}</age>

  <status>{EVENT.STATUS}</status>

<acknowledgement> {EVENT.ACK.STATUS} </acknowledgement>

<acknowledgementhistory> {EVENT.ACK.HISTORY}</acknowledgementhistory>

</root>


image.png


<?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://60.205.249.122:5521</url>

  <age>{EVENT.AGE}</age>

  <recoveryTime>{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}</recoveryTime>

  <status>OK</status>

</root>



配置完毕直接保存。

测试:关闭一台监控端的agent进程

查看自带的日志是否发送

image.png


9、查看钉钉信息

image.png


文章到这里就已经结束了,希望本篇博客可以帮助到您。