引言
在前面的博客中我们介绍了zabbix3.0中的邮件报警的配置,但是对于邮件来说并不是非常的方便,所以我们在这篇博客中我们介绍另外一种报警方式——微信报警。
第一、准备微信企业号
关于企业微信号的注册和配置,请请大家参考博客:http://www.iyunv.com/thread-166308-1-1.html
第二、关于企业号中配置的几个重点
1、查看部门ID:
2、新建应用的时候选择消息型应用 并记录应用ID
3、设置管理组
比较重要的大概就是上面这么几点。
第三、准备脚本
#!/bin/bash ######################################################################### # File Name: weixin.sh # Author: shaonbean # Email: shaonbean@qq.com # Created Time: Sun 24 Jul 2016 05:48:14 AM CST ######################################################################### # Functions: send messages to wechat app # set variables CropID='wxda13247ee2c2ff9b' Secret='vJg7Q2H28_3qkjBsl2IxnLrHTP-3_SerljJvrrlHDLczqS1Vib8_umQHEQRi3kZs' GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret" #get acccess_token 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=1 #企业号中的应用id local UserID="touser" #部门成员id,zabbix中定义的微信接收者 local PartyID=2 #部门id,定义了范围,组内成员都可接收到消息 local Msg=$(echo "$@" | cut -d" " -f3-) #过滤出zabbix传递的第三个参数 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 $! $2 $3)" $PURL
将脚本weixin.sh 放在 /usr/lib/zabbix/alertscripts目录下,和我们配置的邮件报警的脚本放在同一目录下面。
第三、微信接口调用
调用微信接口需要一个调用接口的凭证:access_token
通过CorpID和Secret可以获得access_token
微信企业号接口调试地址: http://qydev.weixin.qq.com/debug
第四、脚本测试
进入 /usr/lib/zabbix/alertscripts 执行命令 bash weixin.sh test hello.world!
第五、页面配置
创建媒介类型和我们配置邮件报警步骤一样
第六、配置用户
第七、配置触发器
步骤和前面的博客中的配置步骤一样
第八测试、
小结
到这关于微信报警的配置就已经完成了,希望对读者有所帮助!