话很少说,我们直接进入正题golang
钉钉报警时基于zabbix,访问钉钉应用接口去推送的报警消息,因此咱们须要一个在钉钉建立一个报警应用json
一、 我作的钉钉报警是基于钉钉自定义应用进行推送的因此须要登陆钉钉管理后台进行建立(zabbix自定义应用)运维
添加自建应用ide
配置
测试
完成以后直接提交便可this
2、建立完毕以后须要查看此应用的agentid 并进行复制(一会在zabbix服务端配置会用到)url
3、点击à应用开发,复制corpid,和corpSecret spa
记住这两个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\" }"
六、建立一个报警媒介
以上agentid、corpid、secret等按要求写就行,-to是发送给谁,这个指定了一个,也能够指定多个,若是不写会默认发送到全部运维组。在钉钉里边点击我的查看
-msg为发送消息的内容{}里面是变量。--style=xml 指定发送文件格式,默认为json格式
7、配置独立用户的报警
8、配置监控动做
<?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>
<?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进程
查看自带的日志是否发送
九、查看钉钉信息
文章到这里就已经结束了,但愿本篇博客能够帮助到您。