从Zabbix 2.0开始,软件包中自带了一个用于监控JMX应用的程序,称为”Zabbix Java GateWay“。
文档地址:
https://www.zabbix.com/documentation/3.2/manual/concepts/java
环境
server端要求
server端安装的时候,需要用–enable-java进行编译:
./configure --enable-java --prefix=$PREFIX
如果之前的zabbix server没加,那需要重新编译安装。
参考:
agent机器端需要安装
- jdk
- 配置JAVA_HOME及PATH
- 已经安装配置好zabbix-agent
配置过程
安装
安装gateway,可以在server端安装。
yum install -y java java-devel zabbix-java-gateway
配置端口:
vim /etc/zabbix/zabbix_java_gateway.conf
systemctl start zabbix-java-gateway.service
lsof -i:10052
配置zabbix-server访问gateway
vi /etc/zabbix/zabbix_server.conf
JavaGateway=172.16.2.150 #gateway地址
StartJavaPollers=5 #预启动进程轮训个数
service zabbix-server restart
开启JVM远程监控
这里配置tomcat的jvm远程监控:
vim /application/tomcat/bin/catalina.sh
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote #开启远程监控
-Djava.rmi.server.hostname=指定网卡IP地址 # 这里如果不指定,可能会出现端口通的但jmx无法连接
-Dcom.sun.management.jmxremote.port=12345 #远程监控端口
-Dcom.sun.management.jmxremote.ssl=false #远程ssl验证为false
-Dcom.sun.management.jmxremote.authenticate=false #关闭权限认证
-Djava.rmi.server.hostname=172.16.2.150" #提供数据的的主机地址(由于我是用的一台机器,所以IP相同,如果是生产环境不同的机器,这个地址是部署了tomcat的主机地址)
/application/tomcat/bin/shutdown.sh
/application/tomcat/bin/startup.sh
lsof -i:12345 #JVM监听端口
使用JVisumVM等工具可测试JVM远程连接
监控自己的java进程
然后给要监控的主机可以添加默认的jmx模板