什么是JMX
http://www.ibm.com/developerworks/cn/java/j-lo-jse63/
Linux下Tomcat启用JMX
环境
centos7
命令
vi catalina.sh
:/ Execute The Requested Command #找到这一行,在上面一行添加如下
if [ "$1" = "start" ] ; then # 不加此句停止tomcat报告7199端口被占用
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=192.168.3.106
-Dcom.sun.management.jmxremote.port=7199
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.access.file=/yourPath/jmxremote.access #该文件指定jmx用户权限
-Dcom.sun.management.jmxremote.password.file=/yourPath/jmxremote.password" #该文件指定jmx用户
fi
#jmxremote.access模板文件路径:$JAVA_HOME/jre/lib/management/jmxremote.access
#jmxremote.password模板文件路径:$JAVA_HOME/jre/lib/management/jmxremote.password.template
#-Djava.rmi.server.hostname=192.168.3.106 务必指定此行,否则JMX可能无法连接
#-Dcom.sun.management.jmxremote.ssl=false 是否使用HTTPS连接
chmod 600 /yourPath/jmxremote.password
chmod 600 /yourPath/jmxremote.access
vi /yourPath/jmxremote.password #末行增加用户tomcatJMX tomcatJMX,注释用户monitorRole和controlRole
vi /yourPath/jmxremote.access #末行monitorRole之前增加用户权限tomcatJMX readwrite,其余不变
# 重启你的Tomcat
测试TomcatJMX是否配置成功
运行%JAVA_HOME%/bin/jconsole.exe,如下图
成功连接