監視機能を使用して Application Server のサーバーインスタンスに配備されている各種コンポーネントおよびサービスの実行時状態を把握します。実行時コンポーネントとプロセスに関する情報を使用して、チューニングに関わるパフォーマンスボトルネックを識別し、処理能力を計画し、障害を見積もり、障害の場合の原因を分析して、期待通りの機能性を確保できます。
監視をオンにすると、オーバーヘッドの増大によりパフォーマンスが低下します。
この章の内容は次のとおりです。
Application Server を監視するには、次の手順を実行します。
管理コンソールまたは asadmin ツールを使用して、特定のサービスおよびコンポーネントの監視を有効にします。
この手順の詳細については、「監視の有効化と無効化」を参照してください。
管理コンソールまたは asadmin ツールを使用して、特定のサービスおよびコンポーネントの監視データを表示します。
この手順の詳細については、「監視データの表示」を参照してください。
Application Server は、ツリー構造を使って監視可能なオブジェクトを追跡します。監視オブジェクトのツリーは動的であり、インスタンス内におけるコンポーネントの追加、更新、削除に応じて変更されます。ツリー内のルートオブジェクトは、server などのサーバーインスタンス名です。Platform Edition では、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 (エンティティー/sfsb) * | | |--- pool (ステートレスセッション/メッセージ駆動型/エンティティー Bean 用) * | | |--- methods | | |---method1 * | | |---method2 * | | |--- stateful-session-store (sfsb)* | | |--- timers (ステートレスセッション/エンティティー/mdb) * | |--- web-module-1 | | |--- virtual-server-1 * | | |---servlet1 * | | |---servlet2 * |--- standalone-web-module-1 | | |----- virtual-server-2 * | | |---servlet3 * | | |---servlet4 * | | |----- virtual-server-3 * | | |---servlet3 *(ほかの仮想サーバーと同一のサーブレット) | | |---servlet5 * |--- standalone-ejb-module-1 | | |--- ejb2 * | | |--- cache (エンティティー/sfsb) * | | |--- pool (ステートレスセッション/メッセージ駆動型/エンティティー Bean 用) * | | |--- methods | | |--- method1 * | | |--- method2 * |--- application2
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 * |---pwc-thread-pool * |---virtual-server-1* | |--- request * |---virtual-server-2* | |--- request *
リソースノードには、JDBC 接続プールやコネクタ接続プールなどのプールの監視可能な属性が格納されます。次の図に、各種リソースコンポーネントのトップノードと子ノードを示します。監視統計が利用可能なノードには、アスタリスク (*) を付けています。「JDBC 接続プールの統計」を参照してください。
resources |---connection-pool1(connector-connection-pool、jdbc のいずれか)* |---connection-pool2(connector-connection-pool、jdbc のいずれか)*
コネクタサービスノードには、コネクタ接続プールなどのプールの監視可能な属性が格納されます。次の図に、各種コネクタサービスコンポーネントのトップノードと子ノードを示します。監視統計が利用可能なノードには、アスタリスク (*) を付けています。「JMS サービスおよびコネクタサービスの統計」を参照してください。
connector-service |--- resource-adapter-1 | |-- connection-pools | | |-- pool-1 (このプールのすべてのプール状態) | |-- work-management (このリソースアダプタのすべての作業管理状態)
JMS サービスノードには、コネクタ接続プールなどのプールの監視可能な属性が格納されます。次の図に、各種 JMS サービスコンポーネントのトップノードと子ノードを示します。監視統計が利用可能なノードには、アスタリスク (*) を付けています。
jms-service |-- connection-factories (リソースアダプタの世界では AKA 接続プールと呼ばれる) | |-- connection-factory-1 (この接続ファクトリのすべての接続ファクトリ状態) |-- work-management (この MQ リソースアダプタのすべての作業管理状態)
ORB ノードには、接続マネージャーの監視可能な属性が格納されます。次の図に、各種 ORB コンポーネントのトップノードと子ノードを示します。監視統計が利用可能なノードには、アスタリスク (*) を付けています。「ORB の接続マネージャーの統計」を参照してください。
orb |--- connection-managers | |--- connection-manager-1 * | |--- connection-manager-1 *
スレッドプールノードには、接続マネージャーの監視可能な属性が格納されます。次の図に、各種 ORB コンポーネントのトップノードと子ノードを示します。監視統計が利用可能なノードには、アスタリスク (*) を付けています。「スレッドプールの統計」を参照してください。
thread-pools | |--- thread-pool-1 * | |--- thread-pool-2 *
この節では、利用可能な監視統計について説明します。
EJB 統計を次の表に示します。
表 16–1 EJB 統計
Attribute Name(属性名) |
データ型 |
説明 |
---|---|---|
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 メソッド呼び出しに関して利用可能な統計を、次の表に示します。
表 16–2 EJB メソッドの統計
Attribute Name(属性名) |
データ型 |
説明 |
---|---|---|
methodstatistic |
TimeStatistic |
特定の操作の呼び出し回数。その呼び出しにかかった合計時間など。 |
CountStatistic |
メソッド実行時に例外が発生した回数。この情報は、EJB コンテナの監視が有効になっている場合に、ステートレスおよびステートフルのセッション Beans とエンティティー Beans に対して収集されます。 |
|
CountStatistic |
メソッドが正常に実行された回数。この情報は、EJB コンテナの監視が有効になっている場合に、ステートレスおよびステートフルのセッション Beans とエンティティー Beans に対して収集されます。 |
|
CountStatistic |
成功または失敗した最後の操作実行時にメソッド実行に費やされた時間 (ミリ秒)。この情報は、EJB コンテナの監視が有効になっている場合に、ステートレスおよびステートフルのセッション Beans とエンティティー Beans に対して収集されます。 |
EJB セッションストアに関する統計を、次の表に示します。
表 16–3 EJB セッションストアの統計
Attribute Name(属性名) |
データ型 |
説明 |
---|---|---|
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 (EE のみ) |
CountStatistic |
このストアを使ってチェックポイント化されたセッションの数。 |
checkpointSuccessCount (EE のみ) |
CountStatistic |
正常にチェックポイント化されたセッションの数。 |
checkpointErrorCount (EE のみ) |
CountStatistic |
チェックポイント化できなかったセッションの数。 |
checkpointedBeanSize (EE のみ) |
ValueStatistic |
ストアによってチェックポイント化された Beans の合計数。 |
checkpointTime (EE のみ) |
TimeStatistic |
Beans のストアへのチェックポイント化に要した時間。 |
EJB プールに関して利用可能な統計を、次の表に示します。
表 16–4 EJB プールの統計
Attribute Name(属性名) |
データ型 |
説明 |
---|---|---|
BoundedRangeStatistic |
関連付けられたプール内の EJB 数。これにより、プールがどのように変化しているかがわかります。 |
|
BoundedRangeStatistic |
未使用 Beans を取得するために待機しているスレッドの数。これは、要求の輻輳の可能性を示します。 |
|
CountStatistic |
関連付けられたプール内でデータ収集開始後に作成された Beans の数。 |
|
CountStatistic |
関連付けられたプール内でデータ収集開始後に破棄された Beans の数。 |
|
CountStatistic |
メッセージ駆動型 Bean のサービスを提供するために JMS セッション内に一度にロード可能なメッセージの最大数。デフォルトは 1。メッセージ駆動型 Beans 用のプールにのみ適用されます。 |
EJB キャッシュに関して利用可能な統計を、次の表に示します。
表 16–5 EJB キャッシュの統計
Attribute Name(属性名) |
データ型 |
説明 |
---|---|---|
BoundedRangeStatistic |
ユーザー要求に対する Bean がキャッシュ内で見つからなかった回数。 |
|
BoundedRangeStatistic |
ユーザー要求に対するエントリがキャッシュ内で見つかった回数。 |
|
numbeansincache |
BoundedRangeStatistic |
キャッシュ内の Beans 数。これは現在のキャッシュサイズです。 |
CountStatistic |
非活性化された Bean の数。ステートフルセッション Beans にのみ適用されます。 |
|
CountStatistic |
非活性化中に発生したエラーの数。ステートフルセッション Beans にのみ適用されます。 |
|
CountStatistic |
クリーンアップスレッドによって削除された期限切れセッションの数。ステートフルセッション Beans にのみ適用されます。 |
|
CountStatistic |
非活性化が正常に終了した回数。ステートフルセッション Beans にのみ適用されます。 |
タイマーに関して利用可能な統計を、次の表に示します。
表 16–6 タイマーの統計
Statistic |
データ型 |
説明 |
---|---|---|
numtimerscreated |
CountStatistic |
システム内で作成されたタイマーの数。 |
numtimersdelivered |
CountStatistic |
システムによって配信されたタイマーの数。 |
numtimersremoved |
CountStatistic |
システムから削除されたタイマーの数。 |
Web コンテナは、「アプリケーションのツリー」に示したオブジェクトツリー内に含まれます。Web コンテナの統計は、個々の Web アプリケーションごとに表示されます。Web コンテナのサーブレットに関して利用可能な統計を 「Web コンテナの統計」に、Web モジュールに関して利用可能な統計を 「Web コンテナの統計」に、それぞれ示します。
表 16–7 Web コンテナ (サーブレット) の統計
Statistic |
単位 |
データ型 |
コメント |
---|---|---|---|
errorcount |
番号 |
CountStatistic |
応答コードが 400 以上になった場合の累計件数。 |
maxtime |
ミリ秒 |
CountStatistic |
Web コンテナの要求待ち状態の最大継続時間。 |
processingtime |
ミリ秒 |
CountStatistic |
各要求の処理に要した時間の累計値。この処理時間は、要求処理時間を要求数で割って得られた平均値です。 |
requestcount |
番号 |
CountStatistic |
その時点までに処理された要求の合計数。 |
Web モジュールに関して利用可能な統計を、「Web コンテナの統計」に示します。
表 16–8 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 (EE のみ) |
AverageRangeStatistic |
この Web モジュールのセッションのサイズ。値は high、low、average のいずれかです。ただし、直列化されたセッションの場合はバイト値になります。 |
containerlatency (EE のみ) |
AverageRangeStatistic |
応答時間要求全体の Web コンテナ部分の応答時間。値は high、low、average のいずれかです。 |
sessionpersisttime (EE のみ) |
AverageRangeStatistic |
この Web モジュールの HTTP セッション状態のバックエンドストアへの持続化に要した時間 (ミリ秒値、low、high、average のいずれか)。 |
cachedsessionscurrent (EE のみ) |
CountStatistic |
この Web モジュールで現在メモリ内にキャッシュされているセッションの数。 |
passivatedsessionscurrent (EE のみ) |
CountStatistic |
この Web モジュールで現在非活性化されているセッションの数。 |
HTTP サービスに関して利用可能な統計を、「HTTP サービスの統計」に示します。この統計は Platform Edition のみに適用されます。Enterprise Edition の場合の HTTP サービス統計については、「PWC (Production Web Container) の統計」を参照してください。
表 16–9 HTTP サービスの統計 (Platform Edition のみに適用)
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 接続プールに関して利用可能な統計を、次の表に示します。
表 16–10 JDBC 接続プールの統計
Statistic |
単位 |
データ型 |
説明 |
---|---|---|---|
numconnfailedvalidation |
番号 |
CountStatistic |
開始時刻から前回のサンプリング時刻までの間に検証に失敗した接続プール内の接続の合計数。 |
numconnused |
番号 |
RangeStatistic |
接続の使用状況に関する統計を提供します。現在使用されている合計接続数に加え、過去に使用された接続の最大数 (ハイウォーターマーク) に関する情報も提供します。 |
numconnfree |
番号 |
RangeStatistic |
前回のサンプリング時点におけるプール内の未使用接続の合計数。 |
numconntimedout |
番号 |
BoundedRangeStatistic |
開始時刻から前回のサンプリング時刻までの間にタイムアウトしたプール内の接続の合計数。 |
averageconnwaittime |
番号 |
CountStatistic |
コネクタ接続プールに対する接続要求が成功した場合の平均接続待ち時間を示します。 |
waitqueuelength |
番号 |
CountStatistic |
サービスを受けるためにキュー内で待機している接続要求の数。 |
connectionrequestwaittime |
RangeStatistic |
接続要求の最長待ち時間と最短待ち時間。現在の値は、プールのサービスを最後に受けた要求の待ち時間を示します。 |
|
numconncreated |
ミリ秒 |
CountStatistic |
前回のリセット後に作成された物理接続の数。 |
numconndestroyed |
番号 |
CountStatistic |
前回のリセット後に破棄された物理接続の数。 |
numconnacquired |
番号 |
CountStatistic |
プールから取得された論理接続の数。 |
numconnreleased |
番号 |
CountStatistic |
プールに解放された論理接続の数。 |
コネクタ接続プールに関して利用可能な統計を、「JMS サービスおよびコネクタサービスの統計」に示します。コネクタ作業管理に関する統計を、「JMS サービスおよびコネクタサービスの統計」に示します。
表 16–11 コネクタ接続プールの統計
Statistic |
単位 |
データ型 |
説明 |
---|---|---|---|
numconnfailedvalidation |
番号 |
CountStatistic |
開始時刻から前回のサンプリング時刻までの間に検証に失敗した接続プール内の接続の合計数。 |
numconnused |
番号 |
RangeStatistic |
接続の使用状況に関する統計を提供します。現在使用されている合計接続数に加え、過去に使用された接続の最大数 (ハイウォーターマーク) に関する情報も提供します。 |
numconnfree |
番号 |
RangeStatistic |
前回のサンプリング時点におけるプール内の未使用接続の合計数。 |
numconntimedout |
番号 |
CountStatistic |
開始時刻から前回のサンプリング時刻までの間にタイムアウトしたプール内の接続の合計数。 |
averageconnwaittime |
番号 |
CountStatistic |
接続プールからサービスを受けるまでにかかった平均接続待ち時間。 |
waitqueuelenght |
番号 |
CountStatistic |
サービスを受けるためにキュー内で待機している接続要求の数。 |
connectionrequestwaittime |
RangeStatistic |
接続要求の最長待ち時間と最短待ち時間。現在の値は、プールのサービスを最後に受けた要求の待ち時間を示します。 |
|
numconncreated |
ミリ秒 |
CountStatistic |
前回のリセット後に作成された物理接続の数。 |
numconndestroyed |
番号 |
CountStatistic |
前回のリセット後に破棄された物理接続の数。 |
numconnacquired |
番号 |
CountStatistic |
プールから取得された論理接続の数。 |
numconnreleased |
番号 |
CountStatistic |
プールに解放された論理接続の数。 |
コネクタ作業管理に関して利用可能な統計を、「JMS サービスおよびコネクタサービスの統計」に示します。
表 16–12 コネクタ作業管理の統計
Statistic |
データ型 |
説明 |
---|---|---|
activeworkcount |
RangeStatistic |
コネクタによって実行された作業オブジェクトの数。 |
waitqueuelength |
RangeStatistic |
実行される前にキュー内で待機している作業オブジェクトの数。 |
workrequestwaittime |
RangeStatistic |
作業オブジェクトが実行されるまでの最長待ち時間と最短待ち時間。 |
submittedworkcount |
CountStatistic |
コネクタモジュールによって送信された作業オブジェクトの数。 |
rejectedworkcount |
CountStatistic |
Application Server によって拒否された作業オブジェクトの数。 |
completedworkcount |
CountStatistic |
完了した作業オブジェクトの数。 |
ORB の接続マネージャーに関して利用可能な統計を、「ORB の接続マネージャーの統計」に示します。
表 16–13 ORB の接続マネージャーの統計
Statistic |
単位 |
データ型 |
説明 |
---|---|---|---|
connectionsidle |
番号 |
CountStatistic |
ORB への接続のうち、アイドル状態のものの合計数を提供します。 |
connectionsinuse |
番号 |
CountStatistic |
ORB への接続のうち、使用中のものの合計数を提供します。 |
totalconnections |
番号 |
BoundedRangeStatistic |
ORB への接続の合計数。 |
スレッドプールに関して利用可能な統計を、次の表に示します。
表 16–14 スレッドプールの統計
Statistic |
単位 |
データ型 |
説明 |
---|---|---|---|
averagetimeinqueue |
ミリ秒 |
RangeStatistic |
キュー内の要求が処理されるまでの平均待ち時間 (ミリ秒)。 |
averageworkcompletion-time |
ミリ秒 |
RangeStatistic |
1 つの作業の平均完了時間 (ミリ秒)。 |
currentnumberofthreads |
番号 |
BoundedRangeStatistic |
要求処理スレッドの現在の数。 |
numberofavailablethreads |
番号 |
CountStatistic |
利用可能なスレッドの数。 |
numberofbusythreads |
番号 |
CountStatistic |
ビジー状態のスレッドの数。 |
totalworkitemsadded |
番号 |
CountStatistic |
その時点までに作業キューに追加された作業項目の合計数。 |
トランザクションサービスを使えば、クライアントはトランザクションサブシステムをフリーズできます。フリーズすると、トランザクションをロールバックしたり、フリーズ時点で処理中であったトランザクションを特定したりできます。トランザクションサービスに関して利用可能な統計を、次の表に示します。
表 16–15 トランザクションサービスの統計
Statistic |
データ型 |
説明 |
---|---|---|
activecount |
CountStatistic |
現在アクティブなトランザクションの数。 |
activeids |
StringStatistic |
現在アクティブなトランザクションの ID。それらの各トランザクションは、トランザクションサービスのフリーズ後にロールバックすることができます。 |
committedcount |
CountStatistic |
コミットされたトランザクションの数。 |
rolledbackcount |
CountStatistic |
ロールバックされたトランザクションの数。 |
state |
StringStatistic |
トランザクションがフリーズされたかどうかを示します。 |
JVM の監視可能な属性は、常に有効になっています。JVM に関して利用可能な統計を、次の表に示します。
表 16–16 JVM の統計
Statistic |
データ型 |
説明 |
---|---|---|
heapsize |
BoundedRangeStatistic |
JVM のメモリーヒープサイズの上限と下限の間にある常駐メモリーフットプリント。 |
uptime |
CountStatistic |
JVM の稼働時間。 |
Application Server がバージョン 5.0 以上の J2SE 上で動作するように設定されている場合、JVM から追加の監視情報を取得できます。監視レベルを「低」に設定すると、この追加情報の表示が有効になります。監視レベルを「高」に設定すると、さらにシステム内の各ライブスレッドに関する情報も表示されます。J2SE 5.0 で利用可能な追加監視機能の詳細については、『Monitoring and Management for the Java Platform』というタイトルの文書を参照してください。この文書は http://java.sun.com/j2se/1.5.0/docs/guide/management/ で利用可能になっています。
J2SE 5.0 の監視ツールについては、http://java.sun.com/j2se/1.5.0/docs/tooldocs/#manage を参照してください。
J2SE 5.0 の JVM で利用可能なクラス読み込み関連の統計を、「J2SE 5.0 の JVM 統計」に示します。
表 16–17 J2SE 5.0 の JVM 統計- クラス読み込み
Statistic |
データ型 |
説明 |
---|---|---|
loadedclasscount |
CountStatistic |
JVM 内に現在読み込まれているクラスの数。 |
totalloadedclasscount |
CountStatistic |
JVM の実行開始後に読み込まれたクラスの合計数。 |
unloadedclasscount |
CountStatistic |
JVM の実行開始後に JVM から読み込み解除されたクラスの数。 |
J2SE 5.0 の JVM で利用可能なコンパイル関連の統計を、「J2SE 5.0 の JVM 統計」に示します。
表 16–18 J2SE 5.0 の JVM 統計 - コンパイル
Statistic |
データ型 |
説明 |
---|---|---|
totalcompilationtime |
CountStatistic |
コンパイルに費やされた時間の累計 (ミリ秒)。 |
J2SE 5.0 の JVM で利用可能なガベージコレクション関連の統計を、「J2SE 5.0 の JVM 統計」に示します。
表 16–19 J2SE 5.0 の JVM 統計 - ガベージコレクション
Statistic |
データ型 |
説明 |
---|---|---|
collectioncount |
CountStatistic |
実行されたコレクションの合計回数。 |
collectiontime |
CountStatistic |
コレクション時間の累計値 (ミリ秒)。 |
J2SE 5.0 の JVM で利用可能なメモリー関連の統計を、「J2SE 5.0 の JVM 統計」に示します。
表 16–20 J2SE 5.0 の JVM 統計 - メモリ
Statistic |
データ型 |
説明 |
---|---|---|
objectpendingfinalizationcount |
CountStatistic |
ファイナライズを保留しているオブジェクトの概算数。 |
initheapsize |
CountStatistic |
JVM が最初に要求したヒープのサイズ。 |
usedheapsize |
CountStatistic |
現在使用されているヒープのサイズ。 |
maxheapsize |
CountStatistic |
メモリ管理用として使用可能なメモリの最大サイズ (バイト)。 |
committedheapsize |
CountStatistic |
JVM 用としてコミットされたメモリのサイズ (バイト)。 |
initnonheapsize |
CountStatistic |
JVM が最初に要求した非ヒープ領域のサイズ。 |
usednonheapsize |
CountStatistic |
現在使用されている非ヒープ領域のサイズ。 |
maxnonheapsize |
CountStatistic |
メモリ管理用として使用可能なメモリの最大サイズ (バイト)。 |
committednonheapsize |
CountStatistic |
JVM 用としてコミットされたメモリのサイズ (バイト)。 |
J2SE 5.0 の JVM で利用可能なオペレーティングシステム関連の統計を、「J2SE 5.0 の JVM 統計」に示します。
表 16–21 J2SE 5.0 の JVM 統計 - オペレーティングシステム
Statistic |
データ型 |
説明 |
---|---|---|
arch |
StringStatistic |
オペレーティングシステムのアーキテクチャー。 |
availableprocessors |
CountStatistic |
JVM が使用できるプロセッサの数。 |
name |
StringStatistic |
オペレーティングシステムの名前。 |
version |
StringStatistic |
オペレーティングシステムのバージョン。 |
J2SE 5.0 の JVM で利用可能なランタイム関連の統計を、「J2SE 5.0 の JVM 統計」に示します。
表 16–22 J2SE 5.0 の 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 の稼働時間 (ミリ秒)。 |
J2SE 5.0 の JVM で利用可能な ThreadInfo 関連の統計を、「J2SE 5.0 の JVM 統計」に示します。
表 16–23 J2SE 5.0 の 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 |
このスレッドに関連付けられているスタックトレース。 |
J2SE 5.0 の JVM で利用可能なスレッド関連の統計を、「J2SE 5.0 の JVM 統計」に示します。
表 16–24 J2SE 5.0 の JVM 統計 - スレッド
Statistic |
データ型 |
説明 |
---|---|---|
threadcount |
CountStatistic |
ライブデーモンスレッドと非デーモンスレッドの現在の数。 |
peakthreadcount |
CountStatistic |
JVM 起動後またはピーク値リセット後におけるライブスレッドのピーク数。 |
totalstartedthreadcount |
CountStatistic |
JVM が起動されて以来、作成されたスレッド、起動されたスレッド、作成および起動されたスレッドの合計数。 |
daemonthreadcount |
CountStatistic |
ライブデーモンスレッドの現在の数。 |
allthreadids |
StringStatistic |
すべてのライブスレッド ID のリスト。 |
currentthreadcputime |
CountStatistic |
CPU 時間の測定が有効になっている場合は、現在のスレッドに対する CPU 時間 (ナノ秒)。CPU 時間の測定が無効になっている場合は、-1 が返されます。 |
monitordeadlockedthreads |
StringStatistic |
監視デッドロックが発生しているスレッド ID のリスト。 |
Application Server の Enterprise Edition (EE) では、PWC の次のコンポーネントとサービスに関する統計が利用可能です。
「PWC (Production Web Container) の統計」、PWC 仮想サーバー
「PWC (Production Web Container) の統計」、PWC ファイルキャッシュ
「PWC (Production Web Container) の統計」、PWC キープアライブ
「PWC (Production Web Container) の統計」、PWC Thread Pool
「PWC (Production Web Container) の統計」、PWC 接続キュー
「PWC (Production Web Container) の統計」、PWC HTTP サービス
PWC 仮想サーバーに関する統計を、「PWC (Production Web Container) の統計」に示します。
表 16–25 PWC 仮想サーバーの統計 (EE のみ)
Attribute Name(属性名) |
データ型 |
説明 |
---|---|---|
id |
StringStatistic |
仮想サーバーの ID。 |
mode |
StringStatistic |
仮想サーバーのモード。unknown、active のいずれかを選択できます。 |
hosts |
StringStatistic |
この仮想サーバーからサービスを受けているホストの名前。 |
interfaces |
StringStatistic |
仮想サーバーに設定されたインタフェース (リスナー) のタイプ。 |
PWC 要求に関して利用可能な統計を、次の表に示します。
表 16–26 PWC 要求の統計 (EE のみ)
Attribute Name(属性名) |
データ型 |
説明 |
---|---|---|
method |
StringStatistic |
要求で使用されたメソッド。 |
uri |
StringStatistic |
最後に処理された URI。 |
countrequests |
CountStatistic |
処理された要求の数。 |
countbytestransmitted |
CountStatistic |
送信バイト数。この情報が利用不可能な場合は 0 |
countbytesreceived |
CountStatistic |
受信バイト数。この情報が利用不可能な場合は 0。 |
ratebytesreceived |
CountStatistic |
サーバーで定義されたある期間内に受信されたデータの受信速度。この情報が利用不可能な場合は 0 |
maxbytestransmissionrate |
CountStatistic |
サーバーで定義されたある期間内に送信されたデータの最大送信速度。この情報が利用不可能な場合は 0。 |
countopenconnections |
CountStatistic |
現在開いている接続の数。この情報が利用不可能な場合は 0。 |
maxopenconnections |
CountStatistic |
同時に開ける接続の最大数。この情報が利用不可能な場合は 0。 |
count2xx |
CountStatistic |
コード 2XX の応答の合計数。 |
count3xx |
CountStatistic |
コード 3XX の応答の合計数。 |
count4xx |
CountStatistic |
コード 4XX の応答の合計数。 |
count5xx |
CountStatistic |
コード 5XX の応答の合計数。 |
countother |
CountStatistic |
その他の応答コードを含む応答の合計数。 |
count200 |
CountStatistic |
コード 200 の応答の合計数。 |
count302 |
CountStatistic |
コード 302 の応答の合計数。 |
count304 |
CountStatistic |
コード 304 の応答の合計数。 |
count400 |
CountStatistic |
コード 400 の応答の合計数。 |
count401 |
CountStatistic |
コード 401 の応答の合計数。 |
count403 |
CountStatistic |
コード 403 の応答の合計数。 |
count404 |
CountStatistic |
コード 404 の応答の合計数。 |
count503 |
CountStatistic |
コード 503 の応答の合計数。 |
キャッシュ情報セクションでは、ファイルキャッシュの使用状況に関する情報が提供されます。PWC ファイルキャッシュに関する統計を、次の表に示します。
表 16–27 PWC ファイルキャッシュの統計 (EE のみ)
Attribute Name(属性名) |
データ型 |
説明 |
---|---|---|
flagenabled |
CountStatistic |
ファイルキャッシュが有効になっているかどうかを示します。有効な値は、0 (no)、1 (yes) のいずれかです。 |
secondsmaxage |
CountStatistic |
有効なキャッシュエントリの最大有効期間 (秒)。 |
countentries |
CountStatistic |
現在のキャッシュエントリの数。単一のキャッシュエントリは単一の URI を表します。 |
maxentries |
CountStatistic |
同時に存在可能なキャッシュエントリの最大数。 |
countopenentries |
CountStatistic |
特定のオープンファイルに関連付けられたエントリの数。 |
maxopenentries |
CountStatistic |
特定のオープンファイルに同時に関連付けることのできるキャッシュエントリの最大数。 |
sizeheapcache |
CountStatistic |
キャッシュコンテンツ格納用のヒープ領域。 |
maxheapcachesize |
CountStatistic |
キャッシュファイルコンテンツ格納用のヒープ領域の最大サイズ。 |
sizemmapcache |
CountStatistic |
メモリにマップされたファイルのコンテンツ用として使用するアドレス空間。 |
maxmmapcachesize |
CountStatistic |
ファイルキャッシュがメモリにマップされたファイルのコンテンツ用として使用するアドレス空間の最大サイズ。 |
counthits |
CountStatistic |
キャッシュ検索の成功回数。 |
countmisses |
CountStatistic |
キャッシュ検索の失敗回数。 |
countinfohits |
CountStatistic |
ファイル情報検索の成功回数。 |
countinfomisses |
CountStatistic |
キャッシュファイル情報検索の失敗回数。 |
countcontenthits |
CountStatistic |
キャッシュファイルコンテンツのヒット数。 |
countcontentmisses |
CountStatistic |
ファイル情報検索の失敗回数。 |
このセクションでは、サーバーの HTTP レベルキープアライブシステムに関する情報が提供されます。PWC キープアライブに関して利用可能な統計を、次の表に示します。
表 16–28 PWC キープアライブの統計 (EE のみ)
Attribute Name(属性名) |
データ型 |
説明 |
---|---|---|
countconnections |
CountStatistic |
キープアライブモードの接続の数。 |
maxconnections |
CountStatistic |
同時に存在可能なキープアライブモード接続の最大数。 |
counthits |
CountStatistic |
キープアライブモードの接続が有効な要求を生成した回数の合計。 |
countflushes |
CountStatistic |
キープアライブ接続がサーバーによって閉じられた回数。 |
countrefusals |
CountStatistic |
サーバーがキープアライブスレッドに接続を渡せなかった回数。その原因はおそらく、持続接続が多すぎたことにあります。 |
counttimeouts |
CountStatistic |
クライアント接続が何の活動も見られないままタイムアウトに達し、サーバーがそのキープアライブ接続を終了した回数。 |
secondstimeout |
CountStatistic |
アイドル状態のキープアライブ接続が閉じられるまでの時間 (秒)。 |
DNS キャッシュでは、IP アドレスと DNS 名がキャッシュされます。サーバーの DNS キャッシュはデフォルトで無効になっています。単一のキャッシュエントリは、単一の IP アドレスまたは単一の DNS 名の検索を表します。PWC DNS に関して利用可能な統計を、次の表に示します。
表 16–29 PWC DNS の統計 (EE のみ)
Attribute Name(属性名) |
データ型 |
説明 |
---|---|---|
flagcacheenabled |
CountStatistic |
DNS キャッシュが有効 (オン) になっているかどうかを示します。0 (off)、1 (on) のいずれかです。 |
countcacheentries |
CountStatistic |
キャッシュ内に現在存在している DNS エントリの数。 |
maxcacheentries |
CountStatistic |
キャッシュ内に格納できる DNS エントリの最大数。 |
countcachehits |
CountStatistic |
DNS キャッシュ検索の成功回数。 |
countcachemisses |
CountStatistic |
DNS キャッシュ検索の失敗回数。 |
flagasyncenabled |
CountStatistic |
非同期 DNS 検索が有効 (オン) になっているかどうかを示します。0 (off)、1 (on) のいずれかです。 |
countasyncnamelookups |
CountStatistic |
非同期 DNS 名検索の合計回数。 |
countasyncaddrlookups |
CountStatistic |
非同期 DNS アドレス検索の合計回数。 |
countasynclookupsinprogress |
CountStatistic |
処理中の非同期検索の数。 |
PWC スレッドプールに関する統計を、次の表に示します。
表 16–30 PWC スレッドプールの統計 (EE のみ)
Attribute Name(属性名) |
データ型 |
説明 |
---|---|---|
id |
StringStatistic |
スレッドプールの ID。 |
countthreadsidle |
CountStatistic |
現在アイドル状態になっている要求処理スレッドの数。 |
countthreads |
CountStatistic |
要求処理スレッドの現在の数。 |
maxthreads |
CountStatistic |
同時に存在可能な要求処理スレッドの最大数。 |
countqueued |
CountStatistic |
このスレッドプールの処理待ちキューに格納されている要求の数。 |
peakqueued |
CountStatistic |
キュー内に同時に格納された要求の最大数。 |
maxqueued |
CountStatistic |
キュー内に同時に格納可能な要求の最大数。 |
接続キューとは、処理される前の要求が格納されるキューのことです。接続キューの統計は、キュー内のセッション数や接続が受け付けられるまでの平均遅延時間などを示します。PWC 接続キューに関する統計を、次の表に示します。
表 16–31 PWC 接続キューの統計 (EE のみ)
Attribute Name(属性名) |
データ型 |
説明 |
---|---|---|
id |
StringStatistic |
接続キューの ID。 |
counttotalconnections |
CountStatistic |
受け付けられた接続の合計数。 |
countqueued |
CountStatistic |
キュー内に現在存在している接続の数。 |
peakqueued |
CountStatistic |
キュー内に同時に存在していた接続の最大数。 |
maxqueued |
CountStatistic |
接続キューの最大サイズ。 |
countoverflows |
CountStatistic |
キューがいっぱいになったために接続を格納できなかった回数。 |
counttotalqueued |
CountStatistic |
キューに格納された接続の合計数。1 つの接続がキュー内に複数回格納される可能性があります。このため、counttotalqueued の値は、counttotalconnections の値以上になります。 |
tickstotalqueued |
CountStatistic |
接続がキュー内で費やした合計ティック数。ティックは、システムに依存する時間の単位です。 |
countqueued1minuteaverage |
CountStatistic |
キュー内接続数の過去 1 分間における平均値。 |
countqueued5minuteaverage |
CountStatistic |
キュー内接続数の過去 5 分間における平均値。 |
countqueued15minuteaverage |
CountStatistic |
キュー内接続数の過去 15 分間における平均値。 |
PWC HTTP サービスに関する統計を、次の表に示します。
表 16–32 PWC HTTP サービスの統計 (EE のみ)
Attribute Name(属性名) |
データ型 |
説明 |
---|---|---|
id |
StringStatistic |
HTTP サービスのインスタンス名。 |
versionserver |
StringStatistic |
HTTP サービスのバージョン番号。 |
timestarted |
StringStatistic |
HTTP サービスが起動された時刻 (GMT)。 |
secondsrunning |
CountStatistic |
HTTP サービス起動後の経過時間 (秒)。 |
maxthreads |
CountStatistic |
各インスタンス内のワークスレッドの最大数。 |
maxvirtualservers |
CountStatistic |
各インスタンス内に設定可能な仮想サーバーの最大数。 |
flagprofilingenabled |
CountStatistic |
HTTP サービスのパフォーマンスプロファイリングが有効になっているかどうか。有効な値は 0、1 のいずれかです。 |
flagvirtualserveroverflow |
CountStatistic |
maxvirtualservers を超える仮想サーバーが設定されているかどうかを示します。これを 1 に設定すると、すべての仮想サーバーで統計が追跡されなくなります。 |
load1minuteaverage |
CountStatistic |
要求負荷の過去 1 分間における平均値。 |
load5minuteaverage |
CountStatistic |
要求負荷の過去 5 分間における平均値。 |
load15minuteaverage |
CountStatistic |
要求負荷の過去 15 分間における平均値。 |
ratebytestransmitted |
CountStatistic |
サーバーで定義されたある期間内に送信されたデータの送信速度。この情報が利用不可能な場合、結果は 0 になります。 |
ratebytesreceived |
CountStatistic |
サーバーで定義されたある期間内に受信されたデータの受信速度。この情報が利用不可能な場合、結果は 0 になります。 |
管理コンソールで監視レベルを設定するには、「設定」ノード > サーバーインスタンスのノード >「監視」ページの順に選択し、監視レベルを変更するサービスの値を選択します。デフォルトでは、すべてのコンポーネントとサービスで監視がオフになっています。
監視レベルの設定方法の詳細は、管理コンソールのオンラインヘルプを参照してください。
コマンド行で asadmin set を使用すると、さまざまな Application Server コンポーネントの監視をオンにできます。たとえば、次のコマンドを実行すると、HTTP サービスの監視をオンにできます。
asadmin> set --user admin-user server.monitoring-service.module-monitoring-levels.http-service=HIGH
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 = HIGH 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=OFF |
また、ほかのコンポーネントの監視を無効にするには、set コマンドを使用し、監視レベルに OFF を指定します。
管理コンソールで監視データを表示するには、スタンドアロンのサーバーインスタンスの「監視」ページに移動し、監視が有効なサーバーインスタンスに配備済みのコンポーネントやサービスを選択します。選択したコンポーネントまたはサービスの監視データが「ビュー」フィールドの下に表示されます。
管理コンソールを使用すると、リモートのアプリケーションとインスタンスを監視できます。ただしそれには、リモートのインスタンスが実行されており、かつその設定がなされている必要があります。監視データの表示方法の詳細は、管理コンソールのオンラインヘルプを参照してください。
コマンド行ユーティリティーを使用して監視データを表示するには、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.thread-pools |
監視が有効なアプリケーションコンポーネントまたはサブシステムの監視統計を表示するには、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 |
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
特定のコンポーネントまたはサブシステム内で監視されているすべての属性
特定のコンポーネントまたはサブシステム内で監視されている特定の属性
特定のコンポーネントまたはサブシステムに存在しない属性が要求された場合、エラーが返されます。同様に、特定のコンポーネントまたはサブシステムのアクティブでない属性が要求された場合も、エラーが返されます。
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 |
特定の J2EE アプリケーションからすべての属性を取得します。
asadmin> get --user admin-user --monitor server.applications.myJ2eeApp.* |
次の結果が返されます。
No matches resulted from the wildcard expression. CLI137 Command get failed. |
J2EE アプリケーションレベルで公開されている監視可能な属性が存在しないため、このような応答が表示されました。
特定のサブシステムから特定の属性を取得します。
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 ツールを監視目的でどのように使えばよいかを示したものです。
あるユーザーが、Application Server 上に配備済みのサンプル Petstore アプリケーションに含まれる特定のメソッドの呼び出し回数を調査しようとしています。その配備先インスタンスの名前は、server です。list コマンドと get コマンドを併用することで、そのメソッドの目的の統計情報にアクセスします。
Application Server と asadmin ツールを起動します。
いくつかの有用な環境変数を設定することで、それらの値をコマンドごとに入力しないですむようにします。
asadmin> export AS_ADMIN_USER=admin AS_ADMIN_PASSWORD=admin123 asadmin>export AS_ADMIN_HOST=localhost AS_ADMIN_PORT=4849 |
インスタンス 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 |
次の各表は、ツリーの各レベルにおけるコマンド、ドット表記名、および対応する出力を示したものです。
表 16–33 トップレベル
コマンド |
ドット表記名 |
出力 |
|
---|---|---|---|
list -m |
server |
|
|
list -m |
server.* |
このノードから下の子ノード階層。 |
|
get -m |
server.* |
このノードに属性が存在しないことを示すメッセージだけが表示されます。 |
次の表に、アプリケーションレベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 16–34 アプリケーションレベル
コマンド |
ドット表記名 |
出力 |
|
---|---|---|---|
list -m |
server.applications または、 *applications |
|
|
list -m |
server.applications.* または、 *applications.* |
このノードから下の子ノード階層。 |
|
get -m |
server.applications.* または、 *applications.* |
このノードに属性が存在しないことを示すメッセージだけが表示されます。 |
次の表に、アプリケーションレベルのスタンドアロンモジュールとエンタープライズアプリケーションのコマンド、ドット表記名、および対応する出力を示します。
表 16–35 アプリケーション - エンタープライズアプリケーションとスタンドアロンモジュール
コマンド |
ドット表記名 |
出力 |
|
---|---|---|---|
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) は表示されません。 |
表 1-4 で説明した 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) は表示されません。 |
表 1-5 で説明した 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) は表示されません。 |
表 1-2 で説明した 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.* |
表 1-7 で説明した Web コンテナ (サーブレット) 属性に対応する属性と値の一覧。 |
次の表に、HTTP サービスレベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 16–36 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.* |
HTTP サービス属性に対応する属性と値の一覧。 |
次の表に、スレッドプールレベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 16–37 スレッドプールレベル
コマンド |
ドット表記名 |
出力 |
---|---|---|
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.* |
スレッドプール属性に対応する属性と値の一覧。 |
次の表に、リソースレベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 16–38 リソースレベル
コマンド |
ドット表記名 |
出力 |
---|---|---|
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.* |
接続プール属性に対応する属性と値の一覧。 |
次の表に、トランザクションサービスレベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 16–39 トランザクションサービスレベル
コマンド |
ドット表記名 |
出力 |
---|---|---|
list -m |
server.transaction-service |
属性は表示されず、代わりに「get --monitor コマンドを使用して、このノードの属性と値を表示してください。」というメッセージが表示されます。 |
get -m |
server.transaction-service.* |
トランザクションサービス属性に対応する属性と値の一覧。 |
次の表に、ORB レベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 16–40 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.* |
ORB 接続マネージャー属性に対応する属性と値の一覧。 |
次の表に、JVM レベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 16–41 JVM レベル
コマンド |
ドット表記名 |
出力 |
---|---|---|
list -m |
server.jvm |
属性は表示されず、代わりに次のメッセージが表示されます。「get --monitor コマンドを使用して、このノードの属性と値を表示してください。」 |
get -m |
server.jvm.* |
JVM 属性に対応する属性と値の一覧。 |
ここでは、次の内容について説明します。
Application Server の管理と監視は、JMX をベースにしています。つまり、管理対象コンポーネントは、MBean で表されます。Java 2 Standard Edition (J2SE) 5.0 を使用すると、JVM を監視したり、JVM MBean を表示したりして、状況を理解することができます。このインストゥルメンテーションを公開するために、Application Server ではシステム JMX コネクタサーバーという標準 JMX コネクタサーバーの設定を提供します。Application Server の起動時に、この JMX コネクタサーバーのインスタンスを起動し、信頼できるクライアントにインストゥルメンテーションを公開します。
Java Monitoring and Management Console (JConsole) は、JMX バックエンドを管理できる一般的な JMX コネクタです。JConsole (http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jconsole.html) は、J2SE 5.0 からの標準 JDK ディストリビューションの一部として利用できます。JConsole の詳細は、http://java.sun.com/developer/technicalArticles/J2SE/jconsole.htmlを参照してください。
Application Server で使用できるように JConsole を設定すると、Application Server は JMX コネクタのサーバー側となり、JConsole は JMX コネクタの優先クライアント側となります。
Application Server 、つまりJMX コネクタサーバー側への接続方法は、接続のトランスポート層のセキュリティーによって若干異なります。サーバー側がセキュリティー保護されている (トランスポート層のセキュリティーが保証されている) 場合、クライアント側で実行する設定があります。
デフォルトでは、Application Server の Platform Edition のシステム JMX コネクタサーバー側はセキュリティー保護されていません。
デフォルトでは、Application Server の Enterprise Edition のシステム JMX コネクタサーバー側はセキュリティー保護されています。
通信に使用されるプロトコルは、RMI/JRMP です。JMX コネクタのセキュリティーが有効な場合、使用されるプロトコルは SSL 上の RMI/JRMP です。
SSL 上の RMI では、クライアントが目的のサーバーと通信できるようにするための追加チェックは行われません。そのため、JConsole の使用時は、悪意のあるホストにユーザー名とパスワードを送信している可能性が常にあります。セキュリティーが安全であるかどうかの確認は、管理者に完全に委ねられています。
Platform Edition ドメインを 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 です。Enterprise Edition が稼働している場合、または Platform Edition の 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 つに分かれます。サーバー側とクライアント側です。Application Server ドメインは、強力な Solaris サーバーであるappserver.sun.com と呼ばれるマシンにインストールされます。これがサーバー側です。
クライアント側にも Application Server のインストールがあります。ここでは、クライアント側は Windows マシンで、Java SE 5.0 と Application Server がインストールされているものとします。
クライアント側で Application Server のインストールが必要になるのは、Application Server ドメインのリモートマシン上でセキュリティーが有効な場合 (Enterprise Edition のデフォルト) だけです。前述の Solaris マシンで Application Server Platform Edition ドメインを管理する場合、このクライアントマシンに Application Server のインストールは必要ありません。
同じマシン上にサーバー側とクライアント側がある場合、localhost を使用してホスト名を指定できます。
この節では、JMX コネクタでセキュリティーを有効にしないで JConsole を Application Server に接続する方法について説明します。デフォルトでは、Application Server Platform Edition でセキュリティーは有効ではありません。
appserver.sun.com でドメインを起動します。
JDK_HOME/bin/jconsole を実行して JConsole を起動します。
JConsole の「エージェントに接続」タブで、ユーザー名、パスワード、ホスト名、およびポート (デフォルトは 8686) を入力します。
ユーザー名は管理ユーザーの名前、パスワードはドメインの管理パスワードを参照します。
「接続」をクリックします。
JConsole ウィンドウの各種タブに、MBean、VM 情報などが表示されます。
この節では、JMX コネクタでセキュリティーを有効にして JConsole を Application Server に接続する方法について説明します。デフォルトでは、Application Server Enterprise Edition でセキュリティーは有効です。この手順は、Platform Edition の JMX コネクタでセキュリティーを有効にした場合に使用してください。
クライアントマシン (JConsole がインストールされている) に Application Server をインストールします。
この作業が必要になるのは、信頼するドメイン管理サーバーのサーバー証明書の場所を JConsole に対して通知するためです。この証明書を取得するには、remote asadmin コマンドを 1 回以上呼び出しますが、そのためには Application Server のローカルインストールが必要です。
appserver.sun.com で Application Server Enterprise Edition を起動します。
これは Enterprise Edition ドメインであるため、システム JMX コネクタサーバーはセキュリティー保護されています。
ローカル Application Server インストールから install-dir/bin/asadmin list --user admin --secure=true --host appserver.sun.com --port 4849 を実行します。4849 はサーバーの管理ポートです。
この例では asadmin list コマンドを選択していますが、任意のリモート asadmin コマンドを実行できます。ここで、appserver.sun.com の DAS から送信される証明書を受け入れることを要求されます。
y を押して、appserver.sun.com のドメイン管理サーバーから送信される証明書を受け入れます。
サーバーの証明書は、クライアントマシンのホームディレクトリにある .asadmintruststore ファイルに格納されます。
サーバーマシンとクライアントマシンが同じである場合、この手順は必要ありません。つまり、JConsole も appserver.sun.com で稼働している場合です。
次の JConsole コマンドを使用して、DAS のトラストストアの場所を JConsole に通知します。
JDK-dir/bin/jconsole.exe -J-Djavax.net.ssl.trustStore="C:/Documents and Settings/user/.asadmintruststore"
これで、この証明書は JConsole によって自動的に信頼されます。
JDK_HOME/bin/jconsole を実行して JConsole を起動します。
JConsole の「エージェントに接続」タブで、ユーザー名、パスワード、ホスト名、およびポート (デフォルトは 8686) を入力します。
ユーザー名は管理ユーザーの名前、パスワードはドメインの管理パスワードを参照します。
「接続」をクリックします。
JConsole ウィンドウの各種タブに、MBean、VM 情報などが表示されます。