前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >zabbix监控jvm内存

zabbix监控jvm内存

作者头像
陈灬大灬海
发布2019-09-12 15:34:42
5.3K2
发布2019-09-12 15:34:42
举报
文章被收录于专栏:面朝大海春暖花开

Zabbix自带监控系统的内存利用率和CPU利用率,但是系统内存并不能反应JVM内存情况

在本地我们可以通过jconsole或者jvisualvm进行监控jvm内存情况

不过正是环境一般都是部署在linux上,且不是桌面版,这个时候想监控,可以通过zabbix集成jmx实现

jvisualvm使用方式,参考 https://www.cnblogs.com/gossip/p/6141941.html

效果:

这是使用的jdk自带的监控工具

当然,如果需要远程监控的话,需要在catalina文件设置下启动参数,这里不做账号密码限定,所以authenticate=false

windows修改catalina.bat

通过set设置,引用变量使用%%

在 rem ----- Execute The Requested Command --------------------------------------- 下面添加

代码语言:javascript
复制
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 --------------------------------------- 下面添加

代码语言:javascript
复制
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测试

需要下载cmdline-jmxclient-0.10.3.jar

通过上述方式启动之后如下

再通过命令进行查看,比如查看非堆内存使用情况

代码语言:javascript
复制
java -jar cmdline-jmxclient-0.10.3.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步骤逻辑
  1. 在zabbix服务器上安装配置zabbix-java-gateway,并且配置相关参数。
  2. 配置tomcat服务器,JMX服务相关参数,上传依赖包(如果是jar包运行,直接添加参数即可)
  3. zabbix web端添加监控
  4. 启动tomcat服务,查看zabbix web端监控运行状态,排错(java -jar运行)
  5. 自定义图形和监控项

1.安装zabbix-java-gateway并配置

安装
代码语言:javascript
复制
yum -y install zabbix-java-gateway
配置
代码语言:javascript
复制
grep "^[A-Z]" /etc/zabbix/zabbix_java_gateway.conf
代码语言:javascript
复制
LISTEN_IP="0.0.0.0"        #监听本机所有ip
LISTEN_PORT=10052            #在10052端口提供服务
PID_FILE="/var/run/zabbix/zabbix_java.pid"
START_POLLERS=5
启动服务
代码语言:javascript
复制
systemctl start zabbix-java-gateway
配置zabbix-server

  grep "^[A-Z]" /etc/zabbix/zabbix_server.conf|grep Java

代码语言:javascript
复制
JavaGateway=127.0.0.1     #JavaGateway所在服务器的IP
JavaGatewayPort=10052     #JavaGateway的默认端口
StartJavaPollers=5         #JVM进行监控轮询实例数,默认是0
 重启zabbix-server

systemctl restart zabbix-server 

 2.配置tomcat服务器

 由于我是直接jar包运行,直接通过启动参数设置即可,如果是tomcat的话,修改catalina文件即可

java -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=39.105.97.50 -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar tale-latest.jar --server.port=80

 3.zabbix web端添加监控

配置jmx接口 配置→主机→创建主机

添加链接模板 template app apache tomcat jmx和template APP generic java jmx

4.查看zabbix web端监控运行状态 

添加完毕,查看jmx是否是绿色

 如果是红色,查看具体原因,可能是端口暴露问题,或者是启动的参数设置问题

5.自定义图形和监控项

jmx为绿色,标志着添加成功,之后自定义图形,设置监控项即可

第一步创建图形

第二步,添加你需要的监控项即可

这里选取四项,查看效果图

 ok,其余的配置再摸索,监控多个java进程的jvm还须研究

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • windows修改catalina.bat
  • linux修改catalina.sh
  • java直接运行jar包
  • linux测试
  • zabbix的jmx监测
    • 1.安装zabbix-java-gateway并配置
      •  2.配置tomcat服务器
        •  3.zabbix web端添加监控
          • 4.查看zabbix web端监控运行状态 
            • 5.自定义图形和监控项
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档