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 检测超时时间,根据实际情况修改,单位 分钟。