一般来说,Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是现在越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警的及时处理。之前介绍了分布式监控系统Zabbix-3.0.3-完整安装记录(6)-微信报警部署,然而新版微信已取消了企业号,改用企业微信。使用微信号发短信一般会有条数限制,企业微信没有这个限制,而且成员分组也方便。比起之前的微信企业号,企业微信方式在zabbix报警设置上还是有一点不一样的。废话不多说了,下面简单记录下:
一、企业微信注册
地址:http://work.weixin.qq.com/
注册步骤没有什么可说的,按照提示信息填入信息即可。如下,可以选择"没有营业执照,继续注册"
提示:这里简单的说一下,微信企业号和微信公众号是不一样的。具体按照新版本的注册信息进行即可,在此就不多做截图了~~~~~
二、配置微信企业号
当设置完微信号的信息之后,请继续下面操作。中间有些步骤不是特别全,省略掉了,就是设置企业的信息。可以参考分布式监控系统Zabbix-3.0.3-完整安装记录(6)-微信报警部署的一些设置。
添加成员时,注意账号一定要是唯一的。
要邀请同事加入该企业微信中
重点是添加应用。"企业应用"->"创建应用"
可以发现以前企业公众号的应用ID和组ID已经被取消
准备事项:
-> 微信企业号
-> 企业号已经被部门成员关注
-> 企业号有一个可以发送消息的应用,一个授权管理员,可以使用应用给成员发送消息
需要得到的信息
-> 记录用户的账号(唯一ID)
-> CorpID
-> Secret、Agentld
三、Zabbix微信报警设置
设置zabbix默认脚本路径,这样在web端就可以获取到脚本
[root@zabbix ~]# cat /data/zabbix/etc/zabbix_server.conf|grep alertscripts
AlertScriptsPath=/data/zabbix/alertscripts
下载wechat脚本
下载地址:https://pan.baidu.com/s/1eS082J4
提取密码:kry2
[root@zabbix ~]# cd /data/zabbix/alertscripts/
[root@zabbix alertscripts]# chmod 755 wechat
[root@zabbix alertscripts]# chown zabbix:zabbix wechat
测试
[root@zabbix alertscripts]# ./wechat --corpid=****** --corpsecret=****** --msg="您好,告警测试" --user=****** --agentid=******
{"errcode":0,"errmsg":"ok","invaliduser":""}
[root@zabbix alertscripts]#
提示:
--corpid= 我们企业里面的id
--corpsecret= 这里就是我们Secret里面的id
-msg= 内容
-user=邀请用户的账号
因为wechat脚本是编译过的,无法进行编辑,我们可以使用./wechat -h or --help 查看
登录微信查看
四、zabbix web 界面配置
添加"报警媒介"
两个变量,一个是发送给哪些用户,一个是发送的内容:
--user={ALERT.SENDTO}
--msg={ALERT.MESSAGE}
添加"用户的报警媒介",这里选择admin用户
添加报警触发的"动作"
默认收件人:
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
默认信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
然后进行测试:关闭备份机的zabbix_agent,即关闭10050端口。过一会儿观察微信的报警信息:
重新开启备份机的zabbix_agent,同样会受到报警恢复的信息。