主要根据官方文档https://www.zabbix.com/documentation/3.2/manual/config/items/itemtypes/jmx_monitoring?s[]=jmx
JMX监控方式可以监控Java程序的运行
1 Java gateway安装
直接通过yum安装,并配置为开启启动的服务
sudo yum install zabbix-java-gateway.x86_64
sudo chkconfig zabbix-java-gateway on
sudo service zabbix-java-gateway start
然后配置Zabbix-server,让它启动JMX监控,一共修改三项,三项都要配置不要相信默认值
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=3 //必须大于0
重启Zabbix-server服务即可
2 JMX监控下运行Java程序
我这里运行的是SpringBoot官方文档中那个Hello World的小例子,可以按照这个网址搭建https://spring.io/guides/gs/rest-service/,也可以换成自己的jar包
Windows下运行JMX监控下的jar包命令如下,“^”号和Linux下“\”的作用一样,表示换行,记得要留出空格,不然整条命令连起来就变成了java-Dcom.这种没有空格的,会报错
java ^
-Dcom.sun.management.jmxremote ^
-Dcom.sun.management.jmxremote.port=12345 ^
-Dcom.sun.management.jmxremote.authenticate=false ^
-Dcom.sun.management.jmxremote.ssl=false ^
-jar C:\Users\Lenovo\.m2\repository\com\tuan\springBootLearn\1.0-SNAPSHOT\springBootLearn-1.0-SNAPSHOT.jar
运行后如图
3 Zabbix Web端配置
新建一个host,监控方式选择JMX
在该host上添加Item,监控Java程序的堆使用情况,关键是key的设置,其他都随便
在Latest data中即可查看到数据