この章では、Communications Server の管理コンソールを使ってコンポーネントを監視する方法について説明します。この章で説明する内容は次のとおりです。
監視機能を使用して Communications Server のサーバーインスタンスに配備されている各種コンポーネントおよびサービスの実行時状態を把握します。実行時コンポーネントとプロセスに関する情報を使用して、チューニングに関わるパフォーマンスボトルネックを識別し、処理能力を計画し、障害を見積もり、障害の場合の原因を分析して、期待どおりの機能性を確保できます。
監視をオンにすると、オーバーヘッドの増大によりパフォーマンスが低下します。
管理ルールを使用して、サーバーに関する潜在的な問題を通知することもできます。さらにオプションで、サーバーが一定のパフォーマンスしきい値に達したときに措置を講じることもできます。詳細については、第 21 章管理ルールの設定を参照してください。
Communications Server を監視するには、次の手順を実行します。
管理コンソールまたは asadmin ツールを使用して、特定のサービスおよびコンポーネントの監視を有効にします。
この手順の詳細については、「監視の有効化と無効化」を参照してください。
管理コンソールまたは asadmin ツールを使用して、特定のサービスおよびコンポーネントの監視データを表示します。
この手順の詳細については、「監視データの表示」を参照してください。
Communications Server は、ツリー構造を使って監視可能なオブジェクトを追跡します。監視オブジェクトのツリーは動的であり、インスタンス内におけるコンポーネントの追加、更新、削除に応じて変更されます。ツリー内のルートオブジェクトは、server などのサーバーインスタンス名です。開発者プロファイルでは、1 つのサーバーインスタンスしか使用できません。
次のコマンドを実行すると、ツリーのトップレベルが表示されます。
asadmin> list --user adminuser --monitor server server.applications server.http-service server.connector-service server.jms-service server.jvm server.orb server.resources server.thread-pools |
次の各節では、これらのサブツリーについて説明します。
次の図に、エンタープライズアプリケーションの各種コンポーネントのトップノードと子ノードを示します。監視統計が利用可能なノードには、アスタリスク (*) を付けています。詳細については、「EJB コンテナの統計」を参照してください。
applications |--- application1 | |--- ejb-module-1 | | |--- ejb1 * | | |--- cache (for entity/sfsb) * | | |--- pool (for slsb/mdb/entity) * | | |--- methods | | |---method1 * | | |---method2 * | | |--- stateful-session-store (for sfsb)* | | |--- timers (for s1sb/entity/mdb) * | |--- web-module-1 | | |--- virtual-server-1 * | | |---servlet1 * | | |---servlet2 * |--- standalone-web-module-1 | | |----- virtual-server-2 * | | |---servlet3 * | | |---servlet4 * | | |----- virtual-server-3 * | | |---servlet3 *(same servlet on different vs) | | |---servlet5 * |--- standalone-ejb-module-1 | | |--- ejb2 * | | |--- cache (for entity/sfsb) * | | |--- pool (for slsb/mdb/entity) * | | |--- methods | | |--- method1 * | | |--- method2 * |--- application2
HTTP サービスのノードを、次の図に示します。監視情報が利用可能なノードには、アスタリスク (*) を付けています。「SIP コンテナの統計」を参照してください。
sip-service |--- netwrok-manager* |---overload-protection-manager* |---session-manager* !---transaction-manager*
HTTP サービスのノードを、次の図に示します。監視情報が利用可能なノードには、アスタリスク (*) を付けています。「HTTP サービスの統計」を参照してください。
http-service |--- virtual-server-1 |--- http-listener-1 * |--- http-listener-2 * |--- virtual-server-2 |--- http-listener-1 * |--- http-listener-2 *
http-service * |---connection-queue * |---dns * |---file-cache * |---keep-alive * |---virtual-server-1* | |--- request * |---virtual-server-2* | |--- request *
リソースノードには、JDBC 接続プールやコネクタ接続プールなどのプールの監視可能な属性が格納されます。次の図に、各種リソースコンポーネントのトップノードと子ノードを示します。監視統計が利用可能なノードには、アスタリスク (*) を付けています。「JDBC 接続プールの統計」を参照してください。
resources |---connection-pool1(either connector-connection-pool or jdbc)* |---connection-pool2(either connector-connection-pool or jdbc)*
コネクタサービスノードには、コネクタ接続プールなどのプールの監視可能な属性が格納されます。次の図に、各種コネクタサービスコンポーネントのトップノードと子ノードを示します。監視統計が利用可能なノードには、アスタリスク (*) を付けています。「JMS サービスおよびコネクタサービスの統計」を参照してください。
connector-service |--- resource-adapter-1 | |-- connection-pools | | |-- pool-1 (All pool stats for this pool) | |-- work-management (All work mgmt stats for this RA)
JMS サービスノードには、コネクタ接続プールなどのプールの監視可能な属性が格納されます。次の図に、各種 JMS サービスコンポーネントのトップノードと子ノードを示します。監視統計が利用可能なノードには、アスタリスク (*) を付けています。
jms-service |-- connection-factories [AKA conn. pools in the RA world] | |-- connection-factory-1 (All CF stats for this CF) |-- work-management (All work mgmt stats for the MQ-RA)
ORB ノードには、接続マネージャーの監視可能な属性が格納されます。次の図に、各種 ORB コンポーネントのトップノードと子ノードを示します。監視統計が利用可能なノードには、アスタリスク (*) を付けています。「ORB の接続マネージャーの統計」を参照してください。
orb |--- connection-managers | |--- connection-manager-1 * | |--- connection-manager-1 *
スレッドプールノードには、接続マネージャーの監視可能な属性が格納されます。次の図に、各種 ORB コンポーネントのトップノードと子ノードを示します。監視統計が利用可能なノードには、アスタリスク (*) を付けています。「スレッドプールの統計」を参照してください。
thread-pools | |--- thread-pool-1 * | |--- thread-pool-2 *
この節では、利用可能な監視統計について説明します。
SIP サービスの統計を次の表に示します。
SIP コンテナの統計を次の表に示します。
表 20–1 SIP サービスネットワークマネージャーの統計
属性名 |
データ型 |
説明 |
---|---|---|
receivedsiprequestsi |
CountStatistic |
受信した SIP 要求の数 (再送を含む)。 |
sentsiprequests |
CountStatistic |
発信および中継で送信した SIP 要求の数 (再送とフォークを含む)。 |
receivedsipresponses |
CountStatistic |
受信した SIP 応答の数 (再送を含む)。 |
sentsipresponses |
CountStatistic |
発信および中継で送信した SIP 応答の数 (再送を含む)。 |
invalidsipmessages |
CountStatistic |
SIP メッセージとして認識されなかった受信メッセージの数 (再送を含む)。これらのメッセージは要求または応答として認識されないか、無効な応答コードによる応答として認識されます。 |
表 20–2 過負荷保護マネージャーの統計
属性名 |
データ型 |
説明 |
---|---|---|
overloadrejectedsiprequests |
CountStatistic |
過負荷状態のため拒否された SIP 要求の数。 |
overloadrejectedhttpeequests |
CountStatistic |
過負荷状態のため拒否された HTTP 要求の数。 |
表 20–3 セッションマネージャーの統計
属性名 |
データ型 |
説明 |
---|---|---|
concurrentsipdialogs |
CountStatistic |
現在ノードに保存されている SIP ダイアログの数。 |
failedsipdialogs |
CountStatistic |
失敗した SIP ダイアログ設定の数。アプリケーションまたは信号パスの 1 つあとのノードが、4xx-6xx 応答コードで応答しています。 |
expiredsipdialogs |
CountStatistic |
セッションの有効期限切れにより削除された SIP ダイアログの数。 |
sucessfulsipdialogs |
CountStatistic |
正常に確立された SIP ダイアログの数。 |
totalsipdialogcount |
CountStatistic |
SIP ダイアログの合計数。この数は、sucessfulsipdialogs + expiredsipdialogs + failedsipdialogs - concurrentsipdialogs として計算されます。 |
totalsipdialoglifetime |
CountStatistic |
SIP ダイアログのライフタイムの合計 (ミリ秒単位)。 |
表 20–4 トランザクションマネージャーの統計
属性名 |
データ型 |
説明 |
---|---|---|
sipservertransactions |
CountStatistic |
処理中または終了状態に達した SIP サーバートランザクションの数。 |
sipclienttransactions |
CountStatistic |
処理中または終了状態に達した SIP クライアントトランザクションの数。 |
totalsiptransactioncount |
CountStatistic |
SIP トランザクションの合計数。 |
totalsiptransactiontime |
CountStatistic |
すべての SIP トランザクションの応答時間の合計 (ミリ秒単位)。 |
EJB コンテナの統計を次の表に示します。
EJB 統計を次の表に示します。
表 20–5 EJB 統計
属性名 |
データ型 |
説明 |
---|---|---|
createcount |
CountStatistic |
特定の EJB に対する create メソッドの呼び出し回数。 |
removecount |
CountStatistic |
特定の EJB に対する remove メソッドの呼び出し回数。 |
pooledcount |
RangeStatistic |
プールされた状態にあるエンティティー Bean の数。 |
readycount |
RangeStatistic |
実行可能状態にあるエンティティー Bean の数。 |
messagecount |
CountStatistic |
特定のメッセージ駆動型 Bean に対して受信されたメッセージの数。 |
methodreadycount |
RangeStatistic |
MethodReady 状態にあるステートフルまたはステートレスセッション Beans の数。 |
passivecount |
RangeStatistic |
Passive 状態にあるステートフルセッション Beans の数。 |
EJB メソッド呼び出しに関して利用可能な統計を、次の表に示します。
表 20–6 EJB メソッドの統計
属性名 |
データ型 |
説明 |
---|---|---|
methodstatistic |
TimeStatistic |
特定の操作の呼び出し回数。その呼び出しにかかった合計時間など。 |
CountStatistic |
メソッド実行時に例外が発生した回数。この情報は、EJB コンテナの監視が有効になっている場合に、ステートレスおよびステートフルのセッション Beans とエンティティー Beans に対して収集されます。 |
|
CountStatistic |
メソッドが正常に実行された回数。この情報は、EJB コンテナの監視が有効になっている場合に、ステートレスおよびステートフルのセッション Beans とエンティティー Beans に対して収集されます。 |
|
CountStatistic |
成功または失敗した最後の操作実行時にメソッド実行に費やされた時間 (ミリ秒)。この情報は、EJB コンテナの監視が有効になっている場合に、ステートレスおよびステートフルのセッション Beans とエンティティー Beans に対して収集されます。 |
EJB セッションストアに関する統計を、次の表に示します。
表 20–7 EJB セッションストアの統計
属性名 |
データ型 |
説明 |
---|---|---|
currentSize |
RangeStatistic |
現在ストア内に存在している、非活性化またはチェックポイント化されたセッションの数。 |
activationCount |
CountStatistic |
ストアから活性化されたセッションの数。 |
activationSuccessCount |
CountStatistic |
ストアからの活性化に成功したセッションの数 |
activationErrorCount |
CountStatistic |
成功または失敗した最後の操作実行時にメソッド実行に費やされた時間 (ミリ秒)。この情報は、EJB コンテナの監視が有効になっている場合に、ステートレスおよびステートフルのセッション Beans とエンティティー Beans に対して収集されます。 |
passivationCount |
CountStatistic |
このストアを使って非活性化されたセッションの数。 |
passivationSuccessCount |
CountStatistic |
このストアを使って正常に非活性化されたセッションの数。 |
passivationErrorCount |
CountStatistic |
このストアを使って非活性化できなかったセッションの数。 |
expiredSessionCount |
CountStatistic |
期限切れによりこのストアから削除されたセッションの数。 |
passivatedBeanSize |
CountStatistic |
このストアによって非活性化されたバイト数の合計 (合計、最小、最大を含む)。 |
passivationTime |
CountStatistic |
Beans のストアへの非活性化に要した時間 (合計、最小、最大を含む)。 |
checkpointCount (エンタープライズプロファイルのみ) |
CountStatistic |
このストアを使ってチェックポイント化されたセッションの数。 |
checkpointSuccessCount (エンタープライズプロファイルのみ) |
CountStatistic |
正常にチェックポイント化されたセッションの数。 |
checkpointErrorCount (エンタープライズプロファイルのみ) |
CountStatistic |
チェックポイント化できなかったセッションの数。 |
checkpointedBeanSize (エンタープライズプロファイルのみ) |
ValueStatistic |
ストアによってチェックポイント化されたバイト数の合計。 |
checkpointTime (エンタープライズプロファイルのみ) |
TimeStatistic |
Beans のストアへのチェックポイント化に要した時間。 |
EJB プールに関して利用可能な統計を、次の表に示します。
表 20–8 EJB プールの統計
属性名 |
データ型 |
説明 |
---|---|---|
BoundedRangeStatistic |
関連付けられたプール内の EJB 数。これにより、プールがどのように変化しているかがわかります。 |
|
BoundedRangeStatistic |
未使用 Beans を取得するために待機しているスレッドの数。これは、要求が過剰である可能性を示します。 |
|
CountStatistic |
関連付けられたプール内でデータ収集開始後に作成された Beans の数。 |
|
CountStatistic |
関連付けられたプール内でデータ収集開始後に破棄された Beans の数。 |
|
CountStatistic |
メッセージ駆動型 Bean のサービスを提供するために JMS セッション内に一度にロード可能なメッセージの最大数。デフォルトは 1 です。メッセージ駆動型 Beans 用のプールにのみ適用されます。 |
EJB キャッシュに関して利用可能な統計を、次の表に示します。
表 20–9 EJB キャッシュの統計
属性名 |
データ型 |
説明 |
---|---|---|
BoundedRangeStatistic |
ユーザー要求に対する Bean がキャッシュ内で見つからなかった回数。 |
|
BoundedRangeStatistic |
ユーザー要求に対するエントリがキャッシュ内で見つかった回数。 |
|
numbeansincache |
BoundedRangeStatistic |
キャッシュ内の Beans 数。これは現在のキャッシュサイズです。 |
CountStatistic |
非活性化された Bean の数。ステートフルセッション Beans にのみ適用されます。 |
|
CountStatistic |
非活性化中に発生したエラーの数。ステートフルセッション Beans にのみ適用されます。 |
|
CountStatistic |
クリーンアップスレッドによって削除された期限切れセッションの数。ステートフルセッション Beans にのみ適用されます。 |
|
CountStatistic |
非活性化が正常に終了した回数。ステートフルセッション Beans にのみ適用されます。 |
タイマーに関して利用可能な統計を、次の表に示します。
表 20–10 タイマーの統計
Statistic |
データ型 |
説明 |
---|---|---|
numtimerscreated |
CountStatistic |
システム内で作成されたタイマーの数。 |
numtimersdelivered |
CountStatistic |
システムによって配信されたタイマーの数。 |
numtimersremoved |
CountStatistic |
システムから削除されたタイマーの数。 |
Web コンテナは、「アプリケーションのツリー」に示したオブジェクトツリー内に含まれます。Web コンテナの統計は、個々の Web アプリケーションごとに表示されます。Web コンテナのサーブレットに関して利用可能な統計を表 20–11 に、Web モジュールに関して利用可能な統計を表 20–12 に示します。
表 20–11 Web コンテナ (サーブレット) の統計
Statistic |
単位 |
データ型 |
コメント |
---|---|---|---|
errorcount |
番号 |
CountStatistic |
応答コードが 400 以上になった場合の累計件数。 |
maxtime |
ミリ秒 |
CountStatistic |
Web コンテナの要求待ち状態の最大継続時間。 |
processingtime |
ミリ秒 |
CountStatistic |
各要求の処理に要した時間の累計値。この処理時間は、要求処理時間を要求数で割って得られた平均値です。 |
requestcount |
番号 |
CountStatistic |
その時点までに処理された要求の合計数。 |
Web モジュールに関して利用可能な統計を、「Web コンテナの統計」に示します。
表 20–12 Web コンテナ (Web モジュール) の統計
Statistic |
データ型 |
コメント |
---|---|---|
jspcount |
CountStatistic |
この Web モジュール内に読み込まれた JSP ページの数。 |
jspreloadcount |
CountStatistic |
この Web モジュール内に再読み込みされた JSP ページの数。 |
sessionstotal |
CountStatistic |
この Web モジュールに対して作成されたセッションの合計数。 |
activesessionscurrent |
CountStatistic |
この Web モジュールで現在アクティブになっているセッションの数。 |
activesessionshigh |
CountStatistic |
この Web モジュールで同時にアクティブになれるセッションの最大数。 |
rejectedsessionstotal |
CountStatistic |
この Web モジュールで拒否されたセッションの合計数。これは、最大許可セッション数がすでにアクティブになっていたために作成されなかったセッションの数です。 |
expiredsessionstotal |
CountStatistic |
この Web モジュールで期限切れになったセッションの合計数。 |
sessionsize |
AverageRangeStatistic |
この Web モジュールのセッションのサイズ。値は high、low、average のいずれかです。ただし、直列化されたセッションの場合はバイト値になります。 |
sessionpersisttime |
AverageRangeStatistic |
この Web モジュールの HTTP セッション状態のバックエンドストアへの持続化に要した時間 (ミリ秒値、low、high、average のいずれか)。 |
cachedsessionscurrent |
CountStatistic |
この Web モジュールで現在メモリー内にキャッシュされているセッションの数。 |
passivatedsessionscurrent |
CountStatistic |
この Web モジュールで現在非活性化されているセッションの数。 |
開発者プロファイルの HTTP サービスに関して利用可能な統計を、次の表に示します。
表 20–13 HTTP サービスの統計 (開発者プロファイル)
Statistic |
単位 |
データ型 |
コメント |
---|---|---|---|
bytesreceived |
バイト |
CountStatistic |
各要求プロセッサが受信したバイトの累計値。 |
bytessent |
バイト |
CountStatistic |
各要求プロセッサが送信したバイトの累計値。 |
currentthreadcount |
番号 |
CountStatistic |
リスナースレッドプール内に現在存在している処理スレッドの数。 |
currentthreadsbusy |
番号 |
CountStatistic |
要求処理用リスナースレッドプール内で現在使用されている要求処理スレッドの数。 |
errorcount |
番号 |
CountStatistic |
エラー回数の累計値。これは、応答コードが 400 以上になった場合の回数を表します。 |
maxsparethreads |
番号 |
CountStatistic |
存在可能な未使用応答処理スレッドの最大数。 |
minsparethreads |
番号 |
CountStatistic |
存在可能な未使用応答処理スレッドの最小数。 |
maxthreads |
番号 |
CountStatistic |
リスナーが作成する要求処理スレッドの最大数。 |
maxtime |
ミリ秒 |
CountStatistic |
スレッド処理時間の最大値。 |
processing-time |
ミリ秒 |
CountStatistic |
各要求の処理に要した時間の累計値。この処理時間は、要求処理時間を要求数で割って得られた平均値です。 |
request-count |
番号 |
CountStatistic |
その時点までに処理された要求の合計数。 |
JDBC リソースを監視することで、パフォーマンスを測定するとともに、実行時のリソースの使用状況を把握します。JDBC 接続の作成はコストのかかる処理であり、アプリケーションのパフォーマンス上のボトルネックになることが多いため、JDBC 接続プールで新しい接続がどのように解放/作成されているかや、特定のプールから接続を取得するために待機しているスレッドがどれくらい存在するかを監視することが不可欠です。
JDBC 接続プールに関して利用可能な統計を、次の表に示します。
表 20–14 JDBC 接続プールの統計
Statistic |
単位 |
データ型 |
説明 |
---|---|---|---|
numconnfailedvalidation |
番号 |
CountStatistic |
開始時刻から前回のサンプリング時刻までの間に検証に失敗した接続プール内の接続の合計数。 |
numconnused |
番号 |
RangeStatistic |
接続の使用状況に関する統計を提供します。現在使用されている合計接続数に加え、過去に使用された接続の最大数 (ハイウォーターマーク) に関する情報も提供します。 |
numconnfree |
番号 |
CountStatistic |
前回のサンプリング時点におけるプール内の未使用接続の合計数。 |
numconntimedout |
番号 |
BoundedRangeStatistic |
開始時刻から前回のサンプリング時刻までの間にタイムアウトしたプール内の接続の合計数。 |
averageconnwaittime |
番号 |
CountStatistic |
コネクタ接続プールに対する接続要求が成功した場合の平均接続待ち時間を示します。 |
waitqueuelength |
番号 |
CountStatistic |
サービスを受けるためにキュー内で待機している接続要求の数。 |
connectionrequestwaittime |
RangeStatistic |
接続要求の最長待ち時間と最短待ち時間。現在の値は、プールのサービスを最後に受けた要求の待ち時間を示します。 |
|
numconncreated |
ミリ秒 |
CountStatistic |
前回のリセット後に作成された物理接続の数。 |
numconndestroyed |
番号 |
CountStatistic |
前回のリセット後に破棄された物理接続の数。 |
numconnacquired |
番号 |
CountStatistic |
プールから取得された論理接続の数。 |
numconnreleased |
番号 |
CountStatistic |
プールに解放された論理接続の数。 |
コネクタ接続プールに関して利用可能な統計を、表 20–15 に示します。コネクタ作業管理に関する統計を、表 20–16 に示します。
表 20–15 コネクタ接続プールの統計
Statistic |
単位 |
データ型 |
説明 |
---|---|---|---|
numconnfailedvalidation |
番号 |
CountStatistic |
開始時刻から前回のサンプリング時刻までの間に検証に失敗した接続プール内の接続の合計数。 |
numconnused |
番号 |
RangeStatistic |
接続の使用状況に関する統計を提供します。現在使用されている合計接続数に加え、過去に使用された接続の最大数 (ハイウォーターマーク) に関する情報も提供します。 |
numconnfree |
番号 |
RangeStatistic |
前回のサンプリング時点におけるプール内の未使用接続の合計数。 |
numconntimedout |
番号 |
CountStatistic |
開始時刻から前回のサンプリング時刻までの間にタイムアウトしたプール内の接続の合計数。 |
averageconnwaittime |
番号 |
CountStatistic |
接続プールからサービスを受けるまでにかかった平均接続待ち時間。 |
waitqueuelenght |
番号 |
CountStatistic |
サービスを受けるためにキュー内で待機している接続要求の数。 |
connectionrequestwaittime |
RangeStatistic |
接続要求の最長待ち時間と最短待ち時間。現在の値は、プールのサービスを最後に受けた要求の待ち時間を示します。 |
|
numconncreated |
ミリ秒 |
CountStatistic |
前回のリセット後に作成された物理接続の数。 |
numconndestroyed |
番号 |
CountStatistic |
前回のリセット後に破棄された物理接続の数。 |
numconnacquired |
番号 |
CountStatistic |
プールから取得された論理接続の数。 |
numconnreleased |
番号 |
CountStatistic |
プールに解放された論理接続の数。 |
コネクタ作業管理に関して利用可能な統計を、次の図に示します。
表 20–16 コネクタ作業管理の統計
Statistic |
データ型 |
説明 |
---|---|---|
activeworkcount |
RangeStatistic |
コネクタによって実行された作業オブジェクトの数。 |
waitqueuelength |
RangeStatistic |
実行される前にキュー内で待機している作業オブジェクトの数。 |
workrequestwaittime |
RangeStatistic |
作業オブジェクトが実行されるまでの最長待ち時間と最短待ち時間。 |
submittedworkcount |
CountStatistic |
コネクタモジュールによって送信された作業オブジェクトの数。 |
rejectedworkcount |
CountStatistic |
Communications Server によって拒否された作業オブジェクトの数。 |
completedworkcount |
CountStatistic |
完了した作業オブジェクトの数。 |
ORB の接続マネージャーに関して利用可能な統計を、次の図に示します。
表 20–17 ORB の接続マネージャーの統計
Statistic |
単位 |
データ型 |
説明 |
---|---|---|---|
connectionsidle |
番号 |
CountStatistic |
ORB への接続のうち、アイドル状態のものの合計数を提供します。 |
connectionsinuse |
番号 |
CountStatistic |
ORB への接続のうち、使用中のものの合計数を提供します。 |
totalconnections |
番号 |
BoundedRangeStatistic |
ORB への接続の合計数。 |
スレッドプールに関して利用可能な統計を、次の表に示します。
表 20–18 スレッドプールの統計
Statistic |
単位 |
データ型 |
説明 |
---|---|---|---|
averagetimeinqueue |
ミリ秒 |
RangeStatistic |
キュー内の要求が処理されるまでの平均待ち時間 (ミリ秒)。 |
averageworkcompletion-time |
ミリ秒 |
RangeStatistic |
1 つの作業の平均完了時間 (ミリ秒)。 |
currentnumberofthreads |
番号 |
BoundedRangeStatistic |
要求処理スレッドの現在の数。 |
numberofavailablethreads |
番号 |
CountStatistic |
利用可能なスレッドの数。 |
numberofbusythreads |
番号 |
CountStatistic |
ビジー状態のスレッドの数。 |
totalworkitemsadded |
番号 |
CountStatistic |
その時点までに作業キューに追加された作業項目の合計数。 |
トランザクションサービスを使えば、クライアントはトランザクションサブシステムをフリーズできます。フリーズすると、トランザクションをロールバックしたり、フリーズ時点で処理中であったトランザクションを特定したりできます。トランザクションサービスに関して利用可能な統計を、次の表に示します。
表 20–19 トランザクションサービスの統計
Statistic |
データ型 |
説明 |
---|---|---|
activecount |
CountStatistic |
現在アクティブなトランザクションの数。 |
activeids |
StringStatistic |
現在アクティブなトランザクションの ID。それらの各トランザクションは、トランザクションサービスのフリーズ後にロールバックすることができます。 |
committedcount |
CountStatistic |
コミットされたトランザクションの数。 |
rolledbackcount |
CountStatistic |
ロールバックされたトランザクションの数。 |
state |
StringStatistic |
トランザクションがフリーズされたかどうかを示します。 |
JVM の監視可能な属性は、常に有効になっています。JVM に関して利用可能な統計を、次の表に示します。
表 20–20 JVM の統計
Statistic |
データ型 |
説明 |
---|---|---|
heapsize |
BoundedRangeStatistic |
JVM のメモリーヒープサイズの上限と下限の間にある常駐メモリーフットプリント。 |
uptime |
CountStatistic |
JVM の稼働時間。 |
Java SE では、JVM から追加の監視情報を取得できます。監視レベルを「低」に設定すると、この追加情報の表示が有効になります。監視レベルを「高」に設定すると、さらにシステム内の各ライブスレッドに関する情報も表示されます。Java SE で利用可能な追加監視機能の詳細については、『Monitoring and Management for the Java Platform』というタイトルの文書を参照してください。この文書は、http://java.sun.com/javase/6/docs/technotes/guides/management/ にあります。
Java SE 監視ツールについては、http://java.sun.com/javase/6/docs/technotes/tools/#manage を参照してください。
Java SE の JVM で利用可能なクラス読み込み関連の統計を、次の図に示します。
表 20–21 Java SE の JVM 統計 - クラス読み込み
Statistic |
データ型 |
説明 |
---|---|---|
loadedclasscount |
CountStatistic |
JVM 内に現在読み込まれているクラスの数。 |
totalloadedclasscount |
CountStatistic |
JVM の実行開始後に読み込まれたクラスの合計数。 |
unloadedclasscount |
CountStatistic |
JVM の実行開始後に JVM から読み込み解除されたクラスの数。 |
Java SE の JVM で利用可能なコンパイル関連の統計を、次の図に示します。
表 20–22 Java SE の JVM 統計 - コンパイル
Statistic |
データ型 |
説明 |
---|---|---|
totalcompilationtime |
CountStatistic |
コンパイルに費やされた時間の累計 (ミリ秒)。 |
Java SE の JVM で利用可能なガベージコレクション関連の統計を、次の図に示します。
表 20–23 Java SE の JVM 統計 - ガベージコレクション
Statistic |
データ型 |
説明 |
---|---|---|
collectioncount |
CountStatistic |
実行されたコレクションの合計回数。 |
collectiontime |
CountStatistic |
コレクション時間の累計値 (ミリ秒)。 |
Java SE の JVM で利用可能なメモリー関連の統計を、次の図に示します。
表 20–24 Java SE の JVM 統計 - メモリー
Statistic |
データ型 |
説明 |
---|---|---|
objectpendingfinalizationcount |
CountStatistic |
ファイナライズを保留しているオブジェクトの概算数。 |
initheapsize |
CountStatistic |
JVM が最初に要求したヒープのサイズ。 |
usedheapsize |
CountStatistic |
現在使用されているヒープのサイズ。 |
maxheapsize |
CountStatistic |
メモリー管理用として使用可能なメモリーの最大サイズ (バイト)。 |
committedheapsize |
CountStatistic |
JVM 用としてコミットされたメモリーのサイズ (バイト)。 |
initnonheapsize |
CountStatistic |
JVM が最初に要求した非ヒープ領域のサイズ。 |
usednonheapsize |
CountStatistic |
現在使用されている非ヒープ領域のサイズ。 |
maxnonheapsize |
CountStatistic |
メモリー管理用として使用可能なメモリーの最大サイズ (バイト)。 |
committednonheapsize |
CountStatistic |
JVM 用としてコミットされたメモリーのサイズ (バイト)。 |
Java SE の JVM で利用可能なオペレーティングシステム関連の統計を、次の図に示します。
表 20–25 Java SE の JVM 統計 - オペレーティングシステム
Statistic |
データ型 |
説明 |
---|---|---|
arch |
StringStatistic |
オペレーティングシステムのアーキテクチャー。 |
availableprocessors |
CountStatistic |
JVM が使用できるプロセッサの数。 |
name |
StringStatistic |
オペレーティングシステムの名前。 |
version |
StringStatistic |
オペレーティングシステムのバージョン。 |
Java SE の JVM で利用可能なランタイム関連の統計を、次の図に示します。
表 20–26 Java SE の JVM 統計 - ランタイム
Statistic |
データ型 |
説明 |
---|---|---|
name |
StringStatistic |
実行中の JVM を表す名前 |
vmname |
StringStatistic |
JVM 実装の名前。 |
vmvendor |
StringStatistic |
JVM 実装のベンダー。 |
vmversion |
StringStatistic |
JVM 実装のバージョン。 |
specname |
StringStatistic |
JVM 仕様の名前。 |
specvendor |
StringStatistic |
JVM 仕様のベンダー。 |
specversion |
StringStatistic |
JVM 仕様のバージョン。 |
managementspecversion |
StringStatistic |
JVM が実装している管理仕様のバージョン。 |
classpath |
StringStatistic |
システムクラスローダーがクラスファイルの検索時に使用するクラスパス。 |
librarypath |
StringStatistic |
Java のライブラリパス。 |
bootclasspath |
StringStatistic |
ブートストラップクラスローダーがクラスファイルの検索時に使用するクラスパス。 |
inputarguments |
StringStatistic |
JVM に渡された入力引数。main メソッドに対する引数は含みません。 |
uptime |
CountStatistic |
JVM の稼働時間 (ミリ秒)。 |
Java SE の JVM で利用可能な ThreadInfo 関連の統計を、次の図に示します。
表 20–27 Java SE の JVM 統計 - ThreadInfo
Statistic |
データ型 |
説明 |
---|---|---|
threadid |
CountStatistic |
スレッドの ID。 |
threadname |
StringStatistic |
スレッドの名前 |
threadstate |
StringStatistic |
スレッドの状態。 |
blockedtime |
CountStatistic |
このスレッドが BLOCKED 状態に入ったあと経過した時間 (ミリ秒)。スレッド競合監視が無効になっている場合は、-1 が返されます。 |
blockedcount |
CountStatistic |
このスレッドが BLOCKED 状態に入った合計回数。 |
waitedtime |
CountStatistic |
スレッドが WAITING 状態に入ったあと経過した時間 (ミリ秒)。スレッド競合監視が無効になっている場合は、-1 が返されます。 |
waitedcount |
CountStatistic |
スレッドが WAITING 状態または TIMED_WAITING 状態になった合計回数。 |
lockname |
StringStatistic |
このスレッドが獲得をブロックされている監視ロック、またはこのスレッドが Object.wait メソッド経由で通知されるのを待っている監視ロックの文字列表現。 |
lockownerid |
CountStatistic |
このスレッドのブロック対象オブジェクトの監視ロックを保持しているスレッドの ID。 |
lockownername |
StringStatistic |
このスレッドのブロック対象オブジェクトの監視ロックを保持しているスレッドの名前。 |
stacktrace |
StringStatistic |
このスレッドに関連付けられているスタックトレース。 |
Java SE の JVM で利用可能なスレッド関連の統計を、次の図に示します。
表 20–28 Java SE の JVM 統計 - スレッド
Statistic |
データ型 |
説明 |
---|---|---|
threadcount |
CountStatistic |
ライブデーモンスレッドと非デーモンスレッドの現在の数。 |
peakthreadcount |
CountStatistic |
JVM 起動後またはピーク値リセット後におけるライブスレッドのピーク数。 |
totalstartedthreadcount |
CountStatistic |
JVM が起動されて以来、作成されたスレッド、起動されたスレッド、作成および起動されたスレッドの合計数。 |
daemonthreadcount |
CountStatistic |
ライブデーモンスレッドの現在の数。 |
allthreadids |
StringStatistic |
すべてのライブスレッド ID のリスト。 |
currentthreadcputime |
CountStatistic |
CPU 時間の測定が有効になっている場合は、現在のスレッドに対する CPU 時間 (ナノ秒)。CPU 時間の測定が無効になっている場合は、-1 が返されます。 |
monitordeadlockedthreads |
StringStatistic |
監視デッドロックが発生しているスレッド ID のリスト。 |
ここでは、次の内容について説明します。
管理コンソールを使用して監視を設定するには、次の手順に従います。
開発者プロファイルの場合は、「設定」->「監視」の順に選択します。
クラスタおよびエンタープライズプロファイルの場合は、「設定」->「設定」->「監視」の順に選択します。
デフォルトでは、すべてのコンポーネントおよびサービスについて監視はオフになっています。監視をオンにするには、コンボボックスから「LOW」または「HIGH」を選択します。監視をオフにするには、コンボボックスから「OFF」を選択します。
監視の設定の詳細については、管理コンソールで利用可能なオンラインヘルプを参照してください。
get コマンドを使って監視が現在有効になっているサービスとコンポーネントを確認します。
asadmin> get --user admin-user server.monitoring-service.module-monitoring-levels.* |
次の結果が返されます。
server.monitoring-service.module-monitoring-levels. connector-connection-pool = OFF server.monitoring-service.module-monitoring-levels. connector-service = OFF server.monitoring-service.module-monitoring-levels.ejb-container = OFF server.monitoring-service.module-monitoring-levels.http-service = OFF server.monitoring-service.module-monitoring-levels.sip-service = OFF server.monitoring-service.module-monitoring-levels.jdbc-connection-pool = OFF server.monitoring-service.module-monitoring-levels.jms-service = OFF server.monitoring-service.module-monitoring-levels.jvm = OFF server.monitoring-service.module-monitoring-levels.orb = OFF server.monitoring-service.module-monitoring-levels.thread-pool = OFF server.monitoring-service.module-monitoring-levels.transaction-service = OFF server.monitoring-service.module-monitoring-levels.web-container = OFF |
set コマンドを使って監視を有効にします。
たとえば、HTTP サービスの監視を有効にするには、次のようにします。
asadmin> set --user admin-user server.monitoring-service.module-monitoring-levels.http-service=LOW |
監視を無効にするには、set コマンドを使って監視レベルに OFF を指定します。
開発者プロファイルの場合、監視データを表示するには、「Application Server」->「監視」の順に選択します。
クラスタおよびエンタープライズプロファイルの場合、スタンドアロンインスタンスの監視データを表示するには、「スタンドアロンインスタンス」->「インスタンス」->「監視」の順に選択します。クラスタ化されたインスタンスの監視データを表示するには、「クラスタ」->「クラスタ」->「インスタンス」->「監視」の順に選択します。
JVM、サーバー、アプリケーション、スレッドプール、SIP サービス、HTTP サービス、トランザクションサービス、ログ統計、および呼び出しフロー統計の監視データを選択して表示できます。「監視可能なオブジェクトのツリー構造について」を参照してください。
監視の表示または設定の詳細については、管理コンソールで利用可能なオンラインヘルプを参照してください。
各コンポーネントやサービスの属性の詳細については、「監視対象のコンポーネントとサービスの統計について」を参照してください。
ここでは、次の内容について説明します。
asadmin で監視データを表示する方法は 2 とおりあります。最初の方法では、monitor コマンドを使用します。このコマンドは、一般的な監視統計を出力します。統計情報を絞り込むためのオプションと、出力をコンマ区切り (CSV) ファイルに取り込むためのオプションがあります。
監視データを表示するには、monitor コマンドを使用して、監視データのタイプを指定します。監視データのタイプには、httplistener、siplistener、keepalive、filecache、connectionqueue、jdbcpool、jvm、threadpool、servlet、connection、connectorpool、endpoint、entitybean、messagedriven、statefulsession、statelesssession、httpservice、または webmodule があります。
たとえば、server 上の jvm のデータを表示するには、次のように入力します。
asadmin>monitor --type jvm --user adminuser server |
JVM Monitoring UpTime(ms) HeapSize(bytes) current min max low high count 327142979 0 531628032 0 45940736 45940736 |
監視データを表示して CSV ファイルに出力を送信するには、filename オプションを使用します。次に例を示します。
asadmin> monitor --type jvm --filename myoutputfile --user adminuser server |
ほとんどの状況で monitor コマンドを使用できます。ただし、monitor コマンドでは、監視可能なすべてのオブジェクトの完全なリストは表示できません。asadmin ツールを使用して監視可能なすべてのデータを表示するには、asadmin list および asadmin get コマンドに続けて監視可能なオブジェクトのドット表記名を使用します。手順を次に示します。
監視可能なオブジェクトの名前を表示するには、asadmin list コマンドを使用します。
たとえば、サーバーインスタンスで監視が有効なアプリケーションコンポーネントおよびサブシステムのリストを表示するには、次のコマンドを端末ウィンドウに入力します。
asadmin> list --user adminuser --monitor server |
前述のコマンドは、監視が有効なアプリケーションコンポーネントおよびサブシステムの次のようなリストを返します。
server.resources server.connector-service server.orb server.jms-service server.jvm server.applications server.http-service server.sip-service server.thread-pools |
list コマンドのその他の使用例については、「list コマンドと get コマンドの例」を参照してください。list コマンドで使用できるドット表記名の詳細については、「ドット表記名とその指定方法について」を参照してください。
監視が有効なアプリケーションコンポーネントまたはサブシステムの監視統計を表示するには、asadmin get コマンドを使用します。
統計を取得するには、asadmin get コマンドを端末ウィンドウに入力して、前述の手順の list コマンドで表示された名前を指定します。次の例では、特定のオブジェクトのサブシステムからすべての属性を取得します。
asadmin> get --user adminuser --monitor server.jvm.* |
このコマンドは次の属性およびデータを返します。
server.jvm.dotted-name = server.jvm server.jvm.heapsize-current = 21241856 server.jvm.heapsize-description = Provides statistical information about the JVM's memory heap size. server.jvm.heapsize-highwatermark = 21241856 server.jvm.heapsize-lastsampletime = 1080232913938 server.jvm.heapsize-lowerbound = 0 server.jvm.heapsize-lowwatermark = 0 server.jvm.heapsize-name = JvmHeapSize server.jvm.heapsize-starttime = 1080234457308 server.jvm.heapsize-unit = bytes server.jvm.heapsize-upperbound = 518979584 server.jvm.uptime-count = 1080234457308 server.jvm.uptime-description = Provides the amount of time the JVM has been running. server.jvm.uptime-lastsampletime = 1080234457308 server.jvm.uptime-name = JvmUpTime server.jvm.uptime-starttime = 1080232913928 server.jvm.uptime-unit = milliseconds |
get コマンドのその他の使用例については、「list コマンドと get コマンドの例」を参照してください。get コマンドで使用できるドット表記名の詳細については、「ドット表記名とその指定方法について」を参照してください。
asadmin list コマンドと asadmin get コマンドでは、監視可能オブジェクトのドット表記名を指定します。すべての子オブジェクトのアドレス指定にはドット (.) 文字が区切り文字として使用され、それらの名前は「ドット表記名」と呼ばれます。子ノードが単独タイプの場合、その監視オブジェクトタイプを指定するだけで、そのオブジェクトを指定できます。それ以外の場合は、type.name 形式の名前を指定する必要があります。
たとえば、http-service は、有効な監視可能オブジェクトタイプの 1 つであり、単独タイプです。インスタンス server の http-service を表す単独タイプの子ノードを指定する場合、ドット表記名は次のようになります。
server.http-service
もう 1 つ例を挙げます。applications は、有効な監視可能オブジェクトタイプですが、単独タイプではありません。たとえば、アプリケーション PetStore を表す、単独タイプでない子ノードを指定するには、ドット表記名は次のようになります。
server.applications.petstore
また、監視可能なオブジェクトの特定の属性も、ドット表記名で指定します。たとえば、http-service には、bytesreceived-lastsampletime という名前の監視可能な属性があります。次の名前は、bytesreceived 属性を指定していることになります。
server.http-service.server.http-listener-1. bytesreceived-lastsampletime
管理者は、asadmin list コマンドと asadmin get コマンドの有効なドット表記名を覚えておく必要はありません。list コマンドを使えば、利用可能な監視可能オブジェクトが表示され、ワイルドカードパラメータ付きの get コマンドを使えば、任意 の監視可能オブジェクトで利用可能なすべての属性を確認することができます。
list コマンドと get コマンドでドット表記名を使用する場合、根本的に次のことを前提としています。
list コマンドでドット表記名の後にワイルドカード (*) が指定されていなかった場合、現在のノードの直接の子ノードが結果として返される。たとえば、list --user adminuser --monitor server を実行した場合、server ノードに属するすべての直接の子ノードが一覧表示される。
list コマンドでドット表記名の後に .* 形式のワイルドカードが指定されていた場合、現在のノードの子ノード階層ツリーが結果として返される。たとえば、list --user adminuser --monitor server.applications.* を実行した場合、applications のすべての子ノードに加え、それらの配下にある子ノードなども一覧表示される。
list コマンドで *dottedname、dotted * name、dotted name * のいずれかの形式でドット表記名の前後にのワイルドカードが指定されていた場合、そのマッチングパターンによって生成された正規表現にマッチするすべてのノードとそれらの子ノードが、結果として返される。
get コマンドの末尾に「.*」、「*」のいずれかが指定されていた場合、マッチング対象の現在のノードに属する属性とその値のセットが、結果として返される。
詳細については、「すべてのレベルにおける list コマンドと get コマンドの予想出力」を参照してください。
ここでは、次の内容について説明します。
list コマンドは、指定されたサーバーインスタンス名で現在監視されているアプリケーションコンポーネントやサブシステムに関する情報を提供します。このコマンドを使えば、特定のサーバーインスタンスの監視可能なコンポーネントやそのサブコンポーネントを表示できます。list のより詳しい例については、「すべてのレベルにおける list コマンドと get コマンドの予想出力」を参照してください。
asadmin> list --user admin-user --monitor server |
前述のコマンドは、監視が有効なアプリケーションコンポーネントおよびサブシステムの次のようなリストを返します。
server.resources server.orb server.jvm server.jms-service server.connector-service server.applications server.http-service server.thread-pools |
また、指定されたサーバーインスタンス内で現在監視されているアプリケーションを一覧表示することも可能です。これは、get コマンドを使って特定のアプリケーションの特定の監視統計を取得する場合に便利です。
asadmin> list --user admin-user --monitor server.applications
次の結果が返されます。
server.applications.adminapp server.applications.admingui server.applications.myApp
より包括的な例については、「PetStore サンプルを使用する」を参照してください。
特定のコンポーネントまたはサブシステム内で監視されているすべての属性
特定のコンポーネントまたはサブシステム内で監視されている特定の属性
特定のコンポーネントまたはサブシステムに存在しない属性が要求された場合、エラーが返されます。同様に、特定のコンポーネントまたはサブシステムのアクティブでない属性が要求された場合も、エラーが返されます。
get コマンドの使用方法の詳細については、「すべてのレベルにおける list コマンドと get コマンドの予想出力」を参照してください。
特定のオブジェクトのすべての属性をサブシステムから取得します。
asadmin> get --user admin-user --monitor server.jvm.* |
次の結果が返されます。
server.jvm.dotted-name= server.jvm server.jvm.heapsize-current = 21241856 server.jvm.heapsize-description = Provides statistical information about the JVM's memory heap size. server.jvm.heapsize-highwatermark = 21241856 server.jvm.heapsize-lastsampletime = 1080232913938 server.jvm.heapsize-lowerbound = 0 server.jvm.heapsize-lowwatermark = 0 server.jvm.heapsize-name = JvmHeapSize server.jvm.heapsize-starttime = 1080234457308 server.jvm.heapsize-unit = bytes server.jvm.heapsize-upperbound = 518979584 server.jvm.uptime-count = 1080234457308 server.jvm.uptime-description = Provides the amount of time the JVM has been running. server.jvm.uptime-lastsampletime = 1080234457308 server.jvm.uptime-name = JvmUpTime server.jvm.uptime-starttime = 1080232913928 server.jvm.uptime-unit = milliseconds |
特定の Java EE アプリケーションからすべての属性を取得します。
asadmin> get --user admin-user --monitor server.applications.myJavaEEApp.* |
次の結果が返されます。
No matches resulted from the wildcard expression. CLI137 Command get failed. |
Java EE アプリケーションレベルで公開されている監視可能な属性が存在しないため、このような応答が表示されました。
特定のサブシステムから特定の属性を取得します。
asadmin> get --user admin-user --monitor server.jvm.uptime-lastsampletime |
次の結果が返されます。
server.jvm.uptime-lastsampletime = 1093215374813
特定のサブシステム属性内から未知の属性を取得します。
asadmin> get --user admin-user --monitor server.jvm.badname |
次の結果が返されます。
No such attribute found from reflecting the corresponding Stats interface: [badname] CLI137 Command get failed. |
次の例は、asadmin ツールを監視目的でどのように使えばよいかを示したものです。
あるユーザーが、Communications Server 上に配備済みのサンプル Petstore アプリケーションに含まれる特定のメソッドの呼び出し回数を調査しようとしています。その配備先インスタンスの名前は、server です。list コマンドと get コマンドを併用することで、そのメソッドの目的の統計情報にアクセスします。
Communications Server と asadmin ツールを起動します。
いくつかの有用な環境変数を設定することで、それらの値をコマンドごとに入力しないですむようにします。
asadmin> export AS_ADMIN_USER=admin AS_ADMIN_PASSWORD=admin123 asadmin>export AS_ADMIN_HOST=localhost AS_ADMIN_PORT=4848 |
インスタンス server の監視可能なコンポーネントを一覧表示します。
asadmin> list --user adminuser --monitor server* |
次のような出力結果が返されます。
server server.applications server.applications.CometEJB server.applications.ConverterApp server.applications.petstore server.http-service server.resources server.thread-pools |
この監視可能なコンポーネントの一覧には、thread-pools、http-service、resources、および配備済みで有効化されているすべての applicationsが含まれています。
PetStore アプリケーションの監視可能なサブコンポーネントを一覧表示します (--monitor の代わりに -m を使用可能)。
asadmin> list -m server.applications.petstore
次の結果が返されます。
server.applications.petstore.signon-ejb_jar server.applications.petstore.catalog-ejb_jar server.applications.petstore.uidgen-ejb_jar server.applications.petstore.customer-ejb_jar server.applications.petstore.petstore-ejb_jar server.applications.petstore.petstore\.war server.applications.petstore.AsyncSenderJAR_jar server.applications.petstore.cart-ejb_jar |
Petstore アプリケーションの EJB モジュール signon-ejb_jar の監視可能なサブコンポーネントを一覧表示します。
asadmin> list -m server.applications.petstore.signon-ejb_jar |
次の結果が返されます。
server.applications.petstore.signon-ejb_jar.SignOnEJB server.applications.petstore.signon-ejb_jar.UserEJB |
Petstore アプリケーションの EJB モジュール signon-ejb_jar のエンティティー Bean UserEJB に含まれる監視可能なサブコンポーネントを一覧表示します。
asadmin> list -m server.applications.petstore.signon-ejb_jar.UserEJB |
次の結果が返されます (ドット表記名はスペースの関係で削除してある)。
server.applications.petstore.signon-ejb_jar.UserEJB.bean-cache server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods server.applications.petstore.signon-ejb_jar.UserEJB.bean-pool |
PetStore アプリケーションの EJB モジュール signon-ejb_jar のエンティティー Bean UserEJB に含まれるメソッド getUserName 内の監視可能なサブコンポーネントを一覧表示します。
asadmin> list -m server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.getUserName |
次の結果が返されます。
Nothing to list at server.applications.petstore.signon-ejb_jar. UserEJB.bean-methods.getUserName. To get the valid names beginning with a string, use the wildcard "*" character. For example, to list all names that begin with "server", use "list server*". |
メソッドに対する監視可能なサブコンポーネントは存在しません。メソッド getUserName の監視可能なすべての統計を取得します。
asadmin> get -m server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.getUserName.* |
次の結果が返されます。
server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.executiontime-count = 0 server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.executiontime-description = Provides the time in milliseconds spent during the last successful/unsuccessful attempt to execute the operation. server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.executiontime-lastsampletime = 1079981809259 server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.executiontime-name = ExecutionTime server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.executiontime-starttime = 1079980593137 server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.executiontime-unit = count server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.methodstatistic-count = 0 server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.methodstatistic-description = Provides the number of times an operation was called, the total time that was spent during the invocation and so on. server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.methodstatistic-lastsampletime = 1079980593137 server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.methodstatistic-maxtime = 0 server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.methodstatistic-mintime = 0 server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.methodstatistic-name = ExecutionTime server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.methodstatistic-starttime = 1079980593137 server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.methodstatistic-totaltime = 0 server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.methodstatistic-unit = server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.totalnumerrors-count = 0 server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.totalnumerrors-description = Provides the total number of errors that occured during invocation or execution of an operation. server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.totalnumerrors-lastsampletime = 1079981809273 server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.totalnumerrors-name = TotalNumErrors server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.totalnumerrors-starttime = 1079980593137 server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.totalnumerrors-unit = count server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.totalnumsuccess-count = 0 server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.totalnumsuccess-description = Provides the total number of successful invocations of the method. server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.totalnumsuccess-lastsampletime = 1079981809255 server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.totalnumsuccess-name = TotalNumSuccess server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.totalnumsuccess-starttime = 1079980593137 server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.totalnumsuccess-unit = count |
また、実行回数など、特定の統計を取得するには、次のようなコマンドを使用します。
asadmin> get -m server.applications.petstore.signon-ejb_jar. UserEJB.bean-methods.getUserName.executiontime-count |
次の結果が返されます。
server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods. getUserName.executiontime-count = 1 |
次の各表は、ツリーの各レベルにおけるコマンド、ドット表記名、および対応する出力を示したものです。
表 20–29 トップレベル
コマンド |
ドット表記名 |
出力 |
|
---|---|---|---|
list -m |
server |
|
|
list -m |
server.* |
このノードから下の子ノード階層。 |
|
get -m |
server.* |
このノードに属性が存在しないことを示すメッセージだけが表示されます。 |
次の表に、アプリケーションレベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 20–30 アプリケーションレベル
コマンド |
ドット表記名 |
出力 |
|
---|---|---|---|
list -m |
server.applications または *applications |
|
|
list -m |
server.applications.* または *applications.* |
このノードから下の子ノード階層。 |
|
get -m |
server.applications.* または *applications.* |
このノードに属性が存在しないことを示すメッセージだけが表示されます。 |
次の表に、アプリケーションレベルのスタンドアロンモジュールとエンタープライズアプリケーションのコマンド、ドット表記名、および対応する出力を示します。
表 20–31 アプリケーション - エンタープライズアプリケーションとスタンドアロンモジュール
コマンド |
ドット表記名 |
出力 |
|
---|---|---|---|
list -m |
server.applications.app1 または *app1 注: このレベルが適用可能なのは、エンタープライズアプリケーションが配備されている場合だけです。スタンドアロンモジュールが配備されている場合には適用できません。 |
ejb-module1_jarweb-module2_warejb-module3_jarweb- module3_war... |
|
list -m |
server.applications.app1.* または *app1.* |
このノードから下の子ノード階層。 |
|
get -m |
server.applications.app1.* または *app1.* |
このノードに属性が存在しないことを示すメッセージだけが表示されます。 |
|
list -m |
server.applications.app1.ejb-module1_jar または *ejb-module1_jar または server.applications.ejb-module1_jar |
bean1bean2bean3... |
|
list -m |
server.applications.app1.ejb-module1_jar または *ejb-module1_jar または server.applications.ejb-module1_jar |
このノードから下の子ノード階層。 |
|
get -m |
server.applications.app1.ejb-module1_jar.* または *ejb-module1_jar.* または server.applications.ejb-module1_jar.* |
このノードに属性が存在しないことを示すメッセージだけが表示されます。 |
|
list -m |
server.applications.app1.ejb-module1_jar.bean1 注: スタンドアロンモジュールでは、アプリケーション名を含むノード (この例では app1) は表示されません。 |
次の子ノード一覧が表示されます。 bean-poolbean-cachebean-method |
|
list -m |
server.applications.app1.ejb-module1_jar .bean1 注: スタンドアロンモジュールでは、アプリケーション名を含むノード (この例では app1) は表示されません。 |
子ノードの階層とこのノードとそれより下のすべての子ノードの全属性の一覧。 |
|
get -m |
server.applications.app1.ejb-module1_jar .bean1.* 注: スタンドアロンモジュールでは、アプリケーション名を含むノード (この例では app1) は表示されません。 |
次の属性とそれらの関連付けられた値が表示されます。
|
|
list -m |
server.applications.app1.ejb-module1_jar .bean1.bean-pool 注: スタンドアロンモジュールでは、アプリケーション名を含むノード (この例では app1) は表示されません。 |
属性は表示されず、 server.applications.appl.ejb-module1_jar.bean1-cache には表示すべき情報がないことを示すメッセージが表示されます。特定の文字列で始まる有効な名前を取得するには、ワイルドカード (*) 文字を使用します。たとえば、server で始まるすべての名前を一覧表示するには、list server* を使用します。 |
|
get -m |
server.applications.app1.ejb-module1_jar .bean1.bean-pool.* 注: スタンドアロンモジュールでは、アプリケーション名を含むノード (この例では app1) は表示されません。 |
表 20–8 で説明した EJB プール属性に対応する属性と値の一覧。 |
|
list -m |
server.applications.app1.ejb-module1_jar .bean1.bean-cache 注: スタンドアロンモジュールでは、アプリケーション名を含むノード (この例では app1) は表示されません。 |
属性は表示されず、代わりに「get --monitor コマンドを使用して、このノードの属性と値を表示してください。」というメッセージが表示されます。 |
|
get -m |
server.applications.app1.ejb-module1_jar .bean1.bean-cache.* 注: スタンドアロンモジュールでは、アプリケーション名を含むノード (この例では app1) は表示されません。 |
表 20–9 で説明した EJB キャッシュ属性に対応する属性と値の一覧。 |
|
list -m |
server.applications.app1.ejb-module1_jar .bean1.bean-method.method1 注: スタンドアロンモジュールでは、アプリケーション名を含むノード (この例では app1) は表示されません。 |
属性は表示されず、代わりに「get --monitor コマンドを使用して、このノードの属性と値を表示してください。」というメッセージが表示されます。 |
|
get -m |
server.applications.app1.ejb-module1_jar .bean1.bean-method.method1.* 注: スタンドアロンモジュールでは、アプリケーション名を含むノード (この例では app1) は表示されません。 |
表 20–6 で説明した EJB メソッド属性に対応する属性と値の一覧。 |
|
list -m |
server.applications.app1.web-module1_war |
このモジュールに割り当てられた 1 つまたは複数の仮想サーバーが表示されます。 |
|
get -m |
server.applications.app1.web-module1_war.* |
このノードに属性が存在しないことを示すメッセージだけが表示されます。 |
|
list -m |
server.applications.app1.web-module1_war .virtual_server |
登録されているサーブレットの一覧が表示されます。 |
|
get -m |
server.applications.app1.web-module1_war .virtual_server.* |
このノードに属性が存在しないことを示すメッセージだけが表示されます。 |
|
list -m |
server.applications.app1.web-module1_war .virtual_server.servlet1 |
属性は表示されず、代わりに「get --monitor コマンドを使用して、このノードの属性と値を表示してください。」というメッセージが表示されます。 |
|
get -m |
server.applications.app1.web-module1_war .virtual_server.servlet1.* |
表 20–11 で説明した Web コンテナ (サーブレット) 属性に対応する属性と値の一覧。 |
次の表に、HTTP サービスレベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 20–32 HTTP サービスレベル
コマンド |
ドット表記名 |
出力 |
---|---|---|
list -m |
server.http-service |
仮想サーバーの一覧。 |
get -m |
server.http-service.* |
このノードに属性が存在しないことを示すメッセージだけが表示されます。 |
list -m |
server.http-service.server |
HTTP リスナーの一覧。 |
get -m |
server.http-service.server.* |
このノードに属性が存在しないことを示すメッセージだけが表示されます。 |
list -m |
server.http-service.server.http -listener1 |
属性は表示されず、代わりに「get --monitor コマンドを使用して、このノードの属性と値を表示してください。」というメッセージが表示されます。 |
get -m |
server.http-service.server.* |
表 20–13 で説明した HTTP サービス属性に対応する属性と値の一覧。 |
次の表に、スレッドプールレベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 20–33 スレッドプールレベル
コマンド |
ドット表記名 |
出力 |
---|---|---|
list -m |
server.thread-pools |
スレッドプール名の一覧。 |
get -m |
server.thread-pools.* |
このノードに属性が存在しないことを示すメッセージだけが表示されます。 |
list -m |
server.thread-pools.orb\.threadpool\ .thread-pool-1 |
属性は表示されず、代わりに「get --monitor コマンドを使用して、このノードの属性と値を表示してください。」というメッセージが表示されます。 |
get -m |
server.thread-pools..orb\.threadpool\ .thread-pool-1.* |
表 20–18 で説明したスレッドプール属性に対応する属性と値の一覧。 |
次の表に、リソースレベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 20–34 リソースレベル
コマンド |
ドット表記名 |
出力 |
---|---|---|
list -m |
server.resources |
プール名の一覧。 |
get -m |
server.resources.* |
このノードに属性が存在しないことを示すメッセージだけが表示されます。 |
list -m |
server.resources.jdbc-connection-pool-pool .connection-pool1 |
属性は表示されず、代わりに「get --monitor コマンドを使用して、このノードの属性と値を表示してください。」というメッセージが表示されます。 |
get -m |
server.resources.jdbc-connection-pool-pool .connection-pool1.* |
表 20–14 で説明した接続プール属性に対応する属性と値の一覧。 |
次の表に、トランザクションサービスレベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 20–35 トランザクションサービスレベル
コマンド |
ドット表記名 |
出力 |
---|---|---|
list -m |
server.transaction-service |
属性は表示されず、代わりに「get --monitor コマンドを使用して、このノードの属性と値を表示してください。」というメッセージが表示されます。 |
get -m |
server.transaction-service.* |
表 20–19 で説明したトランザクションサービス属性に対応する属性と値の一覧。 |
次の表に、ORB レベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 20–36 ORB レベル
コマンド |
ドット表記名 |
出力 |
---|---|---|
list -m |
server.orb |
server-orb.connection-managers |
get -m |
server.orb.* |
このノードに属性が存在しないことを示すメッセージだけが表示されます。 |
list -m |
server.orb.connection-managers |
1 つまたは複数の ORB 接続マネージャー名。 |
get -m |
server.orb.connection-managers.* |
このノードに属性が存在しないことを示すメッセージだけが表示されます。 |
list -m |
server.orb.connection-managers.orb\ .Connections\.Inbound\.AcceptedConnections |
属性は表示されず、代わりに「get --monitor コマンドを使用して、このノードの属性と値を表示してください。」というメッセージが表示されます。 |
get -m |
server.orb.connection-managers.orb\ .Connections\.Inbound\.AcceptedConnections.* |
表 20–17 で説明した ORB 接続マネージャー属性に対応する属性と値の一覧。 |
次の表に、JVM レベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 20–37 JVM レベル
コマンド |
ドット表記名 |
出力 |
---|---|---|
list -m |
server.jvm |
属性は表示されず、代わりに「get --monitor コマンドを使用して、このノードの属性と値を表示してください。」というメッセージが表示されます。 |
get -m |
server.jvm.* |
表 20–20 で説明した JVM 属性に対応する属性と値の一覧。 |
ここでは、次の内容について説明します。
Communications Server の管理と監視は、JMX テクノロジをベースにしています。つまり、Communications Server の JVM で実行している MBeanServer では、管理対象コンポーネントは MBean で表されます。
Java SE 5 では、Platform MBean Server を含めること、および JVM を設定するための MBean を含めることにより、JVM の管理と監視を拡張します。Communications Server は、これらの拡張機能を利用して、MBean を Platform MBean Server に登録します。JMX コネクタクライアントには、JVM MBean と Communications Server MBean が統合表示されます。
すべての MBean を表示するために、Communications Server にはシステム JMX コネクタサーバーという標準 JMX コネクタサーバーの設定が用意されています。Communications Server の起動時に、この JMX コネクタサーバーのインスタンスが起動します。規格に準拠する JMX コネクタクライアントはすべて、このコネクタサーバーを使用してサーバーに接続できます。
Java SE には、MBean Server に接続し、そこに登録されている MBean を表示するためのツールも用意されています。JConsole は一般的な JMX コネクタクライアントであり、標準 Java SE ディストリビューションの一部として利用できます。JConsole の詳細は、http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html を参照してください。
Communications Server で使用できるように JConsole を設定すると、Communications Server は JMX コネクタのサーバー側となり、JConsole は JMX コネクタの優先クライアント側となります。「JConsole を Application Server に接続する」に、正常な接続を作成する方法が示されています。
Communications Server 、つまりJMX コネクタサーバー側への接続方法は、接続のトランスポート層のセキュリティーによって若干異なります。サーバー側がセキュリティー保護されている (トランスポート層のセキュリティーが保証されている) 場合、クライアント側で実行する設定があります。
Communications Server の開発者プロファイルの場合、デフォルトでは、セキュリティー保護されていないシステム JMX コネクタサーバーが設定されます。
Communications Server のクラスタおよびエンタープライズプロファイルの場合、デフォルトでは、セキュリティー保護されたシステム JMX コネクタサーバーが設定されます。
通信に使用されるプロトコルは、RMI/JRMP です。JMX コネクタのセキュリティーが有効な場合、使用されるプロトコルは SSL 上の RMI/JRMP です。
SSL 上の RMI では、クライアントが目的のサーバーと通信できるようにするための追加チェックは行われません。そのため、JConsole の使用時は、悪意のあるホストにユーザー名とパスワードを送信している可能性が常にあります。セキュリティーが安全であるかどうかの確認は、管理者に完全に委ねられています。
開発者プロファイルドメインを appserver.sun.com のようなマシンにインストールすると、ドメイン管理サーバー (DAS) の domain.xml ファイルに次のようなエントリが含まれます。
<!- – The JSR 160 "system-jmx-connector" – –> <jmx-connector accept-all="false" address="0.0.0.0" auth-realm-name="admin-realm" enabled="true" name="system" port="8686" protocol="rmi_jrmp" security-enabled="false"/> <!- – The JSR 160 "system-jmx-connector" – –>
JMX コネクタの security-enabled フラグは false です。クラスタまたはエンタープライズプロファイルが稼働している場合、または開発者プロファイルの JMX コネクタのセキュリティーを有効にした場合、このフラグは true に設定されます。
<!- – The JSR 160 "system-jmx-connector" – –> <jmx-connector accept-all="false" address="0.0.0.0" auth-realm-name="admin-realm" enabled="true" name="system" port="8686" protocol="rmi_jrmp" security-enabled="true"/> ...</jmx-connector> <!- – The JSR 160 "system-jmx-connector" – –>
JConsole の設定は、2 つに分かれます。 サーバー側とクライアント側です。この例では、Communications Server ドメインは、強力な Solaris サーバーである appserver.sun.com と呼ばれるマシンにインストールされます。これがサーバー側です。
クライアント側にも Communications Server のインストールがあります。ここでは、クライアント側は Windows マシンで、Java SE 6.0 と Communications Server がインストールされているものとします。
クライアント側で Communications Server のインストールが必要になるのは、Communications Server ドメインのリモートマシン上でセキュリティーが有効な場合 (クラスタおよびエンタープライズプロファイルのデフォルト) だけです。前述の Solaris マシンで Communications Server 開発者プロファイルドメインを管理する場合、このクライアントマシンに Communications Server のインストールは必要ありません。
同じマシン上にサーバー側とクライアント側がある場合、localhost を使用してホスト名を指定できます。
この手順では、JMX コネクタでセキュリティーを有効にしないで JConsole を Communications Server に接続する方法について説明します。デフォルトでは、開発者プロファイルの Communications Server のセキュリティーは有効になっていません。
appserver.sun.com でドメインを起動します。
JDK_HOME/bin/jconsole を実行して JConsole を起動します。
JConsole の「エージェントに接続」タブで、ユーザー名、パスワード、ホスト名、およびポート (デフォルトは 8686) を入力します。
ユーザー名は管理ユーザーの名前、パスワードはドメインの管理パスワードを参照します。
「接続」をクリックします。
JConsole ウィンドウの各種タブに、MBean、VM 情報などが表示されます。
この手順では、JMX コネクタでセキュリティーを有効にして JConsole を Communications Server に接続する方法について説明します。クラスタまたはエンタープライズプロファイルの Communications Server のセキュリティーは、デフォルトで有効になっています。この手順は、開発者プロファイルの JMX コネクタでセキュリティーを有効にした場合に使用してください。
クライアントマシン (JConsole がインストールされている) に Communications Server をインストールします。
この作業が必要になるのは、信頼するドメイン管理サーバーのサーバー証明書の場所を JConsole に対して通知するためです。この証明書を取得するには、リモートの asadmin コマンドを 1 回以上呼び出しますが、そのためには Communications Server のローカルインストールが必要です。
appserver.sun.com で Communications Server を起動します。
これはクラスタまたはエンタープライズドメインであるため、システム JMX コネクタサーバーはセキュリティー保護されています。開発者プロファイルの JMX コネクタのセキュリティーを有効にするには、管理コンソールのオンラインヘルプを参照してください。
ローカル Communications Server インストールから install-dir\bin\asadmin list --user admin --secure=true --host appserver.sun.com --port 4848 を実行します。4848 はサーバーの管理ポートです。
この例では asadmin list コマンドを選択していますが、任意のリモート asadmin コマンドを実行できます。appserver.sun.com の DAS から送信される証明書を受け入れることを要求されます。
y を押して、appserver.sun.com の DAS から送信される証明書を受け入れます。
サーバーの証明書は、クライアントマシンのホームディレクトリにある .asadmintruststore ファイルに格納されます。
サーバーマシンとクライアントマシンが同じである場合、この手順は必要ありません。つまり、JConsole も appserver.sun.com で稼働している場合です。
次の JConsole コマンドを使用して、トラストストアの場所を JConsole に通知します。
JDK-dir\bin\jconsole.exe -J-Djavax.net.ssl.trustStore="C:\Documents and Settings\user\.asadmintruststore"
JDK_HOME/bin/jconsole を実行して JConsole を起動します。
JConsole の「エージェントに接続」タブで、ユーザー名、パスワード、ホスト名、およびポート (デフォルトは 8686) を入力します。
ユーザー名は管理ユーザーの名前、パスワードはドメインの管理パスワードを参照します。
「接続」をクリックします。
JConsole ウィンドウの各種タブに、MBean、VM 情報などが表示されます。