Zabbix监控平台如何通过使用微信接口实现微信报警 – 21运维
通知: .-...

Zabbix监控平台如何通过使用微信接口实现微信报警

Zabbix 21运维 19793浏览 0评论

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 '\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

chmod +x weixin.sh
脚本是否正常,我们可以先自己执行测试。比如执行:
sh weixin.sh manager01 testsub  testcomtent 看下是否微信可以接收到消息,接收到说明成功,如果接受失败,那么设置有问题,需简单之前的步骤是否都操作对了。

3,创建报警媒介、action和设置报警接收
创建报警媒介,这里相信大家都不陌生。我这里创建的情况是:
1

 

创建action:报警步骤这里不详细说了,我只是写一点微信报警的内容,其他的都一样。创建action的步骤可以参考《zabbix 如何通过action进行报警配置

1

\n
报警问题:{TRIGGER.NAME}\n
报警主机:{HOSTNAME}\n
报警时间:{EVENT.TIME}\n
报警状态:{TRIGGER.STATUS}\n
报警级别:{TRIGGER.SEVERITY}

加行\n是为了换行。

好了,设置下微信报警接收人员:
2

保存后测试下效果。
比如我们useradd  -M test123,添加以后就可以收到微信报警了。

1

更多监控报警方面内容,请查看21运维网站zabbix相关教程。

转载请注明:21运维 » Zabbix监控平台如何通过使用微信接口实现微信报警

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (4)

  1. 首先,该操作是非常简单的。而且通过微信辅助邮件报警是一个非常好的选择,现在微信这么普及而且免费。短信报警也是非常好的,只不过都是双刃剑,如果晚上出现网络波动发送报警,那么这个是很头疼的,严重影响睡眠。
    马化腾2019-10-14 16:48 回复
  2. 运行脚本时出现curl: (7) couldn't connect to host,请问怎么解决?谢谢 访问PURL时出现: errcode 82001 errmsg "All touser & toparty & totag invalid, hint: [1527417167_1_e4568fce027e50c7146d35b618d8f60c], more info at https://open.work.weixin.qq.com/devtool/query?e=82001"
    king2018-05-27 18:49 回复
  3. 乱码啊,怎么解决
    别云间2017-06-19 17:52 回复
    • 单独执行脚本推送测试看看是否有问题,运行环境以及程序指定的编码是否一致,可以入手分别检查。如还有问题加QQ群:534829726 截图看看。
      21运维2017-06-20 17:47 回复