使用jconsole监控tomcat(推荐配置)

 

1、在tomcat启动过程中,开启相应的参数配置 $Tomcat_home/bin/catalina.sh:

1
2
3
4
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

 

#change by tester at 20151104
JAVA_OPTS="$JAVA_OPTS 
-Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

 

 

其中:  com.sun.management.jmxremote.port 是jmx端口 这个很重要 在使用jconsole连接tomcat jmx时候使用。

进阶篇
配置jmx访问密码

1. 修改上文中的catalina脚本中的JAVA_OPT参数,将
-Dcom.sun.management.jmxremote.authenticate="false" 修改为:
-Dcom.sun.management.jmxremote.authenticate="true"

2. 将$JRE/lib/management/jmxremote.password.template文件在同目录下复制一份,重命名为$JRE/lib /management/jmxremote.password,编辑jmxremote.password,添加允许访问的用户名及密码,比如添加用户 zxwh,密码为zxme,则在文件尾添加一行:
zxwh zxme
注意用户密码不能包含空格,tab等字符

3. 编辑$JRE_HOME/lib/management/jmxremote.access文件,对刚才添加的用户赋予一定的权限:
zxwh readonly (或者readwrite)

4. 确认jmxremote.password和jmxremote.access两个文件中的用户是相同的。注意如果jmxremote.access中没有对应用户的话,配置是无效的。
注:以上配置文件的位置都是可以更改的,具体配置方法在此不再赘述。

5. 由于jmxremote.password中的密码都是明文保存的,所以jmxremote.password、jmxremote.access文件的权限要注意,应该设置为只有owner才可读,当然这个用户也必须是启动tomcat的用户。
(chmod 600 jmxremote.access, chmod 600 jmxremote.password)
6. 启动jconsole进行连接,在用户名和口令处输入设定的用户和密码。 7. 使用密码认证方式进行连接,不但可以提高安全性,而且可以对用户的权限进行设置。如果不使用密码认证的方式,则无法对用户的权限进行限制。 配置使用ssl进行加密连接 1. 在服务器上使用keytool创建密钥对 keytool是java平台自带的一个密钥和证书管理工具,使用keytool创建密钥对: keytool -genkey -alias tomcat -keystore /somepath/tomcatKeyStore 按照提示输入相关信息(包括设定密码、姓、组织名等),这些信息是可以随便输入的,但从产品角度讲应该统一设定。输入的密码在今后操作中均需要使用。 2. 导出公钥 keytool -export -alias tomcat -keystore /somepath/tomcatKeyStore -file /somepath/jconsole.cert 3. 将公钥导入至需要运行jconsole的机器。 keytool –import –alias jconsole –keystore /somepath/jconsoleKeyStore -file /somepath/jconsole.cert 4. 修改tomcat的catalina脚本 将-Dcom.sun.management.jmxremote.ssl="false"修改为: -Dcom.sun.management.jmxremote.ssl="true",并在 JAVA_OPTS变量行添加: -Djavax.net.ssl.keyStore=/somepath/jconsoleKeyStore -Djavax.net.ssl.keyStorePassword=设定的密码 5. 使用如下参数启动jconsole : jconsole -J-Djavax.net.ssl.trustStore=/somepath/jconsoleKeyStore 6. 填入主机名、用户、口令连接服务器。

 


 

2、启动tomcat并使用jconsole来连接tomcat jmx接口

     连接界面如下:

     

  连接进去以后,在MBean一栏便是jmx接口。

     

     关于jmx相关接口信息如下(主要包括java jmx接口和tomcat jmx接口两个部分)

  

 

tomcat Jmx配置 http://www.cnblogs.com/zhengah/p/4898444.html

posted on 2015-10-21 17:09  IMEIXI4EVER  阅读(661)  评论(0编辑  收藏  举报