一、目的: 使用jdk自带的工具jconsole/jvisualvm远程监控tomcat的运行情况
二、环境信息:
1. 操作系统
OS Name: Linux
OS Version: 3.10.0-514.el7.x86_64
Architecture: amd64
2. JDK version
JVM Version: 1.8.0_181-b13
JVM Vendor: Oracle Corporation
3. Tomcat server
Server version: Apache Tomcat/8.5.13
Server built: Mar 27 2017 14:25:04 UTC
Server number: 8.5.13.0
4. 本地操作系统 windows 7
Java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
三、配置步骤
1. $TOMCAT_HOME/bin 下,编辑文件 catalina.sh
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.hostname
-Djava.rmi.server.hostname=192.168.200.222
-Dcom.sun.management.jmxremote.port=8989
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access"
说明: 不需要鉴权情况下上述配置变更为如下:
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.hostname
-Djava.rmi.server.hostname=192.168.200.222
-Dcom.sun.management.jmxremote.port=8989
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
2. 需要鉴权认证的配合上述配置,在$TOMCAT_HOME/conf/下编写添加如下授权文件;
1) 文件名: jmxremote.access
内容:
username1 readonly
username2 readwrite
2) 文件名: jmxremote.password
内容:
username1 123456
username2 123456
3) 修改上述两个文件的权限
chmod 600 jmxremote.access jmxremote.password
3. $TOMCAT_HOME/bin下, 启动tomcat
4. 在本地%JAVA_HOME%\bin下
1) 点击启动 jconsole.exe
如图:
勾选 远程进程,填入 hostname:port, 用户名,密码,点击 连接 后如下;
点击 不安全的连接,即可看到如下:
2) 点击启动 jvisualvm.exe
点击 远程,右键菜单中的 添加远程主机,如下图:
填入 主机名,确定后,选择192.168.200.222主机,右键点击,如下图:
点击 添加JMX连接, 如下图:
填写全 主机:端口,勾选使用安全凭证(前述配置使用的是有鉴权的),勾选不要求SSL连接
确定后,得到如下图:
双击 以用户名开始的连接即可得到如下:
5. 配置结束。