首页 > 技术文章 > Zabbix监控JVM

fanpc 2020-11-20 15:59 原文

前面已经配置了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的老生代等监控信息。
在这里插入图片描述

推荐阅读