WebSphere Application Server for z/OS, Version 6.0.x   
             オペレーティング・システム: z/OS

             目次と検索結果のパーソナライズ化

wsadmin ツールを使用した PMI の使用可能化

このページを参照して、管理コンソールの代わりにコマンド行を使用して、 Performance Monitoring Infrastructure を使用可能にする方法を学習します。

このタスクについて

コマンド行を使用して、Performance Monitoring Infrastructure (PMI) を使用可能にすることができます。

プロシージャー

wsadmin スクリプト・クライアントの開始 に説明されているとおりに wsadmin コマンドを実行します。 wsadmin を使用して、 Perf Mbean で PMI データを取得する操作を起動し、 PMI モニター・レベルを設定または取得し、データ・カウンターを使用可能にします。
注: PMI データが使用可能でない場合は、最初に PerfMBean で setInstrumentationLevel オペレーションを呼び出して、PMI データを使用可能にしてください。

Perf MBean での以下の操作を wsadmin で使用できます。

/** Get performance data information for stats */
public void getConfig (ObjectName mbean);

/** Returns the current statistic set */
public void getStatisticSet ();

/** Enable PMI data using the pre-defined statistic sets.
    Valid values for the statistic set are "basic", "extended", "all", and "none" */
public void setStatisticSet (String statisticSet);

/** Returns the current custom set specification as a string */
public void getCustomSetString ();

/** Customizing PMI data that is enabled using fine-grained control. 
    This method allows to enable or disable statistics selectively.
    The format of the custom set specification string is STATS_NAME=ID1,ID2,ID3 seperated by ':', where STATS_NAME and IDs are defined in WS*Stat interfaces in com.ibm.websphere.pmi.stat package.
Use * to enable all the statistics in the given PMI module. For example, to enable all the statistics for JVM and active count, pool size for thread pool use: jvmRuntimeModule=*:threadPoolModule=3,4. 
The string jvmRuntimeModule is the value of the constant WSJVMStats.NAME and threadPoolModule is the value of WSThreadPoolStats.NAME.
*/
public void setCustomSetString (String customSpec, Boolean recursive);

/** Get stats for an MBean*/
public void getStatsObject (ObjectName mbean, Boolean recursive);

/** Set instrumentation level using String format.
    This should be used by scripting for an easy String processing.
    The level STR is a list of moduleName=Level connected by ":".
    NOTE: This method is deprecated in Version 6.0
 */
public void setInstrumentationLevel(String levelStr, Boolean recursive);


/** Get instrumentation level in String for all the top level modules. 
    This should be used by scripting for an easy String processing.
    NOTE: This method is deprecated in Version 6.0
 */
public String getInstrumentationLevelString();     

/** Return the PMI data in String
    NOTE: This method is deprecated in Version 6.0
 */     
public String getStatsString(ObjectName on, Boolean recursive);      

/** Return the PMI data in String
    Used for PMI modules/submodules without direct MBean mappings.      
    NOTE: This method is deprecated in Version 6.0
 */     
public String getStatsString(ObjectName on, String submoduleName, Boolean recursive);

/** Return the submodule names if any for the MBean      
    NOTE: This method is deprecated in Version 6.0
 */
public String listStatMemberNames(ObjectName on);
MBean が StatisticProvider であり、 その ObjectName を getStatsObject に渡すと、この MBean の統計データを入手できます。以下の MBean タイプの MBean が統計プロバイダーです。
  • DynaCache
  • EJBModule
  • EntityBean
  • JDBCProvider
  • J2CResourceAdapter
  • JVM
  • MessageDrivenBean
  • ORB
  • Server
  • SessionManager
  • StatefulSessionBean
  • StatelessSessionBean
  • SystemMetrics
  • ThreadPool
  • TransactionService
  • WebModule
  • Servlet
  • WLMAppServer
  • WebServicesService
  • WSGW

wsadmin ツールで次のサンプル Jacl コマンドを使用して、 PMI データを取得します。

Perf MBean ObjectName の入手
wsadmin>set perfName [$AdminControl completeObjectName type=Perf,*]
wsadmin>set perfOName [$AdminControl makeObjectName $perfName]

getStatisticSet 操作の起動

このメソッドを使用して、現在有効な統計セットを取得します。

Wsadmin> $AdminControl invoke $perfName getStatisticSet

このメソッドは、 basic、extended、all、none の値のいずれかを戻します。

setStatisticSet 操作の起動

このメソッドを使用して、統計セットを使用したモニターを使用可能にします。

有効な統計セットの値には、basic、extended、 all、none があります。

Wsadmin> set params [java::new {java.lang.Object[]} 1] 
Wsadmin> $params set 0 [java::new java.lang.String extended]
Wsadmin> set sigs  [java::new {java.lang.String[]} 1]
Wsadmin> $sigs set 0 java.lang.String
Wsadmin> $AdminControl invoke_jmx $perfOName setStatisticSet 
$params $sigs

getConfig 操作の起動

このメソッドを使用して、 指定されたコンポーネントの統計に関する情報を取得します。

Wsadmin> set jvmName [$AdminControl completeObjectName type=JVM,*]

Wsadmin> set params [java::new {java.lang.Object[]} 1] 
Wsadmin> $params set 0 [java::new javax.management.ObjectName $jvmName]
Wsadmin> set sigs  [java::new {java.lang.String[]} 1]
Wsadmin> $sigs set 0 javax.management.ObjectName

Wsadmin> $AdminControl invoke_jmx $perfOName getConfig $params 
$sigs

このメソッドは以下のものを戻します。

    Stats type=jvmRuntimeModule, Description=The performance data from 
the Java virtual machine run time.

    {name=UpTime, ID=4, type=CountStatistic, description=The amount of 
time (in seconds) that the Java virtual machine has been running., 
unit=SECOND, level=low, statisticSet=basic, resettable=false, 
aggregatable=true}

    {name=UsedMemory, ID=3, type=CountStatistic, description=The amount 
of used memory (in KBytes) in the Java virtual machine run time., 
unit=KILOBYTE, level=low,
    statisticSet=basic, resettable=false, aggregatable=true}

    {name=FreeMemory, ID=2, type=CountStatistic, description=The free 
memory (in KBytes) in the Java virtual machine run time., 
unit=KILOBYTE, level=low, statisticSet=all, resettable=false, 
aggregatable=true}

    {name=HeapSize, ID=1, type=BoundedRangeStatistic, description=The 
total memory (in KBytes) in the Java virtual machine run time., 
unit=KILOBYTE, level=high, statisticSet=basic, resettable=false, 
aggregatable=true}

getCustomSetString 操作の起動

この操作は、 ストリング・フォーマットで現在のモニター仕様を提供します。

Wsadmin> $AdminControl invoke $perfName getCustomSetString

出力は、次のようになります。

    jvmRuntimeModule=4,3,1:systemModule=2,1:threadPoolModule=4,3:thread
PoolModule>HAManager.thread.pool=4,3:threadPoolModule>MessageListenerTh
readPool=4,3:threadPoolModule>ORB.thread.pool=4,3:threadPoolModule>Serv
let.Engine.Transports=4,3:threadPoolModule>TCS_DEFAULT=4,3:transactionM
odule=4,19,16,18,3,7,6,1,14

この出力は、統計 ID の 1、3、および 4 が JVM コンポーネントで使用可能であることを示しています。統計 ID の説明は、 上記の getConfig 操作を使用するか、または API 資料を使用して参照することができます。出力には、サーバー全体の現在のモニター仕様が含まれています。 個々のモジュールは、: で分離されており、 モジュール内の分離文字として > が使用されています。

setCustomSetString 操作の起動

この操作は、選択的に統計を使用可能または使用不可にするために使用することができます。 以下のコマンドでは、統計 ID 1、2、3、および 4 が JVM モジュールに対して使用可能です。すべての統計 ID を使用可能にするには、 アスタリスク (*) を使用します。

    Wsadmin> set params [java::new {java.lang.Object[]} 2] 
    Wsadmin> $params set 0 [java::new java.lang.String 
jvmRuntimeModule=1,2,3,4]
    Wsadmin> $params set 1 [java::new java.lang.Boolean false]

    Wsadmin> set sigs  [java::new {java.lang.String[]} 2]
    Wsadmin> $sigs set 0 java.lang.String
    Wsadmin> $sigs set 1 java.lang.Boolean


    Wsadmin> $AdminControl invoke_jmx $perfOName setCustomSetString 
$params $sigs

getStatsObject 操作の起動

この操作は、 指定された MBean の統計を取得するために使用されます。以下の例では、 JVM の統計を取得します。

    Wsadmin> set jvmName [$AdminControl completeObjectName type=JVM,*]
    Wsadmin> set params [java::new {java.lang.Object[]} 2] 
    Wsadmin> $params set 0 [java::new javax.management.ObjectName 
$jvmName]
    Wsadmin> $params set 1 [java::new java.lang.Boolean false]
    Wsadmin> set sigs  [java::new {java.lang.String[]} 2]
    Wsadmin> $sigs set 0 javax.management.ObjectName
    Wsadmin> $sigs set 1 java.lang.Boolean
    Wsadmin> $AdminControl invoke_jmx $perfOName getStatsObject $params 
$sigs
    Stats name=jvmRuntimeModule, type=jvmRuntimeModule#
    {
    name=HeapSize, ID=1, description=The total memory (in KBytes) in 
the Java virtual machine run time., unit=KILOBYTE, type=BoundedRangeStatistic, lowWaterMark=51200, highWaterMark=263038, current=263038, integral=2.494158617766E12, lowerBound
=51200, upperBound=262144

    name=FreeMemory, ID=2, description=The free memory (in KBytes) in 
the Java virtual machine run time., unit=KILOBYTE, type=CountStatistic, 
count=53509

    name=UsedMemory, ID=3, description=The amount of used memory (in KBytes) in 
the Java virtual machine run time., unit=KILOBYTE, 
type=CountStatistic, count=209528

    name=UpTime, ID=4, description=The amount of time (in seconds) that 
the Java virtual machine has been running., unit=SECOND, 
type=CountStatistic, count=83050
}

getInstrumentationLevelString 操作の起動

パラメーターがないため、invoke を使用します。

wsadmin>$AdminControl invoke $perfName 
getInstrumentationLevelString
このコマンドは以下の内容を戻します。
beanModule=H:cacheModule=H:connectionPoolModule=H:j2cModule=H:jvmRu
ntimeModule=H:orbPerfModule=H:servletSessionsModule=H:systemModule=
H:threadPoolModule=H:transactionModule=H:webAppModule=H
注: 前述のストリングのレベル (n、l、m、h、x) を変更して、そのストリングを setInstrumentationLevel メソッドに渡すことができます。
setInstrumentationLevel 操作の起動 - PMI カウンターの使用可能/使用不可
  • パラメーターを設定します ("pmi=l" は、すべてのモジュールを下位レベルに設定する場合の簡単な方法です)。
    wsadmin>set params [java::new {java.lang.Object[]} 2]
    
    wsadmin>$params set 0 [java::new java.lang.String pmi=l]
        wsadmin>$params set 1 [java::new java.lang.Boolean true]
  • シグニチャーを設定します。
    wsadmin>set sigs  [java::new {java.lang.String[]} 2]
    
    wsadmin>$sigs set 0 java.lang.String
        wsadmin>$sigs set 1 java.lang.Boolean
  • メソッドを起動します。パラメーターがあるため、invoke_jmx を使用します。
    wsadmin>$AdminControl invoke_jmx $perfOName 
    setInstrumentationLevel $params $sigs
このコマンドは何も戻しません。
注: PMI レベル・ストリングは pmi=level (ここで level は n、l、m、h、または x) のように簡単に表記するか、 または getInstrumentationLevelString から戻されるストリングで示されるフォーマットと同様に module1=level1:module2=level2:module3=level3 というように表記できます。

getStatsString(ObjectName、Boolean) 操作の起動

MBean ObjectName が分かっている場合は、正しいパラメーターを渡してメソッドを起動できます。ここでは、JVM MBean を使用しています。

このコマンドは以下の内容を戻します。
{Description jvmRuntimeModule.desc} {Descriptor {{Node wenjianpc} {Server server
1} {Module jvmRuntimeModule} {Name jvmRuntimeModule} {Type MODULE}}} {Level 7} {
Data {{{Id 4} {Descriptor {{Node wenjianpc} {Server server1} {Module jvmRuntimeM
odule} {Name jvmRuntimeModule} {Type DATA}}} {PmiDataInfo {{Name jvmRuntimeModul
e.upTime} {Id 4} {Description jvmRuntimeModule.upTime.desc} {Level 1} {Comment {
The amount of time in seconds the JVM has been running}} {SubmoduleName null} {T
ype 2} {Unit unit.second} {Resettable false}}} {Time 1033670422282} {Value {Coun
t 638} }} {{Id 3} {Descriptor {{Node wenjianpc} {Server server1} {Module jvmRunt
imeModule} {Name jvmRuntimeModule} {Type DATA}}} {PmiDataInfo {{Name jvmRuntimeM
odule.usedMemory} {Id 3} {Description jvmRuntimeModule.usedMemory.desc} {Level 1
} {Comment {Used memory in JVM runtime}} {SubmoduleName null} {Type 2} {Unit uni
t.kbyte} {Resettable false}}} {Time 1033670422282} {Value {Count 66239} }} {{Id
2} {Descriptor {{Node wenjianpc} {Server server1} {Module jvmRuntimeModule} {Nam
e jvmRuntimeModule} {Type DATA}}} {PmiDataInfo {{Name jvmRuntimeModule.freeMemor
y} {Id 2} {Description jvmRuntimeModule.freeMemory.desc} {Level 1} {Comment {Fre
e memory in JVM runtime}} {SubmoduleName null} {Type 2} {Unit unit.kbyte} {Reset
table false}}} {Time 1033670422282} {Value {Count 34356} }} {{Id 1} {Descriptor
{{Node wenjianpc} {Server server1} {Module jvmRuntimeModule} {Name jvmRuntimeMod
ule} {Type DATA}}} {PmiDataInfo {{Name jvmRuntimeModule.totalMemory} {Id 1} {Des
cription jvmRuntimeModule.totalMemory.desc} {Level 7} {Comment {Total memory in
JVM runtime}} {SubmoduleName null} {Type 5} {Unit unit.kbyte} {Resettable false}
}} {Time 1033670422282} {Value {Current 100596} {LowWaterMark 38140} {HighWaterM
ark 100596} {MBean 38140.0} }}}}

getStatsString (ObjectName、 String、Boolean) 操作の起動

この操作は String パラメーターが追加され、 一致する MBeans を持たない PMI モジュールに対して使用されます。 ここでは、PMI モジュールを表す String 名を持つ親 MBean を使用しています。MBean で使用可能な String 名は、 listStatMemberNames を呼び出して検索できます。例えば beanModule は、すべての Enterprise JavaBeans について PMI データを集約する論理モジュールですが、beanModule に MBean はありません。このため、 サーバー MBean ObjectName および String (beanModule) を渡して、 beanModule の PMI データを取得することができます。

  • MBean 照会ストリングを取得します。例えば、サーバー MBean とします。
    wsadmin>set mySrvName [$AdminControl completeObjectName 
        type=Server,name=server1,
        node=wenjianpc,*]
  • パラメーターを設定します。
    wsadmin>set params [java::new {java.lang.Object[]} 3]
    
    wsadmin>$params set 0 [$AdminControl makeObjectName $mySrvName]
    
    wsadmin>$params set 1 [java::new java.lang.String beanModule]
        wsadmin>$params set 2 [java::new java.lang.Boolean true]
  • シグニチャーを設定します。
    wsadmin>set sigs  [java::new {java.lang.String[]} 3]
    
    wsadmin>$sigs set 0 javax.management.ObjectName
    
    wsadmin>$sigs set 1 java.lang.String
        wsadmin>$sigs set 2 java.lang.Boolean
  • メソッドを起動します。
    wsadmin>$AdminControl invoke_jmx $perfOName getStatsString 
    $params $sigs
再帰フラグが true に設定されているため、このコマンドにより、BeanModule 階層内のすべての Enterprise JavaBeans の PMI データが戻されます。
注: このメソッドは、 直接 MBean マッピングのない PMI モジュールの統計データを取得するために使用されます。

listStatMemberNames 操作の起動

  • MBean 照会ストリングを取得します。例えば Server とします。
    wsadmin>set mySrvName [$AdminControl completeObjectName 
        type=Server,name=server1,
        
    node=wenjianpc,*]
    
  • パラメーターを設定します。
    wsadmin>set params [java::new {java.lang.Object[]} 1]
    wsadmin>$params set 0 [$AdminControl makeObjectName 
    $mySrvName]
  • シグニチャーを設定します。
    wsadmin>set sigs  [java::new {java.lang.String[]} 1]
    wsadmin>$sigs set 0 javax.management.ObjectName
        wsadmin>$AdminControlinvoke_jmx $perfOName 
        listStatMemberNames $params $sigs
このコマンドは、PMI モジュールとサブモジュールの名前を戻します。 これらに直接 MBean マッピングはありません。 名前は、スペース " " で区切られます。 次に、この名前を getStatsString メソッドの String パラメーターとして使用できます。 以下に例を示します。
beanModule connectionPoolModule j2cModule servletSessionsModule threadPoolModule 
webAppModule
wsadmin ツールで次の Jython スクリプト例をカスタマイズおよび実行し、 PMI データを取得します。
print "¥n------------------------------------------------------------------------------------------------------ "
print "Obtain the Perf MBean ObjectName"
print "------------------------------------------------------------------------------------------------------ "
perfName = AdminControl.completeObjectName ('type=Perf,*')
perfOName = AdminControl.makeObjectName (perfName)
print perfOName
print "------------------------------------------------------------------------------------------------------ ¥n"


print "¥n------------------------------------------------------------------------------------------------------ "
print "Invoke getStatisticSet operation "
print "------------------------------------------------------------------------------------------------------ "
print AdminControl.invoke (perfName, 'getStatisticSet')
print "------------------------------------------------------------------------------------------------------ ¥n"


print "¥n------------------------------------------------------------------------------------------------------ "
print "Invoke setStatisticSet operation"
print "------------------------------------------------------------------------------------------------------ "
params = ['extended']

sigs  = ['java.lang.String']

print AdminControl.invoke_jmx (perfOName, 'setStatisticSet', params, sigs)
print "------------------------------------------------------------------------------------------------------ ¥n"


print "¥n------------------------------------------------------------------------------------------------------ "
print "Invoke getConfig operation"
print "------------------------------------------------------------------------------------------------------ "
jvmName = AdminControl.completeObjectName ('type=JVM,*')

params = [AdminControl.makeObjectName (jvmName)] 

sigs = ['javax.management.ObjectName']

print AdminControl.invoke_jmx (perfOName, 'getConfig', params, sigs)
print "------------------------------------------------------------------------------------------------------ ¥n"


print "¥n------------------------------------------------------------------------------------------------------ "
print "Invoke getCustomSetString operation"
print "------------------------------------------------------------------------------------------------------ "
print AdminControl.invoke (perfName, 'getCustomSetString')
print "------------------------------------------------------------------------------------------------------ ¥n"


print "¥n------------------------------------------------------------------------------------------------------ "
print "Invoke setCustomSetString operation"
print "------------------------------------------------------------------------------------------------------ "
params = ['jvmRuntimeModule=1,2,3,4', java.lang.Boolean ('false')] 

sigs  = ['java.lang.String', 'java.lang.Boolean']

print AdminControl.invoke_jmx (perfOName, 'setCustomSetString', params, sigs)
print "------------------------------------------------------------------------------------------------------ ¥n"


print "¥n------------------------------------------------------------------------------------------------------ "
print "Invoke getStatsObject operation"
print "------------------------------------------------------------------------------------------------------ "
jvmName = AdminControl.completeObjectName ('type=JVM,*')

params = [AdminControl.makeObjectName (jvmName), java.lang.Boolean ('false')] 

sigs = ['javax.management.ObjectName', 'java.lang.Boolean']

print AdminControl.invoke_jmx (perfOName, 'getStatsObject', params, sigs)
print "------------------------------------------------------------------------------------------------------ ¥n"


print "¥n------------------------------------------------------------------------------------------------------ "
print "Invoke getInstrumentationLevelString operation"
print "------------------------------------------------------------------------------------------------------ "
print AdminControl.invoke (perfName, 'getInstrumentationLevelString')
print "------------------------------------------------------------------------------------------------------ ¥n"


print "¥n------------------------------------------------------------------------------------------------------ "
print "Invoke setInstrumentationLevel operation - enable/disable PMI counters "
print "------------------------------------------------------------------------------------------------------ "
params = ['pmi=l', java.lang.Boolean ('true')] 

sigs = ['java.lang.String', 'java.lang.Boolean'] 

print AdminControl.invoke_jmx (perfOName, 'setInstrumentationLevel', params, sigs)
print "------------------------------------------------------------------------------------------------------ ¥n"


print "¥n------------------------------------------------------------------------------------------------------ "
print "Invoke getStatsString(ObjectName, Boolean) operation"
print "------------------------------------------------------------------------------------------------------ "
jvmName = AdminControl.completeObjectName ('type=JVM,*')

params = [AdminControl.makeObjectName (jvmName), java.lang.Boolean ('true')]

sigs = ['javax.management.ObjectName', 'java.lang.Boolean']

print AdminControl.invoke_jmx (perfOName, 'getStatsString', params, sigs)
print "------------------------------------------------------------------------------------------------------ ¥n"


print "¥n------------------------------------------------------------------------------------------------------ "
print "Invoke getStatsString (ObjectName, String, Boolean) operation"
print "------------------------------------------------------------------------------------------------------ "
mySrvName = AdminControl.completeObjectName ('type=Server,name=server1,node=wcsNode,*')

params = [AdminControl.makeObjectName (mySrvName),
          'beanModule',
          java.lang.Boolean ('true')]

sigs = ['javax.management.ObjectName',
        'java.lang.String',
        'java.lang.Boolean')

print AdminControl.invoke_jmx (perfOName, 'getStatsString', params, sigs)
print "------------------------------------------------------------------------------------------------------ ¥n"


print "¥n------------------------------------------------------------------------------------------------------ "
print "Invoke listStatMemberNames operation"
print "------------------------------------------------------------------------------------------------------ "
mySrvName = AdminControl.completeObjectName ('type=Server,name=server1,node=wcsNode,*')

params = [AdminControl.makeObjectName (mySrvName)]

sigs = ['javax.management.ObjectName']

print AdminControl.invoke_jmx (perfOName, 'listStatMemberNames', params, sigs)
print "------------------------------------------------------------------------------------------------------ ¥n"



関連概念
Java Management Extensions (JMX)
関連タスク
管理コンソールによる PMI の使用可能化
wsadmin スクリプト・クライアントの開始
スクリプトによる Performance Manager Infrastructure の構成
関連資料
Wsadmin ツール
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 10:52:11 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.zseries.doc/info/zseries/ae/tprf_command.html