工作中需要给tomcat配置jmx来管理MBean。 碰到的问题比较多,记录下来以便查阅。(慢慢补充)
配置
给jvm的添加下列参数(有关jmx参数的详细说明可以参考JAVAM_HOME\jre\lib\management\management.properties文件)
-Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.password.file=$CATALINA_HOME/conf/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=$CATALINA_HOME/conf/jmxremote.access
问题
1.关于 Error: Password file read access must be restricted:的问题需要给文件配置相关权限
Assigning correct permissions:
chmod 600 /etc/tomcat6/jmxremote.access
chmod 600 /etc/tomcat6/jmxremote.password (must set 600)
chown tomcat6:tomcat6 /etc/tomcat6/jmxremote.access
chown tomcat6:tomcat6 /etc/tomcat6/jmxremote.password
参考资料(但愿不要失效)
http://docs.oracle.com/javase/1.5.0/docs/guide/management/agent.html (配置方法)
http://docs.oracle.com/javase/1.5.0/docs/guide/management/security-windows.html (windows下解决 access must be restricted 的问题)
---------------------------------------------------------------------------------------------
上面这个方法貌似比较麻烦,需要设置文件的权限。 其实还有个比较简单的方法。对于tomcat来说,可以在server标签下添加个listener
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"
rmiRegistryPortPlatform="1099" rmiServerPortPlatform="-1" address="${tomcat.bind.address}" />