Zabbix在线课程《Zabbix无法获取数据问题解决思路》顺利结束,课程中讲师将19类监控项分成了3个大类,对常用的几类监控项做了详细的解析,为大家提供一个清晰的排障思路。课程精华文字版整理如下:
概览
Zabbix的监控项是Zabbix的数据采集基础。在使用过程中经常会碰到监控项的取值不符合预期的情况。而Zabbix有包括agent 代理主被动式、简单检查、snmp、jmx、ipmi等19种监控采集类型,不同的监控类型在不同的架构下的时候流转过程都不一样。会给经验不足的人在解决监控项无法取值的问题时带来了误导。本次课程将19类监控项分成了3个大类,并对常用的几类监控项做了详细的解析,为大家提供一个清晰的排障思路。
关于监控项无法获取数据的检查方案
步骤
1
排除server,proxy和agent本身的配置问题。
步骤
2
排除以上问题后,确认新增的监控项是否已经生效。
监控项在配置完成后,会有一些延迟后才会生效。监控项生效时间具体如下:
被动式监控项,没有proxy:
生效延迟时间:无,实时生效
Zabbix主动式监控项,没有proxy:
最大延迟时间=(agent的RefreshActiveChecks 配置)
被动式proxy 被动式监控项:
最大延迟时间=(server的ProxyConfigFrequency配置)
被动式proxy 主动式监控项:
最大延迟时间=(server的ProxyConfigFrequency配置) (agent的RefreshActiveChecks 配置)
主动式proxy 被动式监控项:
最大延迟时间=(proxy的ConfigFrequency配置)
主动式proxy 主动式监控项:
最大延迟时间=( proxy的ConfigFrequency配置) (agent的RefreshActiveChecks 配置)
步骤
3
确认监控已生效后,如果有报错可以根据报错做如下处理,以下是一些常见的报错。
1
Value "XXX" of type "XXX" is not suitable for value type "XXXX"
2
Received value xxxx is not suitable for value type [xxxx].
普通情况:
Value "9.41" of type "string" is not suitable for value type "Numeric (unsigned)“
出现场景:所有监控类型
解决方法:进入对应监控项,修改信息类型。
特殊情况:
Value "sh: /usr/local/Zabbix_agent/script/ntp.sh: Permission denied" of type "string" is not suitable for value type "Numeric (float)“
出现场景:自定义监控项
解决方案:请检查自定义监控项配置(Allowroot配置项/脚本权限/脚本内容)
3
XXXXX: [2] No such file or directory
案例:
/usr/lib/Zabbix/externalscripts/listen_udp_port.sh: [2] No such file or directory
出现场景:外部检查
解决方案:检查文件路径,或者检查对应server/proxy的ExternalScripts= 配置项
4
Unsupported item key/ZBX_NOTSUPPORTED/Not supported by Zabbix Agent/Internal check is not supported
出现场景:所有监控类型
解决方案:
非自定义监控项
官网确认当前版本key_值是否支持,确认agent版本,注意拼写错误。注意key_值与对应的监控类型是否匹配
自定义监控项
确认自定义监控项配置,agent的UserParameter= 是否与页面一致
5
Timeout was reached/Timeout while executing a shell script
出现场景:所有监控类型
解决方案:
Zabbix客户端(主动式)
Zabbix_agent的配置项,Time_out=(默认3秒)
Vmware监控
对应Zabbix_server/Zabbix_proxy 的配置项VMwareTimeout
SNMP TRAP/Zabbix采集器
对应Zabbix_server/Zabbix_proxy 的配置项, TrapperTimeout
其他
对应Zabbix_server/Zabbix_proxy 的配置项 Timeout
自定义监控项
尝试优化脚本效率
6
Unsupported item key/ZBX_NOTSUPPORTED/Not supported by Zabbix Agent/Internal check is not supported.
出现场景:所有监控类型
解决方案:
非自定义监控项
官网确认当前版本key_值是否支持,确认agent版本,注意拼写错误。注意key_值与对应的监控类型是否匹配
自定义监控项
确认自定义监控项配置,agent的UserParameter= 是否与页面一致
7
Timeout was reached/Timeout while executing a shell script
出现场景:所有监控类型
解决方案:
Zabbix客户端(主动式)
Zabbix_agent的配置项,Time_out=(默认3秒)
Vmware监控
对应Zabbix_server/Zabbix_proxy 的配置项VMwareTimeout
SNMP TRAP/Zabbix采集器
对应Zabbix_server/Zabbix_proxy 的配置项, TrapperTimeout
其他
对应Zabbix_server/Zabbix_proxy 的配置项 Timeout
自定义监控项
尝试优化脚本效率
8
Invalid % parameter
案例:
Invalid second parameter./Invalid first parameter.
出现场景:
Zabbix原生监控项
解决方案:
官网确认该监控项的参数规范,确认server版本
错误案例:
比如 system.cpu.util[,idle],
如果填system.cpu.util[,abcde],就会报该类错误
9
Cannot obtain information for file "%": [2] No such file or directory
案例:
Cannot obtain information for file "/tmp/test.log": [2] No such file or directory
出现场景:
log相关监控(Zabbix客户端主动式)
解决方案:
检查日志文件存在性及权限
10
Cannot complete login due to an incorrect user name or password
出现场景:Vmware监控/
解决方案:检查账号密码的正确性
11
No "%" processes started
案例:
No "vmware collector" processes started
出现场景:Zabbix内部监控
解决方案:在对应的server/proxy上开启对应的配置,或者屏蔽监控项
最后,如果没有报错信息,请检查Zabbix的健康状况,做对应的优化。