正文
开发同学新开发了一个模块,需要运维监控一下8683\8682\9002
这三个端口,于是我就在zabbix里把这三个端口进行了监控,但是却无法返回值,如图:
可见其他的自定义监控项是好使的,偏偏三个监控端口的项都是not-supported
。我就进去到item里看看,type of information
和data type
都是正常的,而且每三十秒一次更新,应该是没有什么问题的。
于是我就去zabbix的server使用zabbix-get
去试试,到底是怎么回事儿,使用结果如图:
可见使用zabbix_get
是可以取到值的,而且取值都正确,三个正常的端口反馈都是1,而不存在的端口(9002)的反馈是0。可是,我发现使用zabbix_ge
t取值pid是结果秒出,而取值net.tcp.listen
则是等了几乎5秒钟才获得结果。那么问题就出在这里了。
调整zabbix_agentd.conf
里的Timeout
值,把其设定为10,然后重启zabbix进程就OK了。
补充
2)调整unsupport items
检查时间的方法是:在Adiministration
里选择General
然后在右侧下拉菜单里选择Other
,然后修改Refresh unsupported items (in sec)
的值,这个值得意思是“每多少秒去重新检查一下那些not_supported
的值”。
3)这种长时间获取key的行为,很容易导致zabbix unreachable poller processes more than 75 busy
这个错误,所以尽可能的不要添加这样的监控,而换用其它的方式。导致zabbix unreachable poller processes more than 75 busy
这个错误的另一个原因就是可能有某台zabbix-agent
死机了。