Zabbix 新版微信告警
date 2017-11-2
zabbix
问题:{"errcode":40014,"errmsg":"invalid access_token"}
最近很多朋友出现执行脚本的时候出现{"errcode":40014,"errmsg":"invalid access_token"}
这时候需要把企业微信号里的应用删除掉,从新进行添加。就可以发送成功了!
Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警的及时处理。
关于邮件报警可以参考:
一、微信企业号申请
地址: http://work.weixin.qq.com/
第一步注册
因为我们没有企业,所以我们选择组织。
提示:这里简单的说一下,微信企业号和微信公众号是不一样的!
继续下一步
提示一下: 因为这步需要添加管理员的身份证号以及手机号,我这里就不截图了
二、配置微信企业号
当我们设置完微信号的信息之后,请继续跟我操作。中间可能步骤不是特别全,就是设置企业的信息
我们需要记录CorpID
我们点击通讯录,添加一个组,或者添加一个成员。成员可以使用微信邀请或者短信邀请,我扫码添加自己的时候微信这个坑比给我下载一个企业微信。很尴尬,微信变了。不单纯了
添加完管理员需要记录管理员账号
我们添加成员需要记录成员ID
点进去
记录用户账号
点击企业应用,新增应用
设置应用
同样也可以在微信插件里面二维码邀请关注加入通讯录
创建完成后
需要记录Agentld、Secret
以前的应用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 查看
五、zabbix web 界面配置
创建报警媒介
--corpid=我们企业里面的id --corpsecret=这里就是我们Secret里面的id --agentid= Agentld ID --user={ALERT.SENDTO} --msg={ALERT.MESSAGE}
这里是和旧版本的区别
创建报警用户
这里填写微信收件人的账号
设置报警动作
报警消息设置如下:
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
报警配置如下
恢复配置如下
提示: 不要忘记先点小的add-->小的update-->Update
六、测试
为了验证效果我们停掉zabbix-agent,进行查看报警
[root@abcdocker ~]# systemctl stop zabbix-agent
报警如下
我是把我网站停了让你们看结果的!
本文脚本转载我们帅气的张sir博客 [我是url]
更多Zabbix文章请访问我们ZABBIX板块
文章写的挺不错的,留言支持下,欢迎回访我的网站,你网站挺不错的能否交换友链
您好,您的网站做的很不错,很漂亮,我已经收藏了
[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。微信报警发不出来
删除微信公众号上的应用从新创建一个就好了
按你说的,解决了。谢谢
感谢您的支持!
如何一次给多个用户微信发报警消息。
点击右上角管理员图标—>报警媒介—>在添加一个用户就可以了
你好,首先谢谢你的分享, 我在命令行执行./wechat –copid,,,,,,等 在微信里收到了消息, 但是我在 zabbix网页配置的时候, 它却发不出来, 百度了两天了, 请问下, 这一般是什么原因啊?
触发器没执行,没执行处罚脚本!
如何执行触发器啊。。。我也被这个问题困扰两天了
微信是基于触发器,你可以看看我其他文章,如何监控应用。里面有说如何配置触发器
./weixin –corpid=wx02bd55691f264xxxxxx –corpsecret=Uj11_EOYVW6pHoVnL8axB4xxxxxxxxxxx –msg=”您好告警测试” –user=zabbix –agentid=1000003您好按照您的方法 执行这个步骤也没报错 但为什么微信收不到信息呢?
是不是值不对? 微信公众号删除从新创建一下,获取新的key
[…] zabbix微信报警配置 […]