参考链接🔗
阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com)
zabbix镜像-zabbix下载地址-zabbix安装教程-阿里巴巴开源镜像站 (aliyun.com)
1、注册企业微信
2、配置企业微信
企业ID:xxxxxxxxxAgentId:xxxxxxxx
Secret:xxxxxxxxxxxx
- 记录企业ID
- 创建应用,记录Agent ID 和 Secret
- 创建告警组,把接收消息的人加入进来
- 记录此账号名称
3、配置Zabbix服务器
1、确认记录相关信息
确认已经获取到告警组用户的账号,企业 CorpID 和 创建应用
2、修改zabbix.conf
[root@zabbix-server ~]# grep alertscripts /etc/zabbix/zabbix_server.conf
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/lib/zabbix/alertscripts
设置zabbix默认脚本路径,这样再web端就可以获取到脚本
3、下载并设置脚本
https://github.com/OneOaaS/weixin-alert
[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts
[root@zabbix-server ~]# wget https://github.com/OneOaaS/weixin-alertt https://github.com/OneOaaS/weixin-alert/blob/master/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]# ll
total 168
-rwxr-xr-x 1 zabbix zabbix 170801 Feb 17 10:59 wechat
[root@zabbix-server alertscripts]#
4、执行脚本进行测试
/etc/zabbix/alertscripts/wechat --corpid=wxee***********81aa --corpsecret=Mm0mHwI8iVsjA*JUGySxOFMIlbosoVEkWIEiw --msg="您好</br>告警测试" --user=oneoaas --agentid=1000003
返回数据:
{"errcode":0,"errmsg":"ok","invaliduser":""}
#报错。解决:需要在设置的组别中,添加可见范围,允许发送的用户接收到消息
[root@zabbix-server alertscripts]# ./wechat --corpid=ww9***********000 --corpsecret=jgIJ***********8KA --msg="您好</br>告警测试</br>20210217 11:40" --user=**** --agentid=1000002
{"errcode":81013,"errmsg":"user & party & tag all invalid, hint: [1645070137249820547239507], from ip: 112.23.182.203, more info at https://open.work.weixin.qq.com/devtool/query?e=81013","invaliduser":"*****","msgid":"WpLD***********-Wz4HD62QCQg"}
# 显示成功。
[root@zabbix-server alertscripts]# ./wechat --corpid=ww9***********00 --corpsecret=jgIJV***********JnBwOE8KA --msg="您好</br>告警测试</br>20210217 12:05" --user=*** --agentid=1000002
{"errcode":0,"errmsg":"ok","msgid":"WpLDpQFMGSE843kRbNhgXYTITEtM8xSIIVqJodA8c-z-cY2b9gFPhT7LqnSvMMOEjKqNWW92XIQ4BqPsCWyOhA"}
# 注意事项:在设置的组别中,添加可见范围
温馨提示:
-corpid= 企业ID
--corpsecret= Secret ID
--msg= 所要发送的消息内容
--user= 发送人的用户账号
此脚本已经编译过,无法进行编辑,可以使用./wechat --help 查看帮助命令
4、在zabbix web页面页面配置告警信息
管理—报警媒介类型—创建告警媒介
填写报警媒介信息
--corpid=
--corpsecret=
--agentid=
--user={ALERT.SENDTO}
--msg={ALERT.MESSAGE}
授权终端接收用户
测试报警是否生效
设置告警动作
故障告警:{TRIGGER.STATUS}:{TRIGGER.NAME}
告警主机:{HOST.NAME}
主机地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件代码:{EVENT.ID}
Problem: {EVENT.NAME}
Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Operational data: {EVENT.OPDATA}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}
恢复操作
故障解除:{TRIGGER.STATUS}:{TRIGGER.NAME}
恢复主机:{HOST.NAME}
主机地址:{HOST.IP}
恢复时间:{EVENT.DATE} {EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
恢复信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件代码:{EVENT.ID}
执行命令,停止redis进行测试
# systemctl stop redis
执行命令,开启redis进行测试
systemctl start redis