前面已经配置了DISK和NET监控,zabbix还支持JVM监控,都写在一篇文章里会比较乱,没有侧重点,于是便拆开说明:
大致原理如下:
代理端: java-gateway服务
客户端: catalina.sh修改
web端: JMX interfaces (跟Agent interfaces差不多)
需要安装java-gateway,我的安装在 proxy上,直接配置 sbin/zabbix_java/settings.sh 文件就行了
1.配置zabbix_java
zabbix_java这个是独立的服务,可以安装在zabbix_server上,这样比较好操作,我的安装路径:/usr/local/zabbix/sbin/zabbix_java/
然后,在setting.sh添加监听的主机和端口号如下,这里主机为zabbix-server地址:
LISTEN_IP=192.168.1.1
LISTEN_PORT=10052
START_POLLERS=5
重启zabbix_java ./shutdown.sh ./startup.sh
ss -tunlp | grep 10052 可以看到10052端口已开启监听:
2.配置zabbix_server.conf
编辑/usr/local/zabbix/etc下面的zabbix_server.conf,不是/etc/zabbix下面的这个配置文件,不要弄错地方:
JavaGateway=192.168.1.1
JavaGatewayPort=10052
StartJavaPollers=10
重启zabbix_server:
先kill掉zabbix_server原本进程
然后在 /usr/local/zabbix/sbin下 ./zabbix_server重启
3.配置tomcat/spring
无论是tomcat还是spring都是差不多的配置,打开端口服务就行,
去对应客户端下,找到tomcat路径:
修改catalina.sh,在开头添加内容如下,ip其实写不写都行,主要是为了打开12345端口:
export CATALINA_OPTS="-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=12345
-Djava.rmi.server.hostname=192.168.1.1
-Dcom.sun.management.jmxremote.ssl=false"
重启tomcat:
./shutdown.sh ./startup.sh
可以看到端口已开启:
4.zabbix网页端操作
去zabbix网页端对对应主机添加JVM模板:
JMX变绿,说明监听成功,没绿也没红说明没配置对文件路径,红了说明配置有问题,可以看到JVM的老生代等监控信息。