实现zabbix的微信报警

传送门:
 Zabbix的Server端的源码安装:  http://www.jianshu.com/p/a861afe42394
 LNMP的源码安装:  http://www.jianshu.com/p/4699bcb04633
 Zabbix-3.0的Agent端在CentOS 7.3的源码安装实践: http://www.jianshu.com/p/2e4c535ca53a
 脚本部署zabbix_agentd:  http://www.jianshu.com/p/88f079c334ce

1.首先,你需要有一个微信企业号
(公众号一定要用企业号,个人的是做不了报警的)
申请地址:https://qy.weixin.qq.com/
在之后的过程中,你还需要有:


一个实名认证的[微信号]

一个可以使用的[手机号]
一个可以登录的[邮箱号]


实现zabbix的微信报警_第1张图片
微信公众号注册.png

#######在这里你需要添加子部门,并添加相应的用户
(这里的用户需要通过认证后才可以收到消息)


实现zabbix的微信报警_第2张图片
注册后效果.png

在应用中心,新建应用,选择消息型应用

实现zabbix的微信报警_第3张图片
新建の应用.png
实现zabbix的微信报警_第4张图片
建好の应用.png

在设置--权限管理--新建管理组

实现zabbix的微信报警_第5张图片
管理员我这里不够用了没有添加,点击就可以

设置权限

实现zabbix的微信报警_第6张图片
给管理组设置权限.png
这里的CorpID和Secret需要记好,后边还有用
实现zabbix的微信报警_第7张图片
设置好的效果.png

到这里,微信企业公众号的设置就可以结束了


Zabbix_Server端的设置
写脚本到zabbix_server的/usr/local/zabbix/share/zabbix/alertscripts/目录下

(注意需要修改脚本中的CropID和Secret)
[root@zabbix alertscripts]# vim weixin.sh
#!/bin/bash
###SCRIPT_NAME:weixin.sh###
###send message from weixin for zabbix monitor###
###cuiss###
###V1-2016-01-01###

CropID='??????????????'
Secret='?????????-??????????-??????????'
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret" 
Gtoken=$(/usr/bin/curl  $GURL -H "DNT: 1" -H "Accept-Encoding: gzip, deflate" -H "Accept-Language: zh-CN,zh;q=0.8" -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 BIDUBrowser/8.1 Safari/537.36" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" -H "X-DevTools-Emulate-Network-Conditions-Client-Id: B546FC80-414C-403F-95F0-EB0F70E58EF7" -H "Connection: keep-alive" -H "Cache-Control: max-age=0" --compressed | awk -F \" '{print $4}')

PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"
function body() {
        local int appId=1
        local userId=$1
        local partyId=2
        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"\"
        printf '\n\t},\n'
        printf '\t"safe":"0"\n'
        printf '}\n'
}
body $1 $2 $3
/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL
[root@zabbix alertscripts]# chmod +x weixin.sh
[root@zabbix alertscripts]# chown zabbix:zabbix weixin.sh

在zabbix的web页面进行添加
管理--示警媒介类型--创建媒体类型

实现zabbix的微信报警_第8张图片
image.png

管理--用户--示警媒介--添加

实现zabbix的微信报警_第9张图片
image.png

组态--动作--Report problems to Zabbix administrators--操作

实现zabbix的微信报警_第10张图片
image.png

这时就可以关闭一个zabbix_agent,看看微信上有没有收到提示吧

实现zabbix的微信报警_第11张图片
image.png
微信报警
以上为我的zabbix微信报警部署过程,由于是部署完成后才进行的总结,可能有部分遗漏,仅提供参考

你可能感兴趣的:(实现zabbix的微信报警)