zabbix监控jvm内存

人生必须的知识就是引人向光明方面的明灯。这篇文章主要讲述zabbix监控jvm内存相关的知识,希望能为你提供帮助。

zabbix监控jvm内存

文章图片
Zabbix自带监控系统的内存利用率和CPU利用率,但是系统内存并不能反应JVM内存情况Zabbix自带监控系统的内存利用率和CPU利用率,但是系统内存并不能反应JVM内存情况
在本地我们可以通过jconsole或者jvisualvm进行监控jvm内存情况
不过正是环境一般都是部署在linux上,且不是桌面版,这个时候想监控,可以通过zabbix集成jmx实现
效果:
zabbix监控jvm内存

文章图片

这是使用的jdk自带的监控工具
当然,如果需要远程监控的话,需要在catalina文件设置下启动参数,这里不做账号密码限定,所以authenticate=false
windows修改catalina.bat
通过set设置,引用变量使用%% 在 rem ----- Execute The Requested Command --------------------------------------- 下面添加
set java_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

linux修改catalina.sh
不用添加set,引用变量使用$ 在 rem ----- Execute The Requested Command --------------------------------------- 下面添加
CATALINA_OPTS=”$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false”

java直接运行jar包
java -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar chy.jar 之后就可以通过远程连接并且监控jvm详情了,如上效果图
linux测试通过上述方式启动之后如下
zabbix监控jvm内存

文章图片

【zabbix监控jvm内存】再通过命令进行查看,比如查看非堆内存使用情况
java -jar- 39.105.97.50:12345 java.lang:type=Memory NonHeapMemoryUsage

zabbix监控jvm内存

文章图片

如果是外网服务,有可能连接不上
因为启动,默认会开启随机的端口号(端口配置规则需要修改)
zabbix的jmx监测具体查看官方文档
https://www.zabbix.com/documentation/4.2/manual/config/items/itemtypes/jmx_monitoring
zabbix可以集成jmx,用于监控jvm内存情况集成jmx步骤逻辑
  1. 在zabbix服务器上安装配置zabbix-java-gateway,并且配置相关参数。
  2. 配置tomcat服务器,JMX服务相关参数,上传依赖包(如果是jar包运行,直接添加参数即可)
  3. zabbix web端添加监控
  4. 启动tomcat服务,查看zabbix web端监控运行状态,排错(java -jar运行)
  5. 自定义图形和监控项
1.安装zabbix-java-gateway并配置 安装
yum -y install zabbix-java-gateway

配置
grep "^[A-Z]" /etc/zabbix/zabbix_java_gateway.conf

LISTEN_IP="0.0.0.0"#监听本机所有ip LISTEN_PORT=10052#在10052端口提供服务 PID_FILE="/var/run/zabbix/zabbix_java.pid" START_POLLERS=5

启动服务
systemctl start zabbix-java-gateway


配置zabbix-servergrep "^[A-Z]" /etc/zabbix/zabbix_server.conf|grep Java
JavaGateway=127.0.0.1#JavaGateway所在服务器的IP JavaGatewayPort=10052#JavaGateway的默认端口 StartJavaPollers=5#JVM进行监控轮询实例数,默认是0

重启zabbix-server
2.配置tomcat服务器 由于我是直接jar包运行,直接通过启动参数设置即可,如果是tomcat的话,修改catalina文件即可
3.zabbix web端添加监控配置jmx接口 配置→主机→创建主机
zabbix监控jvm内存

文章图片

添加链接模板 template app apache tomcat jmx和template APP generic java jmx
zabbix监控jvm内存

文章图片


4.查看zabbix web端监控运行状态 添加完毕,查看jmx是否是绿色
zabbix监控jvm内存

文章图片


如果是红色,查看具体原因,可能是端口暴露问题,或者是启动的参数设置问题
5.自定义图形和监控项jmx为绿色,标志着添加成功,之后自定义图形,设置监控项即可
第一步创建图形
zabbix监控jvm内存

文章图片


第二步,添加你需要的监控项即可
zabbix监控jvm内存

文章图片

这里选取四项,查看效果图
zabbix监控jvm内存

文章图片

ok,其余的配置再摸索,监控多个java进程的jvm还须研究
面朝大海```春暖花开

    推荐阅读