在使用zabbix_get测试时, 发现即使配置了Server列表还是不能正常返回要的结果, 原因是配置格式的问题,
不能在IP外使用单引号.
例如 :
zabbix_agentd.conf
### Option: Server
# List of comma delimited IP addresses (or hostnames) of Zabbix servers.
# Incoming connections will be accepted only from the hosts listed here.
# If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally.
#
# Mandatory: no
# Default:
# Server=
Server=172.16.3.150, 127.0.0.1
不要使用以下带单引号的格式, 会导致无效, 除非你启用了ipv6.
Server='172.16.3.150', '127.0.0.1'
只有配置在Server列表中的server, zabbix agentd才响应数据请求.
没有配置的话, 可以从zabbix agentd日志中看到类似错误 :
21034:20141107:090930.460 Listener error: connection from "127.0.0.1" rejected, allowed hosts: "'172.16.3.150','127.0.0.1'"
这个错误就是配置格式引起的.
把单引号去掉即可 :
正常响应如下 :
[root@150 etc]# zabbix_get -s 127.0.0.1 -p 10050 -I 127.0.0.1 -k "hello"
ZBX_NOTSUPPORTED
[root@150 etc]# zabbix_get -s 127.0.0.1 -p 10050 -I 127.0.0.1 -k "psql"
ZBX_NOTSUPPORTED
没响应就是返回空 :
[root@150 etc]# zabbix_get -s 127.0.0.1 -p 10050 -I 127.0.0.1 -k "psql"
并且报错如 :
21034:20141107:090930.460 Listener error: connection from "127.0.0.1" rejected, allowed hosts: "'172.16.3.150','127.0.0.1'"