码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA 利用 jmc或jvisualvm 监控 本地或者远程JVM

时间:2019-07-12 18:19:03      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:OLE   rmi   role   后缀   生产环境   jvisualvm   java程序   ack   本地   

 

 

 

本地检测之间到$JAVA_HOME/bin 下的目录点击jmc 或者jvisualvm,然后选择你要监控的app

可是一般我们生产环境项目都是部署在远程,这个时候想要监控怎么办

1、监控tomcat

找到tomcat的catalina.sh,然后在第一行加上:(最后的位置加上本机ip)

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.net.preferIPv4Stack=tru
e -Djava.rmi.server.hostname="

或者可以配置为
JAVA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=10.80.50.81 -Dcom.sun.management.jmxremote.port=8764 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" 



2、监控其他java程序

修改启动参数  

如果你原来启动的脚本  java  -jar  demo.jar

添加参数

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.net.preferIPv4Stack=true -Djava.rmi.server.hostname=

启动程序以后:点击连接 然后创建新连接 就可以远程监控

技术图片

技术图片

把服务器ip和刚才开放的端口填上就好了,测试一下连接 

效果图

技术图片

 

上面的是不需要密码的 生产环境不安全  如果想设置密码

1.进入服务器$JAVA_HOME/jre/lib/management

把jmxremote.password文件的后缀去掉,然后修改至600权限

chmod 600 jmxremote.access  

打开编辑到最后

#monitorRole ROF
#controlRole R&D

去掉# 保存 (前面是用户名,后面是密码  可自己修改   用户在同目录  jmxremote.access文件内定义,默认有2个用户,可定义权限)

2.将刚才的启动参数中的 

-Dcom.sun.management.jmxremote.authenticate=false  修改为 true 或者直接去掉(默认true)

3.创建新连接的时候输入用户名和密码

技术图片

JAVA 利用 jmc或jvisualvm 监控 本地或者远程JVM

标签:OLE   rmi   role   后缀   生产环境   jvisualvm   java程序   ack   本地   

原文地址:https://www.cnblogs.com/cnndevelop/p/11177620.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!