人生必须的知识就是引人向光明方面的明灯。这篇文章主要讲述zabbix监控jvm内存相关的知识,希望能为你提供帮助。
文章图片
Zabbix自带监控系统的内存利用率和CPU利用率,但是系统内存并不能反应JVM内存情况Zabbix自带监控系统的内存利用率和CPU利用率,但是系统内存并不能反应JVM内存情况
在本地我们可以通过jconsole或者jvisualvm进行监控jvm内存情况
不过正是环境一般都是部署在linux上,且不是桌面版,这个时候想监控,可以通过zabbix集成jmx实现
效果:
文章图片
这是使用的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内存】再通过命令进行查看,比如查看非堆内存使用情况
java -jar- 39.105.97.50:12345 java.lang:type=Memory NonHeapMemoryUsage
文章图片
如果是外网服务,有可能连接不上
因为启动,默认会开启随机的端口号(端口配置规则需要修改)
zabbix的jmx监测具体查看官方文档
https://www.zabbix.com/documentation/4.2/manual/config/items/itemtypes/jmx_monitoring
zabbix可以集成jmx,用于监控jvm内存情况集成jmx步骤逻辑
- 在zabbix服务器上安装配置zabbix-java-gateway,并且配置相关参数。
- 配置tomcat服务器,JMX服务相关参数,上传依赖包(如果是jar包运行,直接添加参数即可)
- zabbix web端添加监控
- 启动tomcat服务,查看zabbix web端监控运行状态,排错(java -jar运行)
- 自定义图形和监控项
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接口 配置→主机→创建主机
文章图片
添加链接模板 template app apache tomcat jmx和template APP generic java jmx
文章图片
4.查看zabbix web端监控运行状态 添加完毕,查看jmx是否是绿色
文章图片
如果是红色,查看具体原因,可能是端口暴露问题,或者是启动的参数设置问题
5.自定义图形和监控项jmx为绿色,标志着添加成功,之后自定义图形,设置监控项即可
第一步创建图形
文章图片
第二步,添加你需要的监控项即可
文章图片
这里选取四项,查看效果图
文章图片
ok,其余的配置再摸索,监控多个java进程的jvm还须研究
面朝大海```春暖花开
推荐阅读
- 鱼和熊掌可得兼(Anolis OS双内核特性解读 | 龙蜥专场)
- linuxshell之运算符
- 红旗软件正式加入龙蜥社区,成为社区理事单位
- linuxvi编辑器
- Zabbix企业微信群报警接收
- linuxshell基础知识
- 在WordPress图片中创建自定义post不起作用
- CSS无法正确显示.custom-logo,PHP是问题吗()
- WordPress中的CSS背景图片