Zabbix如何自动恢复因脚本超时标记为不支持的自定义主动检查项
Zabbix 监控项标记为Not Supported后10分钟不重试的全局解决方案
问题根因
监控项执行超时被标记为「Not Supported」后约10分钟不再执行检查,是Zabbix默认全局规则导致:Zabbix对所有判定为不支持的监控项,默认设置600秒(10分钟)的重试冷却周期,冷却期内不会主动发起检查,该行为和监控项本身配置、脚本超时设置无直接关联。你日志中两次报错间隔约12分钟,是默认600秒冷却加上监控队列调度误差导致的,和参数默认值表现完全匹配。
全局配置修改方案(无需调整单监控项/脚本/超时参数)
直接修改Zabbix服务端全局配置即可实现所有监控项每分钟重试的要求,操作如下:
- 登录Zabbix Server节点,如果架构中部署了Zabbix Proxy代理,所有Proxy节点也需要同步修改
- 打开对应服务的配置文件,默认路径:
- Zabbix Server:
/etc/zabbix/zabbix_server.conf - Zabbix Proxy:
/etc/zabbix/zabbix_proxy.conf
- Zabbix Server:
- 找到配置项
UnsupportedItemCheckInterval,该参数默认值为600(单位:秒),将其修改为需要的60秒间隔:
UnsupportedItemCheckInterval=60
- 保存配置后重启对应服务生效:
- 重启Zabbix Server:
systemctl restart zabbix-server - 重启Zabbix Proxy:
systemctl restart zabbix-proxy
- 重启Zabbix Server:
方案匹配说明
- 该配置为全局生效参数,修改后所有类型的监控项(自定义UserParameter、官方模板监控项、主动/被动检查)均会遵循该重试间隔,不需要逐模板、逐监控项调整
- 不需要修改现有自定义监控脚本,不需要给fping等命令单独加shell超时控制
- 不需要调大Zabbix全局
Timeout参数,即使监控项执行超时返回错误、被标记为Not Supported,到60秒周期节点Zabbix会自动重新发起检查,完全符合严格按分钟间隔执行的诉求 - 当前使用的Zabbix 4.0.17版本完全支持该配置参数,不存在版本兼容问题。
内容的提问来源于stack exchange,提问作者Pablo Fuenzalida
相关产品推荐
相关产品推荐

