使用VisualVM远程监控Tomcat方法


 

 概要

因为项目最后部署在阿里云云服务器上,所以分析性能不是很方便。 但是可以通过 VisualVM 远程监控 Tomcat , 以便性能分析。

可以看到CPU使用率, 获取堆栈快照, 手动堆栈回收, 死锁线程分析等等, 还可以安装其他插件。

本文将记录配置过程, 以便自己后续用到查看。

配置过程

配置startup.sh文件

在$CATALINA_HOME/bin/startup.sh 倒数第二行(也就是exec "$PRGDIR"/"$EXECUTABLE" start "$@"一行上边)写入下面的内容:

1 export CATALINA_OPTS="$CATALINA_OPTS
2 -Dcom.sun.management.jmxremote
3 -Djava.rmi.server.hostname=*.*.*.* YOUR SERVER IP
4 -Dcom.sun.management.jmxremote.port=7003
5 -Dcom.sun.management.jmxremote.ssl=false
6 -Dcom.sun.management.jmxremote.authenticate=true
7 -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password
8 -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access"

 

截个图, 看看startup.sh最后20行的数据。

参数说明:

-Dcom.sun.management.jmxremote 启用JMX远程监控
-Djava.rmi.server.hostname=*.*.*.* 你的tomcat服务器IP地址
-Dcom.sun.management.jmxremote.port=8003 jmx连接端口
-Dcom.sun.management.jmxremote.ssl=false 是否ssl加密
-Dcom.sun.management.jmxremote.authenticate=true 远程连接需要密码认证
-Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password 指定连接的用户名和密码配置文件
-Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access 指定连接的用户所拥有权限的配置文件

创建账号密码和权限配置文件

关于jmxremote.access和jmxremote.password  这两个文件jdk中已经有了,

把这两个文件复制到 $CATALINA_HOME/conf/ 目录下,修改一下名称

文件内容如下:
[root@localhost tomcat8]# cat conf/jmxremote.password
monitorRole 111111
controlRole 222222

 

[root@localhost tomcat8]# cat conf/jmxremote.access
monitorRole readonly
controlRole readwrite


修改jmxremote.password权限

[root@localhost tomcat8]# chmod 600 conf/jmxremote.password

然后, 重启Tomcat使之生效。

运行自己的JVisualVM

jvisualVM的可执行文件位置如下:

 

 

添加主机

远程,添加主机,输入服务器的ip:

 

"右键"->"添加JMX连接", 添加JMX连接和登陆验证

 

完成,可以显示了 

 

 

 


免责声明!

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



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