21运维原创,转载请注明出处。
首先,该操作是非常简单的。而且通过微信辅助邮件报警是一个非常好的选择,现在微信这么普及而且免费。短信报警也是非常好的,只不过都是双刃剑,如果晚上出现网络波动发送报警,那么这个是很头疼的,严重影响睡眠。 下边简单说下zabbix实现微信报警的步骤。
1,申请一个微信企业号。
申请的时候可以自己填写一个XXX工作室之类的名字,这个不影响。具体不做详细阐述,可以参考http://wuhf2015.blog.51cto.com/8213008/1688614说明去申请和设置。我这里创建了两个账号,一个manager01和manager02
2,zabbix server端进行shell脚本设置,这里我们操作的是weixin.sh。
PS:微信企业号升级成了企业微信,shell脚本有两处改动:1,awk获取token那里参数改成$10。 2,每个报警应用下边都有一个Secret,多个报警的时候需要改动这里进行单独实现。不再是之前的一个通用CropID和Secret了。
/usr/local/zabbix/alertscripts [root@21yunwei alertscripts]# vim weixin.sh #!/bin/bash CropID='XXXXXXXX' Secret='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret" #Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F" '{print $4}') Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F" '{print $10}') 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 'tt"content": "'"$Msg"""n" printf 't},n' printf 't"safe":"0"n' printf '}n' } /usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL
chmod +x weixin.sh
脚本是否正常,我们可以先自己执行测试。比如执行:
sh weixin.sh manager01 testsub testcomtent 看下是否微信可以接收到消息,接收到说明成功,如果接受失败,那么设置有问题,需简单之前的步骤是否都操作对了。
3,创建报警媒介、action和设置报警接收
创建报警媒介,这里相信大家都不陌生。我这里创建的情况是:
创建action:报警步骤这里不详细说了,我只是写一点微信报警的内容,其他的都一样。创建action的步骤可以参考《zabbix 如何通过action进行报警配置》
n 报警问题:{TRIGGER.NAME}n 报警主机:{HOSTNAME}n 报警时间:{EVENT.TIME}n 报警状态:{TRIGGER.STATUS}n 报警级别:{TRIGGER.SEVERITY}
加行n是为了换行。
好了,设置下微信报警接收人员:
保存后测试下效果。
比如我们useradd -M test123,添加以后就可以收到微信报警了。
更多监控报警方面内容,请查看21运维网站zabbix相关教程。
转载请注明:西数超哥博客www.ysidc.top» Zabbix监控平台如何通过使用微信接口实现微信报警
https://www.ysidc.top 西数超哥博客,数据库,西数超哥,虚拟主机,域名注册,域名,云服务器,云主机,云建站,ysidc.top