首页 > 代码库 > Zabbix实现微信平台报警----基于zabbix3.0.4

Zabbix实现微信平台报警----基于zabbix3.0.4

    公司的zabbix监控平台已经搭建完毕,一切都要步入正轨。今天研究的是如何通过微信来实现zabbix的监控报警功能。其实zabbix提供了多种报警方式,最常用的邮件报警,短信报警等。一般来说,短信报警的开支相对于其他报警方式而言,成本会高出很多,所以大多数公司都采用的邮件报警来处理监控异常状态。但是邮件的局限性也是很大的,比如反馈不够及时,比如各种反垃圾邮件设置的拦截等。而如今,微信作为一种流行的沟通工具,不但快捷方便,也能做到及时收到信息。

     这里主要参考了这篇博文:

     http://www.cnyunwei.com/thread-29593-1-1.html(这篇博客整体没问题,但是脚本的代码有点错误,后面我会上传可用的脚本)

     按照步骤走,脚本如下:

CorpID=‘xxxxxxxx‘   #你的corpID

Secret=‘xxxxxxxx‘    #你的secret
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CorpID&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=1 
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@zabbix alertscripts]# pwd
/usr/local/zabbix/share/zabbix/alertscripts

    然后给脚本添加执行权限,并设置属主和属组

[root@zabbix alertscripts]# chmod +x webchat.sh
[root@zabbix alertscripts]# chown zabbix.zabbix webchat.sh
[root@zabbix alertscripts]# ll webchat.sh
-rwxr-xr-x. 1 zabbix zabbix 784 Apr  1 14:55 webchat.sh

    记得去zabbix_server.conf中查一下,默认的报警脚本执行路径是否启用,如果没有,则启用即可

技术分享

    然后重启zabbix服务,接下来配置触发器和报警媒介即可,一切正常。

本文出自 “却邪水心泮” 博客,请务必保留此出处http://shmilyfl.blog.51cto.com/8897986/1912441

Zabbix实现微信平台报警----基于zabbix3.0.4