monicazhang 发表于 2017-8-18 16:22:28

Zabbix 怎样为钉钉报警插件

这是使用Golang为zabbix写的一个钉钉报警插件。
可以将zabbix的报警消息推送给钉钉,实现使用钉钉APP接收zabbix的报警消息。
之前也写过ZABBIX云之家报警插件。
钉钉(阿里)和云之家(金蝶)可以免费无限次的给自己的应用推送消息,而微信有很多限制,要实现推送消息,首先需要缴费认证才可以,所以选择了钉钉和云之家。
下面的教程仅支持zabbix3.0及以上版本。。程序使用方法实际上,本程序是这样发送消息的,下面zabbix配置完成以后,就可以这样调用这个程序来发送消息。您还可以加 -h 或 --help参数来查看帮助。

下载程序golang-zabbix-alter-to-dingding-linux32dl?did=86

golang-zabbix-alter-to-dingding-linux64 dl?did=87
消息效果

下面是部署方法:
[*]注册钉钉企业
[*]部署报警程序
[*]创建报警媒介
[*]创建动作
[*]为用户增加报警媒介

注册钉钉企业
步骤省略
请按照下图获取agentid\corpid\corpsecret



部署报警程序
下载上面的文件,根据你的系统类型部署32位或64位程序。
部署的目录在/etc/zabbix/zabbix_server.conf中查看。
需要注意的是为程序增加执行权限。


创建报警媒介
根据下图的描述,创建你的报警媒介。
请不要遗漏脚本参数,不然会导致收不到消息。
-agentid\-corpid\-corpsecret这三个参数请根据你申请到的如实填写。
-to参数您可以省略(移除该项),也可以写一个或多个例如:
-to=user1
-to=user1|user2|user3

创建动作根据下面图中的描述,创建报警动作。
其中 "color":"FFE61A1A", color后面为消息头部的颜色,您可以自定义。
其中前两位为透明度,后六位为颜色值,您可以通过查询取色器来获取这个颜色值。
动作内容:
1、默认信息

2、恢复信息

2016-08-02增加了xml格式,解决了json中获取zabbix变量不能有引号的问题,推荐使用。

为用户增加报警媒介
为用户增加报警媒介以后,用户才能收到消息。
结语
到了这里,如果您严格按照我写的步骤操作的话,您应该可以收到消息了。
您还可以创建多个报警媒介、动作中创建多个步骤,来实现消息分级。
例如:
1、1-10条消息仅发送给运维,11条开始也要发送给运维主管。
2、某类的消息发给运维的同时,还要发给DBA。

zabbix是个很灵活的工具,希望大家能使用它来帮助自己做更多的事情。
如果您想查看本程序的源码,请访问Github:internelp/golang-zabbix-alter-to-dingding原创:枫叶
页: [1]
查看完整版本: Zabbix 怎样为钉钉报警插件