zabbix key总是not supported的解决方法

zabbix定义好key之后,总是会出现Not supported,看到这个问题,大家不用着急,问题其实很容易解决,首先鼠标点击当前key的大红叉上,会显示出报错内容。常见的有

  • zabbix_server取不到值,或者取到空值,在server上使用命令zabbix_get获取当前key

  • 取到的值和key的类型不一样,例如我定义的是float,但是取到的是字符串,那肯定不会。

  • 脚本执行超时,默认情况下zabbix3秒就超时,所以要确认下脚本到底要执行多久

这些都是一些常见的问题,但是有两个很奇怪的问题 :

  1. zabbix_get能获取到值,但是item依旧为Not Supported。如果你的值类型设置没错的话,那有如下解决方法:

    1. 等10分钟,zabbix会去重新check一次当前item的Supported状态。

    2.删掉当前item,重新创建

    3.修改zabbix重新check的时间,例如改成10分钟,点击administration--->General--->右侧下拉条选择"other"--->Refresh unsupported items (in sec)改为60(单位为秒)---->update

  2. 经过查看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`
    
posted @ 2018-05-30 16:53  hehongjie  Views(448)  Comments(0Edit  收藏  举报