zabbix之告警杂谈(钉钉告警)

时间:2022-12-26 08:51:05

    之前公司zabbix一直使用的是微信企业号告警,有时候接口不稳定,报错时而不正常。便在网上查找钉钉企业号告警的配置内容。

与微信告警机制类似,先注册一个企业号,企业号提供一个接口,zabbix通过接口将告警信息发送至json格式文本消息到微信或钉钉

钉钉脚本及方法提供的大神地址:https://www.qiansw.com/golang-zabbix-alter-to-dingding.html



  一、.注册钉钉企业号,并找到发送信息最重要的三个参数CorpID、CorpSecret、AgentID

        1.注册钉钉企业号:(目前只在钉钉app上找到添加入口),在钉钉app上——找到“联系人”——右上角“添加”——“创建团队”填写相应内容,团队人员不可低于6人


        2.查看CorpID、CorpSecret:在钉钉电脑版上,左下角“管理”登录管理平台zabbix之告警杂谈(钉钉告警)zabbix之告警杂谈(钉钉告警)

                   输入管理密码:

                                                               zabbix之告警杂谈(钉钉告警)

           在“企业应用”——“工作台设置”中可以查看CorpID和CorpSecret

zabbix之告警杂谈(钉钉告警)

zabbix之告警杂谈(钉钉告警)


3.添加微应用,成功后可查看agentid

           企业应用——应用管理——自建应用——提交,提交后,进入该应用的设置,可查看agentid

zabbix之告警杂谈(钉钉告警)             zabbix之告警杂谈(钉钉告警)


**************************************************************************************************************************************************

二、在大神的网址中找到的插件文件,安装,并测试插件功能

      (64位linux版)http://file.qiansw.com/usr/uploads/2017/01/golang-zabbix-alter-to-dingding-64

      (32位linux版)http://file.qiansw.com/usr/uploads/2017/01/golang-zabbix-alter-to-dingding-32

  1.将文件上传到zabbix server端的该路径下,并重命名为dingding.golang(源文件是go语言),添加执行权限x

       zabbix之告警杂谈(钉钉告警)

  2.测试插件文件能否发送告警信息到钉钉

        查看UserID,-to传送的参数为UserID(通讯录——组织架构——部门人员)

        zabbix之告警杂谈(钉钉告警)

        进入到插件文件夹下,配置传入参数

        cd /usr/local/zabbix/share/zabbix/alterscripts

       ./dingding.sh -agentid=(钉钉上查看) -corpid=(钉钉上查看) -corpsecret=(钉钉上查看) -to=(钉钉上查看) -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\" }"

zabbix之告警杂谈(钉钉告警)

发送成功,则在钉钉上可查看告警信息(查看详情页为新增微应用时填入的首页地址)

zabbix之告警杂谈(钉钉告警)

*****************************************************************************************************************************************************************

三、配置zabbix告警,关联钉钉插件

zabbix配置告警机制三步骤:添加告警媒介,添加用户,添加动作

     添加告警媒介:管理——报警媒介类型——添加媒介类型

zabbix之告警杂谈(钉钉告警)

     添加用户:管理——用户——创建用户

zabbix之告警杂谈(钉钉告警)zabbix之告警杂谈(钉钉告警)zabbix之告警杂谈(钉钉告警)

添加动作:配置——动作——创建动作

zabbix之告警杂谈(钉钉告警)(具体配置,大神网站上有,就不贴了)zabbix之告警杂谈(钉钉告警)

*******************************************************************************************************************************************************

四、对源码的修改

领导要求统一的告警页面,所以需要对源码进行修改

大神源码的传送门:https://github.com/internelp/golang-zabbix-alter-to-dingding

我就简单添加了所需要的内容,与微信告警不同,钉钉告警的动作定义了所有需要的宏所对应的字符,在go脚本中对告警内容进行调用。

修改区域:zabbix之告警杂谈(钉钉告警)

**********************************************************************************************************************************************************

五、遇到的问题

     1.首先是之前,在微信告警时,在配置ping丢包率的监控项的时候,单位为%,但是告警内容却是显示 “},”,并且后面内容显示不正常。后面的解决方式使用%%,但这样钉钉告警内容的单位也为%%。暂时没有想到好方法,有懂的,请赐教,谢谢

      2.使用下来,感觉钉钉告警不是很稳定,网上有人说,钉钉官方会限制相同字段内容告警,但是如果是zabbix告警时间不同,应该不会有影响,反正我这个告警,我有时候正常,有时候不正常,一般出现三条告警,后面就没了,但是查看zabbix的动作日志却是显示成功送达。有哪位同学有这个经验,或者使用正常的请赐教,如果一样的话,可以使用钉钉群机器人来发送告警,这是大神的配置的内容,问题不大,就不赘诉了(以我现在的能力,不能完全原创,我也很绝望啊,只能分享使用经验了)https://www.qiansw.com/golang-zabbix-dingding-robot.html


                                                                                                                                                                                                                                     2017年4月29日jecht更新

zabbix之告警杂谈(钉钉告警)