zabbix配置微信报警

首先我们先目睹下微信报警的效果

zabbix配置微信报警

接下来我们正式开始操作。

 

 一:注册企业微信。

打开企业微信注册:http://work.weixin.qq.com

zabbix配置微信报警

zabbix配置微信报警

根据以上提示填入相应的内容,然后注册即可。

 

二:登录企业微信。

使用刚注册时的微信扫描登录企业微信。

zabbix配置微信报警

 

 三:企业认证

登录到企业微信后,可上传企业的工商营业执照或者19位的统一社会信用代码进行进一步认证。

 zabbix配置微信报警

刚注册完成是看不到CorpID的,工作日要1-3小时后才会显示出来(可能是需要审核);如果注册时选企业,注册完成是可以立刻看到的,但是可能后期需要认证等等,比较麻烦。能看到CorpID时记录备用。

 

四:添加成员

在“通讯录”中添加成员(这个成员可以用于接收报警信息的),需要扫码下载企业微信。

记录“账号”,这是User参数,发送消息时要用到,自己设置,没有设置会自动生成,也可以回来查看,记录备用。同时,最少要有1个人关注了该企业号,那怕自己也行,关注后能在手机微信里看到。

zabbix配置微信报警

 

五:创建应用

“企业应用”--“权限管理”中设置管理员。
在“企业应用”中创建应用,设置名称和可见范围(范围可以是一个组的人,也可以是一个人);

zabbix配置微信报警

创建之后可以看到AgentId和Secret记录备用。

zabbix配置微信报警

 

六:配置zabbix服务端

登陆zabbix服务端,修改配置文件,修改权限,测试

# 确保以下路径是启用的(脚本路径)
[root@zabbix ~]# grep alertscripts /etc/zabbix/zabbix_server.conf 
AlertScriptsPath=/usr/lib/zabbix/alertscripts

# 下载发信息脚本(来源于网络)
cd /usr/lib/zabbix/alertscripts
wget https://image.leolan.top/wechat
chmod 755 wechat
chown zabbix:zabbix wechat

# 测试
# 脚本是编译过的,无法进行编辑,我们可以使用./wechat -h or --help 查看
./wechat --corpid=wwcxxxxxxxxxxxxxxxx --corpsecret=XXXXXXXiuRgr4DCLreQA --user=leolan --agentid=1000002  --msg="hello,这是一个测试"
{"errcode":0,"errmsg":"ok","invaliduser":""}

#要是报错:{"errcode":41001,"errmsg":"access_token missing,一般是企业应用有问题,删除重建就好了。

参数:
--corpid= 我们企业里面的id
--corpsecret= 这里就是我们应用里的Secret
-user=上面添加的成员-msg= 消息内容

# 执行后手机端关注的企业号就能收到消息了,但是有时候不是很正常,会收不到。只要能收到说明设置是没问题了。

上面的参数(corpid和corpsecret)可以在上面创建的应用中找到

zabbix配置微信报警

 

七:配置web界面

接着配置web界面,记得先点小的add或update,不然是不会保存配置的,老司机应该都懂的。
“管理”--“报警媒介类型”--“创建媒体类型”

zabbix配置微信报警

脚本参数:
--corpid=企业id
--corpsecret=Secret的id
--agentid= Agentld ID
--user={ALERT.SENDTO}
--msg={ALERT.MESSAGE}

上面的几个脚本参数,就是我们刚才手动发送的测试信息的命令行中的参数

 

八:创建用户

“管理”--“用户”--“创建用户” ;可以直接设置为管理员,记得设置密码。

zabbix配置微信报警

报警媒介设置收信人(就是企业微信中你记录了账号的那个人,这里的收信人就填写“账号”,会作为user参数传递给wechat脚本)

zabbix配置微信报警

zabbix配置微信报警

 

 

九:创建动作

“配置”--“动作(Actions)”--“创建动作”
起一个名字,设置报警操作,这里的创建动作就是相当于报警发生后,服务器该进行的操作。

zabbix配置微信报警

zabbix配置微信报警

 

zabbix配置微信报警

 上面的接收信息和恢复信息可以相同。

默认接收人:{TRIGGER.STATUS}: {TRIGGER.NAME}

告警主机:{HOST.NAME}
主机IP: {HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME} 
告警等级:{TRIGGER.SEVERITY} 
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态: {TRIGGER.STATUS}:{ITEM.VALUE}
事件ID: {EVENT.ID}

 

 十:测试

OK,设置完成,一般来说应该是可以正常报警了,但是可能因为权限原因无法发送成功。
参考上一节邮件报警部分,这里直接在管理--用户--admin--报警媒介,在这里添加微信收件人,就可以收到了。

现在停掉某一台机的agent,稍等就会报警了,手机微信应该也能收到消息了。

zabbix配置微信报警

上一篇:使用maven创建的webapp自动设置了首页为index.jsp


下一篇:微信小程序倒计时实现