Zabbix在线课程《Zabbix无法获取数据问题解决思路》顺利结束,课程中讲师将19类监控项分成了3个大类,对常用的几类监控项做了详细的解析,为大家提供一个清晰的排障思路。课程精华文字版整理如下:

概览

Zabbix的监控项是Zabbix的数据采集基础。在使用过程中经常会碰到监控项的取值不符合预期的情况。而Zabbix有包括agent 代理主被动式、简单检查、snmp、jmx、ipmi等19种监控采集类型,不同的监控类型在不同的架构下的时候流转过程都不一样。会给经验不足的人在解决监控项无法取值的问题时带来了误导。本次课程将19类监控项分成了3个大类,并对常用的几类监控项做了详细的解析,为大家提供一个清晰的排障思路。

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

确认监控已生效后,如果有报错可以根据报错做如下处理,以下是一些常见的报错。

11个报错场景分析

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的健康状况,做对应的优化。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐