zabbix_proxy 启动报错 … wrong value of “ServerPort” in config …

今天部署一个新的proxy,启动报错:”正在启动 Zabbix Proxy:zabbix_proxy [2242]: wrong value of “ServerPort” in config file”。当时一脸茫然,难道配置参数”ServerPort”不支持,仔细看了说明,确定是支持的(ps:由于我改了server的端口,故需要设置”ServerPort”这个参数,默认不用设置)。后来Google了一遍,没有找到解决方案,可能是我打开Google的方式不对😄,再zabbix官网翻翻也没有找到解决方法。
用这个参数试试默认的10051端口,验证下”ServerPort”是不是有效的参数,最后验证是有效的。然后灵感乍现,翻翻zabbix的源码看看这个参数到底如何定义的:

# grep -rl "ServerPort" ./
./ChangeLog
./src/zabbix_proxy/proxy.c
./src/zabbix_proxy/zabbix_proxy-proxy.o
./src/zabbix_proxy/zabbix_proxy
./conf/zabbix_proxy.conf

找到的文件不多,在文件./src/zabbix_proxy/proxy.c中找到了有价值的信息:

{"ServerPort",                  &CONFIG_SERVER_PORT,                    TYPE_INT,
                        PARM_OPT,       1024,                   32767},

到这里就很清楚发生问题的原因了,原因是参数”ServerPort”的范围有限制,在1024至32767区间。如果自定义的端口超过这个范围启动就会报错”正在启动 Zabbix Proxy:zabbix_proxy [2242]: wrong value of “ServerPort” in config file”。修改这个参数的范围,重新编译安装zabbix proxy即可解决问题。
文章出处: https://www.xiaomastack.com/2016/10/12/zabbix_proxy/

发表评论:

你的电子邮件地址将不会被公开.

4 × = 40