使用jconsole工具来监控java运行情况


 
经验证OK
 
jconsole是jdk自带的工具。所以要先安装jdk
 

1.jconsole工具的路径:

通过which jconsole来查看
/usr/local/jdk1.7.0_79/bin/jconsole
 
2.使用方式:
在linux监控端的图形界面执行: /usr/local/jdk1.7.0_79/bin/jconsole 将出现图形化java监控和管理控制台。
 
3.执行后出现JConsole新建连接,有两个选择:
1.本地进程(可以监控本机的java)
——》org.apache.catalina.startup.Bootstartup start
 
2.远程进程(用于监控其他主机的java)
——》填写需要被监控的主机名:监控端口,输入监控专用的用户名/密码(可选)
 
步骤1:需在被监控的主机上修改catalina.sh配置文件:
vi /opt/tomcat/conf/catalina.sh
如不需密码验证,则在第二行开始添加下面3行:
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port= 12345"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate= false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl= false"
保存退出  //“12345”为监控端口号
 
如需密码验证,则改为下面4行:
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port= 12345"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate= true"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl= false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.pwd.file= /usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password"
保存退出
 
步骤2:将/usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password.template复制一份:
 
cp /usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password.template \
/usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password
 
步骤3:添加用于远程监控的用户名和密码:
vi  jmxremote.password  //用于添加用户名和密码
monitorRole 12345678  //用户名:monitorRole,这个名字系统是预先设置好的
admin 123456  //自定义了用户名:admin
root 123456  //自定义了用户名:root
强制保存退出
 
vi  jmxremote.access  //自定义监控的用户名具有哪些权限
添加:
admin readonly  //定义只读帐号,名字任意
root readwrite \  //定义读写帐号,名字任意
create javax.management.monitor.*,javax.management.timer.* \
保存退出
 
 
chmod 600  jmxremote.password
chown uucp:uucp jmxremote.password  //先用ls -l /usr/local/jdk1.7.0_79看看是属于哪个用户和组,再设置成相同的。
 
注:如果JConsole不能访问本机的程序的话,添加如下内容:
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote"
 
好了,可以连接了:
输入要被监控的主机名cen01,端口:12345,
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM