如何用jmx监控tomcat 服务器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用jmx监控tomcat 服务器相关的知识,希望对你有一定的参考价值。
使用jmx监控tomcat1、在tomcat启动过程中,开启相应的参数配置:
-Dcom.sun.management.jmxremote
-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时候使用。
2、启动tomcat并使用jconsole来连接tomcat jmx接口
连接界面如下:
连接进去以后,在MBean一栏便是jmx接口。
关于jmx相关接口信息如下(主要包括java jmx接口和tomcat jmx接口两个部分) 参考技术A 使用JMX监控Tomcat示例代码
Java代码
String jmxURL = "service:jmx:rmi:///jndi/rmi://192.168.10.93:8999/jmxrmi";
JMXServiceURL serviceURL = new JMXServiceURL(jmxURL);
Map map = new HashMap();
// 用户名密码,在jmxremote.password文件中查看
String[] credentials = new String[] "monitorRole", "tomcat" ;
map.put("jmx.remote.credentials", credentials);
JMXConnector connector = JMXConnectorFactory.connect(serviceURL, map);
MBeanServerConnection mbsc = connector.getMBeanServerConnection();
// 端口最好是动态取得
ObjectName threadObjName = new ObjectName("Catalina:type=ThreadPool,name=http-8080");
MBeanInfo mbInfo = mbsc.getMBeanInfo(threadObjName);
// tomcat的线程数对应的属性值
String attrName = "currentThreadCount";
MBeanAttributeInfo[] mbAttributes = mbInfo.getAttributes();
System.out.println("currentThreadCount:" + mbsc.getAttribute(threadObjName, attrName));
以上是关于如何用jmx监控tomcat 服务器的主要内容,如果未能解决你的问题,请参考以下文章