Zabbix 钉钉报警

话很少说,我们直接进入正题golang

钉钉报警时基于zabbix,访问钉钉应用接口去推送的报警消息,因此咱们须要一个在钉钉建立一个报警应用json

一、  我作的钉钉报警是基于钉钉自定义应用进行推送的因此须要登陆钉钉管理后台进行建立(zabbix自定义应用)运维

image.png

添加自建应用ide

image.png

配置
测试

image.png

完成以后直接提交便可this

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

image.png

image.png


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

image.png


image.png

记住这两个ID一会配置zabbixserver端须要使用3d

 

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


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 

五、测试脚本

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


六、建立一个报警媒介

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


九、查看钉钉信息

image.png


文章到这里就已经结束了,但愿本篇博客能够帮助到您。