JMX监控centos下的tomcat

 通过JMX远程监控tomcat的堆内存 、线程、CPU等信息,便于并发参数调试。

环境:

        Tomcat部署容器:Centos

        Tomcat版本:7.0

        JDK版本:1.7-x64

  • Tomcat配置:

        1.将catalina-jmx-remote.jar放到tomcat目录的lib文件夹下。

        2.在conf/server.xml中配置jmx远程监听接口,通过属性rmiRegistryPortPlatform和rmiServerPortPlatform配置JMX远程监控端口值。

<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"
           rmiRegistryPortPlatform="8999" rmiServerPortPlatform="8999"/>

         3.修改bin/catalina.sh,添加jmx远程监控参数:

#add jmx monitor param
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=172.16.230.106 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.password.file=/apache-tomcat-7.0.57-x64-8084-system/conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=/apache-tomcat-7.0.57-x64-8084-system/conf/jmxremote.access -Dcom.sun.management.jmxremote.authenticate=true"

        注:java.rmi.server.hostname:tomcat所在机器的IP地址;com.sun.management.jmxremote.ssl:禁用ssl,开启后肯能会出现关闭tomcat后,jmx端口没有关闭的问题;com.sun.management.jmxremote.password.file:连接JMX的用户名和密码,用空格分隔;-Dcom.sun.management.jmxremote.access.file:连接JMX的用户名和角色,用空格分隔;Dcom.sun.management.jmxremote.authenticate:连接JMX时,是否需要进行用户名和密码认证。

   TOMCAT和JAVA虚拟机相关的参数都可以通过CATALINA_OPTS变量进行配置,例如:

# modify java runtime param
CATALINA_OPTS="$CATALINA_OPTS -server -Xms2048m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=256m"

   在centos中启动tomcat之后,可以通过查询进程看到tomcat的启动参数信息。
JMX监控centos下的tomcat_第1张图片
 

  • 客户端连接

   配置好JAVA之后,直接在命令行中输入jconsole,打开jconsole监控窗口,在监控窗口中输入JMX的监听IP+端口,以及用户名和密码。打开jconsole后,可以看到相关的运行参数信息。
JMX监控centos下的tomcat_第2张图片
 
JMX监控centos下的tomcat_第3张图片
 

 

参考地址:

   https://tomcat.apache.org/tomcat-7.0-doc/monitoring.html

   https://tomcat.apache.org/tomcat-7.0-doc/config/listeners.html

 

你可能感兴趣的:(tomcat)