说明:
在使用JMX监控服务容器环境数据的时候需要用到各个参数查询名称,以下列出了各个容器下的监控代码以及查询参数名配置:
Java实现例子:
import javax.management.MBeanServer;
try{
//如tomcat下获取threadPool信息
String sQueryName = "Catalina:type=ThreadPool,*";
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
ObjectName threadpoolObjName = new ObjectName(sQueryName);
Set<ObjectName> s = mbs.queryNames(threadpoolObjName, null);
for (ObjectName obj : s) {
System.out.println(mbs.getAttribute(obj, "maxThreads"));
System.out.println(mbs.getAttribute(obj, "currentThreadCount"));
System.out.println(mbs.getAttribute(obj, "currentThreadsBusy"));
System.out.println(mbs.getAttribute(obj, "name"));
}
}catch(javax.management.JMRuntimeException jmre){
}
参数配置:
———————————————————————————————————————————————
Tomcat
java.lang:type=Runtime
java.lang:type=OperatingSystem
Catalina:type=Server
MEMORY_MXBEAN_NAME
Catalina:type=Manager,*
Catalina:type=ThreadPool,*
Catalina:type=GlobalRequestProcessor,*
Catalina:j2eeType=Servlet,*
Catalina:type=DataSource,class=javax.sql.DataSource,*
Glassfish
com.sun.appserv:j2eeType=J2EEServer,name=server,category=runtime
amx:pp=/J2EEDomain,type=J2EEServer,name=server,j2eeType=J2EEServer
java.lang:type=OperatingSystem
MEMORY_MXBEAN_NAME
THREAD_MXBEAN_NAME
com.sun.appserv:j2eeType=J2EEServer,name=server,category=runtime
amx:j2eeType=J2EEServer,name=server
amx:pp=/J2EEDomain,type=J2EEServer,name=server,j2eeType=J2EEServer
java.lang:type=OperatingSystem
com.sun.appserv:j2eeType=WebModule
com.sun.appserv:type=GlobalRequestProcessor
com.sun.appserv:j2eeType=J2EEApplication
com.sun.appserv:j2eeType=Servlet
com.sun.appserv:j2eeType=EJBModule
com.sun.appserv:j2eeType=JDBCResource
com.sun.appserv:j2eeType=JMSResource
com.sun.appserv:type=ThreadPool
com.sun.appserv:type=Manager
com.sun.appserv:type=Connector
com.sun.appserv:type=Selector
JBoss
jboss.system:type=Server
jboss.as:management-root=server
jboss.as:management-root=server
jboss.system:type=Server
jboss.as:management-root=server
java.lang:type=Runtime
java.lang:type=OperatingSystem
MEMORY_MXBEAN_NAME
java.lang:type=OperatingSystem
jboss.j2ee:service=EJB3,name=*,*
jboss.web:type=ThreadPool,*
jboss.jdbc:service=metadata,datasource=*
jboss.web:type=GlobalRequestProcessor,*
jboss.web:j2eeType=WebModule,*
jboss.web:j2eeType=Servlet,*
jboss.web:type=Manager,*
WebLogic
com.bea:Name=DomainRuntimeService,Type=weblogic.management.mbeanservers.domainruntime.DomainRuntimeServiceMBean
ApplicationRuntimes
WebAppComponentRuntime
JDBCDataSourceRuntime
JMSComponentRuntime
JDBCMultiDataSourceRuntime
EJBComponentRuntime
WebSphere
WebSphere:type=JVM
WebSphere:type=Server,*
WebSphere:type=SessionManager,
WebSphere:type=Servlet,
WebSphere:type=JDBCProvider,*
WebSphere:type=ThreadPool,*
WebSphere:type=EJBModule,*
webSphere官网 JMX MBean说明:
https://www.ibm.com/support/knowledgecenter/zh/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/rwlp_mbeans_list.html