本次监控已zabbix3.0.x为例
1.zabbix-server安装zabbix-java-gateway(会依赖安装jdk8 忽略安装使用rpm -i xxx --nodeps即可)
2.配置zabbix-java-gateway.conf
LISTEN_IP=0.0.0.0
LISTEN_PORT=10052
TIMEOUT=30 (默认3s,我之前碰到过server检测agent超时,所以这里改成了30)
3.配置zabbix-server.conf
JavaGateway=xxxxxx (server本机地址)
JavaGatewayPort=10052 (通讯端口)
StartJavaPollers=5
4.重启zabbix-server,启动zabbix-java-gateway
5.java后端服务添加参数:
-Dcom.sun.management.jmxremote (因为我配置zabbix-server一直连接不上宿主机端口,看到篇文档,说开启此参数后,除了自定义的端口还会再开两个随机端口,需要把这个两个随机端口对外开放后才能连接,所以添加了zabbix-server IP地址允许访问本机的所有流量,解决了问题)
-Djava.rmi.server.hostname=xxxx (本机地址)
-Dcom.sun.management.jmxremote.port=xxx (自定义端口,zabbix连接这个端口)
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
示例:
java -Xms1g -Xmx2g -Djava.awt.headless=true -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=xxxx -Dcom.sun.management.jmxremote.port=xxx -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar xxx.jar
6.将jvm模版链接到需要的主机
Template JMX Generic OR Template JMX Tomcat
7.配置zabbix主机连接jvm
配置–>主机–>所选主机(java后端服务所在主机)–>JMX接口(填写本机地址+自定义端口)
帮助文档:
https://blog.csdn.net/qq_38078607/article/details/80459167
https://www.cnblogs.com/chywx/p/11496528.html