zabbix 结合企业微信实现微信报警功能

前段时间,公司一台服务器配置的raid5硬盘坏了2块,导致部分业务不能正常使用,故准备上一套zabbix再结合微信实现实施报警。
准备工作:前期配置好zabbix。申请 企业微信。
一、微信企业号申请

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

第一步注册

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

提示:这里简单的说一下,微信企业号和微信公众号是不一样的!
zabbix 结合企业微信实现微信报警功能_第1张图片

继续下一步

提示一下: 因为这步需要添加管理员的信息,我这里就不截图了

二、配置微信企业号

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

我们需要记录CorpID
zabbix 结合企业微信实现微信报警功能_第2张图片

我们点击通讯录,添加一个组,或者添加一个成员。成员可以使用微信邀请或者短信邀请,我扫码添加自己的时候微信这个坑比给我下载一个企业微信。
zabbix 结合企业微信实现微信报警功能_第3张图片

点进去 ,记录用户账号
zabbix 结合企业微信实现微信报警功能_第4张图片

点击企业应用,新增应用
zabbix 结合企业微信实现微信报警功能_第5张图片
设置应用
zabbix 结合企业微信实现微信报警功能_第6张图片
同样也可以在微信插件里面二维码邀请关注加入通讯录
创建完成后
需要记录Agentld、Secret
zabbix 结合企业微信实现微信报警功能_第7张图片
准备事项:
微信企业号
企业号已经被部门成员关注
企业号有一个可以发送消息的应用,一个授权管理员,可以使用应用给成员发送消息
需要得到的信息
记录用户的账号
CorpID和Secret、Agentld
三、修改Zabbix.conf

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

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

四、设置脚本

下载脚本

[root@zabbix-server alertscripts]# wget http://download.zhsir.org/Zabbix/weixin_linux_amd64
[root@zabbix-server alertscripts]# mv weixin_linux_amd64 wechat
[root@zabbix-server alertscripts]# chmod   755 wechat 
[root@zabbix-server alertscripts]# chown  zabbix:zabbix wechat

执行脚本,进行测试

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

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

因为脚本是编译过的,无法进行编辑,我们可以使用./wechat -h or –help 查看
五、zabbix web 界面配置

创建报警媒介
zabbix 结合企业微信实现微信报警功能_第8张图片
–corpid=我们企业里面的id
–corpsecret=这里就是我们Secret里面的id
–agentid= Agentld ID
–user={ALERT.SENDTO}
–msg={ALERT.MESSAGE}

配置报警用户
可以自己创建用户或者在Admin上配置报警媒介
zabbix 结合企业微信实现微信报警功能_第9张图片
这里填写微信收件人的账号
zabbix 结合企业微信实现微信报警功能_第10张图片
这里填写微信收件人的账号

设置报警动作
报警操作
zabbix 结合企业微信实现微信报警功能_第11张图片
恢复操作
zabbix 结合企业微信实现微信报警功能_第12张图片
报警消息设置如下:
hostname: ({HOST.NAME}
Time:{EVENT.DATE} {EVENT.TIME}
level:{TRIGGER.SEVERITY}
message:{TRIGGER.NAME}
event:{ITEM.NAME}:{ITEM.VALUE}

恢复报警如下:

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

提示: 不要忘记先点小的新的–>小的更新–>更新

以上配置就算全部完成,可以测试了。在测试过程中,需注意zabbix server需要能访问外网。
在测试过程中,我使用新建用户创建报警媒介和动作时,报警信息发送不到微信,后面改为zabbix自带的用户和动作后,报警正常,不知道是配置问题还是zabbix版本问题。

你可能感兴趣的:(zabbix)