zabbix7.2添加钉钉群报警监控

debian 12 环境下添加钉钉群报警监控

zabbix7.2.8安装环境检查出错,修改 /etc/php/8.2/fpm/php.ini 文件参数。

一:安装Python3、相关包以及创建钉钉发送消息日志文件

apt install python3-requests -y

先在钉钉群聊里添加一个自定义的机器人

并复制webhook的内容 如下面 创建新建群手加入 机器人就可得到

https://oapi.dingtalk.com/robot/send?access_token=37e23308d1b84eb4ac34566e03c4c4e74b7eedecbcc002exxxxxxxxxxxxxxx

下载钉钉脚本,修改 webhook 为自己的钉钉机器人 webhook 值

wget -P /usr/lib/zabbix/alertscripts http://d.junlin.li/zabbix/dingding.py
chown zabbix:zabbix /usr/lib/zabbix/alertscripts/dingding.py
chmod +x /usr/lib/zabbix/alertscripts/dingding.py

创建钉钉发送日志文件路径

touch /var/log/zabbix_dingding.log
chown zabbix:zabbix /var/log/zabbix_dingding.log
chmod +x /var/log/zabbix_dingding.log

二:仪表盘-告警-媒介,右上角 创建媒介类型

名称自己设置,类型选择 脚本,脚本名称 dingding.py

添加3个脚本参数

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

然后点击 消息模板,添加 消息类型:问题
主题

服务器 : {HOST.NAME}发生: {TRIGGER.NAME}故障!

消息

告警主机 : {HOST.NAME}
告警时间 : {EVENT.DATE} {EVENT.TIME}
告警等级 : {TRIGGER.SEVERITY}
告警信息 : {TRIGGER.NAME}
问题详情 : {ITEM.NAME}:{ITEM.VALUE}

添加 消息类型:问题恢复
主题

服务器 : {HOST.NAME}告警恢复 {EVENT.DURATION}: {EVENT.NAME}

消息

告警恢复 {EVENT.DURATION} : {EVENT.NAME}
恢复主机 : {HOST.NAME}
告警时间 : {EVENT.DATE} {EVENT.TIME}
恢复时间 : {EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
恢复信息 : {TRIGGER.NAME}
恢复项目 : {ITEM.NAME}
当前状态 : {TRIGGER.STATUS} 值={ITEM.VALUE}
故障时长 : {EVENT.AGE}

添加完成后点击左下角的测试,有报错的话修复对应错误。

 

 

三:仪表盘-用户设置-配置-报警媒介

添加一条 钉钉,点击 更新。如果要使用钉钉群 @ 用户功能,需要在收件人处填写手机号码。

仪表盘-告警-动作-触发器动作,右上角-创建动作

动作名称 钉钉

添加 操作,编辑 动作。发送至媒体类型 钉钉,自定义消息内容 点勾。

发送给用户 选择 Admin 用户组。

主题

服务器 : {HOST.NAME}发生: {TRIGGER.NAME}故障!

消息

告警主机:{HOST.NAME}
故障主机IP:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}

添加一条 恢复操作,添加动作和上面一样

主题

告警恢复 {EVENT.DURATION}: {EVENT.NAME}

消息

告警恢复 {EVENT.DURATION}: {EVENT.NAME}
恢复主机:{HOST.NAME}
故障主机IP:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
恢复信息:{TRIGGER.NAME}
恢复项目:{ITEM.NAME}
当前状态:{TRIGGER.STATUS} 值={ITEM.VALUE}
故障时长:{EVENT.AGE}

 

四:优化一些报警参数

1:修改 模板 ICMP Ping,点击 宏,{$ICMP_RESPONSE_TIME_WARN} 值 的单位为秒,根据实际网络情况修改 ping 检测报警延迟阈值。

2:修改 模板 ICMP Ping,点击 监控项,ICMP loss、ICMP ping、ICMP response time ,3个监控项根据实际情况修改 更新间隔 时间,单位为秒。

3:模板组。修改 Templates/Operating systems 里面的 Linux by Zabbix agent,点击 宏,{$AGENT.TIMEOUT}  值 ,agent 检测超时时间,根据实际情况修改,单位 分钟。

发表评论