Tomcat开启JMX监控
背景:Tomcat系统运行过程出现错误,需要打开JMX,添加对JVM的监控。Tomcat运行在CentOS中。
前提:监控端windows系统,安装JDK。
步骤如下:
1. 服务器关闭Tomcat
cd /opt/apache-tomcat-7.0.54/bin ./shutdown.sh |
2. 进入Tomcat/bin目录,修改catalina.sh,找到如下内容“#—–Execute The Requested Command”,在其上添加以下配置,此配置不需要用户名、密码
CATALINA_OPTS=”$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.23.1 -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false” |
ip是你要监控的tomcat所在服务器的ip地址 端口号,是你要开启的监控端口号。 ssl,false表示不使用ssl链接 authenticate,false表示不使用监控,即不需要用户名和密码 |
以下方式需要配置用户名、密码
CATALINA_OPTS=”$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.23.1 -Dcom.sun.management.jmxremote.port=9999 -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” |
authenticate,true开启鉴权功能 access.file,权限文件路径 password.file,密码文件路径 |
3. 当没有配置密码时,无需此操作。当启用密码后,根据上述配置,将 JAVA_HOME/jre/lib/management下面的jmxremote.access和jmxremote.password.template拷贝到Tomcat的conf目录下,并对两个文件做以下修改:
jmxremote.password.template文件名修改为jmxremote.password 修改两个文件的权限 chmod 600 jmxremote.access chmod 600 jmxremote.password |
修改jmxremote.access文件,将文件最后两行显示【monitorRole和controlRole】的注释取消,其中monitorRole为只拥有只读权限的角色,controlRole有更高权限:读写等。编辑完成后,保存。 |
修改jmxremote.password文件。同样将文件最后两行显示【monitorRole和controlRole】的注释取消,两个用户名后面的字符即密码,然后保存。 |
4. 服务器启动Tomcat
cd /opt/apache-tomcat-7.0.54/bin ./startup.sh |
5. 做完以上操作后,使用jdk自带工具jvisualvm.exe连接,工具目录如下:JAVA_HOME/bin,连接方式如下:
右击“远程”,“添加远程主机” |
右击添加好的主机,“添加JMX连接”,根据配置信息,填写相应的端口、用户名、密码等信息 |
6. 添加完成后,效果如下:
|
7. 如有其他需求,可下载其他附件
如果需要独立的监控软件可下载:VisualVM
下载地址:http://visualvm.github.io/download.html
入门指南:https://visualvm.github.io/gettingstarted.html?VisualVM_1.3.9