记一次 zabbix item became not supported 问题处理

发布时间 2023-07-05 18:40:25作者: 武平宁

现象

配置了一个自定义监控项,超过 5m nodata 就会告警,最近触发了两次。通过日志查看,有一对相隔10分钟的告警:

时间t0: item xxx became not support: Timeout while executing a shell script.
t0 + 10m : item xxx became supported

这之间都没有收到数据,所以触发了告警。

分析

通过日志很容易知道是脚本执行超时了,zabbix agent 默认的超时时间是 3秒,可以通过Timeout=配置项修改超时时间,或者调整监控命令/脚本控制执行时间。
问题便可解决。

技术

  • 为什么是10分钟后刷新状态?

在源码目录,搜索grep -r 10m,得到:

libs/zbxdbhigh/dbschema.c:              {"refresh_unsupported", "10m",  NULL,   NULL,   32,     ZBX_TYPE_CHAR,  ZBX_NOTNULL | ZBX_PROXY,   0}, 
libs/zbxdbhigh/dbschema.c:refresh_unsupported varchar(32) DEFAULT '10m' NOT NULL,\n\

说明,unsupported 监控项 在zabbix中默认的更新时间是10m。
如果需要修改,可以从web上:Administration -> General -> Other 修改。