zabbix key总是not supported的解决方法
zabbix定义好key之后,总是会出现Not supported,看到这个问题,大家不用着急,问题其实很容易解决,首先鼠标点击当前key的大红叉上,会显示出报错内容。常见的有
-
zabbix_server取不到值,或者取到空值,在server上使用命令zabbix_get获取当前key
-
取到的值和key的类型不一样,例如我定义的是float,但是取到的是字符串,那肯定不会。
-
脚本执行超时,默认情况下zabbix3秒就超时,所以要确认下脚本到底要执行多久
这些都是一些常见的问题,但是有两个很奇怪的问题 :
-
zabbix_get能获取到值,但是item依旧为Not Supported。如果你的值类型设置没错的话,那有如下解决方法:
- 等10分钟,zabbix会去重新check一次当前item的Supported状态。
2.删掉当前item,重新创建
3.修改zabbix重新check的时间,例如改成10分钟,点击administration--->General--->右侧下拉条选择"other"--->Refresh unsupported items (in sec)改为60(单位为秒)---->update
-
经过查看zabbix_agent.log日志,出现如下报错:
listener failed: zbx_tcp_listen() fatal error: unable to serve on any address [[-]:10050]
网友的解决方案:
1. 修改客户端配置文件`/etc/zabbix/zabbix_agentd.conf`,重启服务 2. 将监听的`0.0.0.0`更换成客户端的外网IP即可(大家可以根据自己的实际情况修改,如果你是局域网,可以直接改成内网IP即可) ``` sed -i 's/# ListenIP=0.0.0.0/ListenIP=127.0.0.1/g' /etc/zabbix/zabbix_agentd.conf 或 sed -i 's/ListenIP=0.0.0.0/ListenIP=内网IP/g' /etc/zabbix/zabbix_agentd.conf 或 sed -i 's/ListenIP=0.0.0.0/ListenIP=外网IP/g' /etc/zabbix/zabbix_agentd.conf ``` 结果:还是一样,没有解决。
监听失败的原因:重启的过程中,10050端口没有能完全杀掉并重启成功,导致10050不能正确地监听。
解决方法:
1. `ps -ef | grep zabbix` 找到zabbix的相关进程。然后 kill -9 进程号 2. 重新启动zabbix_agent。`service zabbix_agentd start`