zabbix报警媒介------>微信报警
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
欢迎加入高级运维工程师之路:598432640
微信在我们的生活中使用的比较频繁,有时候你们发现身上没带钱,照样可以购物啥的,之前我们介绍了zabbix监控媒介的一种方式就是
邮件报警,但是邮件报警可能我们不会及时看到相应的信息,因此,微信就是一个不错的媒介工具。哎~再实现监控报警的过程中是很痛苦的,
幸好我的一个贵人(曹艳飞)给我指点迷津,才有了今天的这篇文章,所以花点时间记录一下这个过程,希望大家不要踩坑了。
一.申请微信公众号
1.根据官网的提示注册一个微信公众号。
https://qy.weixin.qq.com/
2.选择企业号
3.填写相应的信息
4.绑定一个手机号
5.注册成功
6.添加一个成员,到时候监控的消息会发到这个用户上的
7.创建应用中心
8.创建一个管理者用户
9.微信接口调用
微信企业号接口调试地址:
调用微信接口需要一个调用接口的凭证:access_token
通过CorpID和Secret可以获得access_token
zabbix服务器端配置
1.修改配置文件,在配置文件添加报警脚本路径的存放位置
[root@yinzhengjie ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
添加下面的一行,请根据你的实际安装情况来确定路径哟:
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
[root@yinzhengjie ~]# /etc/init.d/zabbix_server restart
添加完毕重启服务
2.编写发送微信的shell脚本
[root@yinzhengjie ~]# cd /usr/local/zabbix/share/zabbix/alertscripts
[root@yinzhengjie alertscripts]# more weixin.sh
#!/bin/bashCropID='wxc1d03e690e8df6dc' //这个地方是你的corpidSecret='EcVKMs5QikQc60P0D5qrgyhl3bo9F0Rn4x6NnRADWhy_3EONshXa197MCkbyXy_j' //这个地方是你的corpsecret,这个和上面的cropID跟你您的实际情况修改
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret" Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" '{print $4}')PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"function body() { local int AppID=3 //此处是企业号中的应用
id,你需要根据你的实际情况来定。
local UserID=$1 local PartyID=1 local Msg=$(echo "$@" | cut -d" " -f3-) printf '{\n' printf '\t"touser": "'"$UserID"\"",\n" printf '\t"toparty": "'"$PartyID"\"",\n" printf '\t"msgtype": "text",\n' printf '\t"agentid": "'" $AppID "\"",\n" printf '\t"text": {\n' printf '\t\t"content": "'"$Msg"\""\n" printf '\t},\n' printf '\t"safe":"0"\n' printf '}\n'}/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL
[root@yinzhengjie alertscripts]#
如何查看你的应用ID
3.在zabbix的web端配置报警媒介
1>.添加报警媒介
2>.配置用户
3>.定义发件人和报警媒介类型
4>.点击更新
4.定义action
1>.开启恢复告警提示
2>.添加想匹配的action的触发器
3>.定义具体操作步骤
在仪表盘中查看短信的发送结果
好了,以上就是服务器设置的过程,下面。看看你的微信是否收到报警了吧