监控的对象为如下列表
DynaCache|EjbModule|EntityBean|JDBCProvider|J2CResourceAdapter|JVM|MessageDrivenBean
ORB|Server|SessionManager|StatefulSessionBean| StatelessSessionBean|SystemMetrics|ThreadPool
TransactionService|WebModule|Servlet| WLMAppServer|WebServicesService|WSGW
JACL
set perfName [$AdminControl completeObjectName type=Perf,*]
set perfOName [$AdminControl makeObjectName $perfName]
set threadName [$AdminControl completeObjectName type=JVM,*]
set params [java::new {java.lang.Object[]} 2]
$params set 0 [java::new javax.management.ObjectName $threadName]
$params set 1 [java::new java.lang.Boolean false]
set sigs [java::new {java.lang.String[]} 2]
$sigs set 0 javax.management.ObjectName
$sigs set 1 java.lang.Boolean
$AdminControl invoke_jmx $perfOName getStatsObject $params $sigs
JYTHON
perfName = AdminControl.completeObjectName('type=Perf,*')
perfOName = AdminControl.makeObjectName(perfName)
params=['jvmRuntimeModule=1,2,3,4,5' , java.lang.Boolean ('false')]
sigs = ['java.lang.String','java.lang.Boolean']
AdminControl.invoke_jmx(perfOName,'setCustomSetString',params,sigs)
perfOName = AdminControl.makeObjectName(perfName)
jvmName =AdminControl.completeObjectName('type=JVM,*')
#threadName =AdminControl.completeObjectName('type=ThreadPool,name=ORB.thread.pool,*')
params = [AdminControl.makeObjectName(jvmName),java.lang.Boolean('false')]
sigs = ['javax.management.ObjectName','java.lang.Boolean']
print AdminControl.invoke_jmx(perfOName,'getStatsObject',params,sigs)
结果如下:
Stats name=jvmRuntimeModule, type=jvmRuntimeModule#
{
name=HeapSize, ID=1, description=Java 虚拟机运行时中的总内存(以千字节计)。, unit=千字节, type=BoundedRangeStatistic, lowWaterMark=2097152, highWaterMark=2097152, current=2097152, integral=0.0, lowerBound=2097152, upperBound=2097152
name=FreeMemory, ID=2, description=Java 虚拟机运行时中的空闲内存(以千字节计)。, unit=千字节, type=CountStatistic, count=935371
name=UsedMemory, ID=3, description=Java 虚拟机运行时中使用的内存容量(以千字节计)。, unit=千字节, type=CountStatistic, count=1161780
name=UpTime, ID=4, description=Java 虚拟机已经运行的时间数(以秒为单位)。, unit=SECOND, type=CountStatistic, count=1987434
name=ProcessCpuUsage, ID=5, description=Java 虚拟机的 CPU 使用情况(以百分比为单位)。, unit=不适用, type=CountStatistic, count=0
}
获取会话
set perfName [$AdminControl completeObjectName type=Perf,*]
set perfOName [$AdminControl makeObjectName $perfName]
set jvmName [$AdminControl completeObjectName type=SessionManager,name=BOSS_WEB#BOSS_WEB.war,*]
set params [java::new {java.lang.Object[]} 2 ]
$params set 0 [java::new javax.management.ObjectName $jvmName]
$params set 1 [java::new java.lang.Boolean false]
set sigs [java::new {java.lang.String[]} 2 ]
$sigs set 0 javax.management.ObjectName
$sigs set 1 java.lang.Boolean
$AdminControl invoke_jmx $perfOName getStatsObject $params $sigs