摘要
Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警的及时处理。
zabbix
问题:{"errcode":40014,"errmsg":"invalid access_token"}
最近很多朋友出现执行脚本的时候出现{"errcode":40014,"errmsg":"invalid access_token"}
这时候需要把企业微信号里的应用删除掉,从新进行添加。就可以发送成功了!
Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警的及时处理。
关于邮件报警可以参考:
Zabbix 使用脚本发送邮件
Zabbix Web 邮件报警
一、微信企业号申请
地址: http://work.weixin.qq.com/
第一步注册
因为我们没有企业,所以我们选择组织。
提示:这里简单的说一下,微信企业号和微信公众号是不一样的!
继续下一步
提示一下: 因为这步需要添加管理员的身份证号以及手机号,我这里就不截图了
二、配置微信企业号
当我们设置完微信号的信息之后,请继续跟我操作。中间可能步骤不是特别全,就是设置企业的信息
我们需要记录CorpID
![image_1bijfa66e1a2t9sr157b142de0e1g.png-84.8kB]()
我们点击通讯录,添加一个组,或者添加一个成员。成员可以使用微信邀请或者短信邀请,我扫码添加自己的时候微信这个坑比给我下载一个企业微信。很尴尬,微信变了。不单纯了
![image_1bijfcqeaaot1bad1lqv1unc1mol1t.png-54.1kB]()
添加完管理员需要记录管理员账号
我们添加成员需要记录成员ID
![image_1bijgfnh91440f3s8djr8c55.png-55kB]()
点进去
记录用户账号
![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_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_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企业微信监控报警更新了你知道吗?
![222.gif-27.3kB]()