起初以为Tomcat的JMX端口配置的有问题,然后在Zabbix Server用cmdline-jmxclient工具连接Tomcat服务器测试一下,发现可以正常返回结果。这就说明JMX端口配置的也没有问题,如下图:
接下来就是查看Zabbix Server上的zabbix_java服务状态,结果发现zabbix_java进程也运行好好的,对应端口10052也是开启状态;并且从Tomcat服务器上发起Telnet端口测试,也能正常访问Zabbix Server的10052端口,说明端口通讯莫得问题。如下图
最后经过一番排查,又是抓包又是检查配置文件,发现Zabbix代理服务器的配置文件zabbix_proxy.conf中的JavaGateway参数有问题,如下图:
总结原因:单台采集的情况下JavaGateway参数保持默认localhost本机即可,然而我在项目中采用的是代理采集服务器高可用的架构,那这个地方就要改成代理服务器的VIP地址,如下图:
结果也如料想的一样,就是JavaGateway参数配置照成的问题,这个地方往往容易在部署过程忽略掉,修改成VIP后,页面JMX报错也恢复正常,如下图:
Zabbix Java Gateway参数配置问题避坑小技巧
原文:https://blog.51cto.com/14483703/2557700