参考链接🔗

阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com)

zabbix镜像-zabbix下载地址-zabbix安装教程-阿里巴巴开源镜像站 (aliyun.com)

1、注册企业微信

2、配置企业微信

企业ID:xxxxxxxxx

AgentId:xxxxxxxx

Secret:xxxxxxxxxxxx

  • 记录企业ID

image-20220217093411455

  • 创建应用,记录Agent ID 和 Secret

image-20220217093124370

  • 创建告警组,把接收消息的人加入进来

image-20220217094757848

  • 记录此账号名称

image-20220217094924088

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、执行脚本进行测试

Zabbix企业微信告警最新版 (qq.com)

/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 查看帮助命令

image-20220217122505853

4、在zabbix web页面页面配置告警信息

管理—报警媒介类型—创建告警媒介

image-20220217125022999

填写报警媒介信息

image-20220217125823262

--corpid=
--corpsecret=
--agentid=
--user={ALERT.SENDTO}
--msg={ALERT.MESSAGE}

image-20220217130350153

授权终端接收用户

image-20220217130950046

image-20220217131115161

测试报警是否生效

image-20220217132031142

image-20220217132027296

设置告警动作

image-20220217141024349

image-20220217142618977

故障告警:{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}

image-20220217151755790

image-20220217151826613

<font color=red>恢复操作</font>

故障解除:{TRIGGER.STATUS}:{TRIGGER.NAME}
恢复主机:{HOST.NAME}
主机地址:{HOST.IP}
恢复时间:{EVENT.DATE} {EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
恢复信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件代码:{EVENT.ID}

image-20220217152337424

image-20220217152606868

image-20220217152709939

执行命令,停止redis进行测试

# systemctl stop redis

image-20220217154227087

执行命令,开启redis进行测试

systemctl start redis

image-20220217154431684

image-20220217154509053