引言
在前面的博客中我们介绍了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: [email protected]
# 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!
第五、页面配置
创建媒介类型和我们配置邮件报警步骤一样
第六、配置用户
第七、配置触发器
步骤和前面的博客中的配置步骤一样
第八测试、
小结
到这关于微信报警的配置就已经完成了,希望对读者有所帮助!