前段时间,公司一台服务器配置的raid5硬盘坏了2块,导致部分业务不能正常使用,故准备上一套zabbix再结合微信实现实施报警。
准备工作:前期配置好zabbix。申请 企业微信。
一、微信企业号申请
地址: http://work.weixin.qq.com/
第一步注册
因为我们没有企业,所以我们选择组织。
继续下一步
提示一下: 因为这步需要添加管理员的信息,我这里就不截图了
二、配置微信企业号
当我们设置完微信号的信息之后,请继续跟我操作。中间可能步骤不是特别全,就是设置企业的信息
我们点击通讯录,添加一个组,或者添加一个成员。成员可以使用微信邀请或者短信邀请,我扫码添加自己的时候微信这个坑比给我下载一个企业微信。
点击企业应用,新增应用
设置应用
同样也可以在微信插件里面二维码邀请关注加入通讯录
创建完成后
需要记录Agentld、Secret
准备事项:
微信企业号
企业号已经被部门成员关注
企业号有一个可以发送消息的应用,一个授权管理员,可以使用应用给成员发送消息
需要得到的信息
记录用户的账号
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 界面配置
创建报警媒介
–corpid=我们企业里面的id
–corpsecret=这里就是我们Secret里面的id
–agentid= Agentld ID
–user={ALERT.SENDTO}
–msg={ALERT.MESSAGE}
配置报警用户
可以自己创建用户或者在Admin上配置报警媒介
这里填写微信收件人的账号
这里填写微信收件人的账号
设置报警动作
报警操作
恢复操作
报警消息设置如下:
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版本问题。