Zabbix 新版微信告警

Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警的及时处理。

Zabbix 新版微信告警

date 2017-11-2

zabbix


问题:{“errcode”:40014,”errmsg”:”invalid access_token”}

最近很多朋友出现执行脚本的时候出现{“errcode”:40014,”errmsg”:”invalid access_token”}

这时候需要把企业微信号里的应用删除掉,从新进行添加。就可以发送成功了!


Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警的及时处理。

关于邮件报警可以参考:

Zabbix 使用脚本发送邮件

Zabbix Web 邮件报警


一、微信企业号申请

地址: http://work.weixin.qq.com/

第一步注册

image_1bijf4k4a1ssl1lk718bi33f1ngsm.png-63.3kB

因为我们没有企业,所以我们选择组织。

提示:这里简单的说一下,微信企业号和微信公众号是不一样的!

image_1bijf63vd1p7h1heje0k1ho51scj13.png-62.5kB

继续下一步

提示一下: 因为这步需要添加管理员的身份证号以及手机号,我这里就不截图了

二、配置微信企业号

当我们设置完微信号的信息之后,请继续跟我操作。中间可能步骤不是特别全,就是设置企业的信息

我们需要记录CorpID

image_1bijfa66e1a2t9sr157b142de0e1g.png-84.8kB

我们点击通讯录,添加一个组,或者添加一个成员。成员可以使用微信邀请或者短信邀请,我扫码添加自己的时候微信这个坑比给我下载一个企业微信。很尴尬,微信变了。不单纯了

image_1bijfcqeaaot1bad1lqv1unc1mol1t.png-54.1kB

添加完管理员需要记录管理员账号

我们添加成员需要记录成员ID

image_1bijgfnh91440f3s8djr8c55.png-55kB

点进去

image_1bijgaq4u8n91ijk1f01vfi14g64b.png-53kB

记录用户账号

image_1bijgcopp12gf1shp5n7gv65p14o.png-58.6kB

点击企业应用,新增应用

image_1bijfi97pgee1lie1ggb1p0s9uo2n.png-50.9kB

设置应用

image_1bijfkm9h1rq41m0pe7vso582134.png-47.8kB

同样也可以在微信插件里面二维码邀请关注加入通讯录

image_1bijfh1t45vq1rqm19vp1iq47be2a.png-85.8kB

创建完成后

需要记录Agentld、Secret

image_1bijfo71hlioppi6ptvkp12d93h.png-89kB

以前的应用ID和组ID已经被取消

准备事项:

微信企业号

企业号已经被部门成员关注

企业号有一个可以发送消息的应用,一个授权管理员,可以使用应用给成员发送消息

需要得到的信息

记录用户的账号
CorpID和Secret、Agentld

三、修改Zabbix.conf

[root@abcdocker ~]# grep alertscripts /etc/zabbix/zabbix_server.conf 
AlertScriptsPath=/usr/lib/zabbix/alertscripts

我们设置zabbix默认脚本路径,这样在web端就可以获取到脚本

四、设置脚本

下载脚本

url已失效,请使用云盘下载

链接:http://pan.baidu.com/s/1skXgaKl 密码:xz09

[root@abcdocker alertscripts]# pwd
/usr/lib/zabbix/alertscripts
[root@abcdocker alertscripts]# rz      #如果没有rz可以使用yum install lrzsz 安装rz
[root@abcdocker alertscripts]# chmod   755 wechat 
[root@abcdocker alertscripts]# chown  zabbix:zabbix wechat

执行脚本,进行测试

[root@abcdocker alertscripts]# ./wechat --corpid=wwcxxxxxxxxxxxxxxxx  --corpsecret=Q-HMnIo9HKX8kZwbT4m1SUcS-kmYhmiuRgr4DCLreQA   --msg="您好,告警测试" --user=CongYuHong  --agentid=1000002
{"errcode":0,"errmsg":"ok","invaliduser":""}

提示:
--corpid= 我们企业里面的id
--corpsecret= 这里就是我们Secret里面的id
-msg= 内容
-user=我们邀请用户的账号

因为脚本是编译过的,无法进行编辑,我们可以使用./wechat -h or --help 查看

image_1bijgi6ob1qq615olc1dsal1ve65i.png-8.8kB

五、zabbix web 界面配置

创建报警媒介

image_1bdm0i93gafr1l6s1s417jb15h480.png-35kB

--corpid=我们企业里面的id
--corpsecret=这里就是我们Secret里面的id
--agentid= Agentld ID
--user={ALERT.SENDTO}
--msg={ALERT.MESSAGE}

这里是和旧版本的区别

image_1bijgls05clf1c3o1cc11evpki05v.png-50.3kB

创建报警用户

image_1bdm0o02b1ear1nan6301th41q4p8q.png-28.4kB

image_1bdm0pt2d176u14pt7auun51en897.png-43.2kB

这里填写微信收件人的账号

image_1bil0t26o1f66l1qci15fu9r69.png-72.8kB

设置报警动作

image_1bdm0v98t6v51ccg1ufp1ti41t3aa1.png-19.7kB

image_1bdm100tvs3m1afr1im913ce99sae.png-21.4kB

报警消息设置如下:

hostname: ({HOST.NAME}
Time:{EVENT.DATE} {EVENT.TIME}
level:{TRIGGER.SEVERITY}
message:{TRIGGER.NAME}
event:{ITEM.NAME}:{ITEM.VALUE}

url:www.abcdocker.com

恢复报警如下:

hostname: ({HOST.NAME}
Time:{EVENT.DATE} {EVENT.TIME}
level:{TRIGGER.SEVERITY}
message:{TRIGGER.NAME}
event:{ITEM.NAME}:{ITEM.VALUE}

url:www.abcdocker.com

报警配置如下

image_1bdm11487dht2u6gg0npt1b2uar.png-71.8kB

恢复配置如下

image_1bdm17gljvh61gpf8akvubt35b8.png-48.6kB

提示: 不要忘记先点小的add-->小的update-->Update

六、测试

为了验证效果我们停掉zabbix-agent,进行查看报警

[root@abcdocker ~]# systemctl stop zabbix-agent

报警如下

image_1bdm1n45pdatv5h25siomierbl.png-50.9kB

我是把我网站停了让你们看结果的!

21.jpg-205.1kB


本文参考:Zabbix企业微信监控报警更新了你知道吗?

本文脚本转载我们帅气的张sir博客 [我是url]

222.gif-27.3kB

原文:Zabbix-3.2.3实现微信(WeChat)告警

更多Zabbix文章请访问我们ZABBIX板块

ZABBIX板块


右上方加群,我们需要你的讨论!

image_1bijh1mvn1br1vkk8s7t0cbnd6u.png-91.3kB

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
abcdocker运维博客
16 条回复 A 作者 M 管理员
  1. 文章写的挺不错的,留言支持下,欢迎回访我的网站,你网站挺不错的能否交换友链
  2. 您好,您的网站做的很不错,很漂亮,我已经收藏了
  3. [root@abcdocker alertscripts]# ./wechat --corpid=wwcxxxxxxxxxxxxxxxx --corpsecret=Q-HMnIo9HKX8kZwbT4m1SUcS-kmYhmiuRgr4DCLreQA --msg="您好,告警测试" --user=CongYuHong --agentid=1000002 {"errcode":0,"errmsg":"ok","invaliduser":""} 我这边执行脚本测试下来,有时正常有时报错{"errcode":40014,"errmsg":"invalid access_token"},是access_token有效期问题吗,有什么解决办法?
    • 直接执行这个参数可能会有问题,您直接添加到zabbix里面。看看是否有问题,上次我也遇到过一次,直接上zabbix并没有影响! 因为这个脚本是二进制没法编辑打开看
    • 这个问题你解决了么?我今天也出现这种问题,报错errcode:40014。微信报警发不出来
    • 删除微信公众号上的应用从新创建一个就好了
    • 感谢您的支持!
  4. 如何一次给多个用户微信发报警消息。
    • 点击右上角管理员图标--->报警媒介--->在添加一个用户就可以了
  5. 你好,首先谢谢你的分享, 我在命令行执行./wechat --copid,,,,,,等 在微信里收到了消息, 但是我在 zabbix网页配置的时候, 它却发不出来, 百度了两天了, 请问下, 这一般是什么原因啊?
    • 触发器没执行,没执行处罚脚本!
    • 如何执行触发器啊。。。我也被这个问题困扰两天了
    • 微信是基于触发器,你可以看看我其他文章,如何监控应用。里面有说如何配置触发器
  6. ./weixin --corpid=wx02bd55691f264xxxxxx --corpsecret=Uj11_EOYVW6pHoVnL8axB4xxxxxxxxxxx --msg="您好告警测试" --user=zabbix --agentid=1000003您好按照您的方法 执行这个步骤也没报错 但为什么微信收不到信息呢?
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论
网站搭建
加入我们
  • 站长QQ:381493251一键联系
  • abcdocker 微信公众号
    abcdocker QQ群