Sun Java System Application Server Enterprise Edition 8.1 2005Q1 管理ガイド |
第 21 章
コンポーネントとサービスの監視この章では、Application Server の管理コンソールを使ってコンポーネントを監視する方法について説明します。この章には次の節が含まれています。
監視についてApplication Server での監視
監視機能を使用して Sun Java System Application Server Enterprise Edition 8.1 2005Q1 のサーバーインスタンスに配備されている各種コンポーネントおよびサービスの実行時状態を把握します。実行時コンポーネントとプロセスに関する情報を使用して、チューニングに関わるパフォーマンスボトルネックを識別し、処理能力を計画し、障害を見積もり、障害の場合の原因を分析して、期待通りの機能性を確保できます。
監視をオンにすると、オーバーヘッドの増大によりパフォーマンスが低下します。
監視の概要
Application Server を監視するには、次の手順を実行します。
- 管理コンソールまたは
asadmin
ツールのいずれかを使用して、特定のサービスおよびコンポーネントの監視を有効にします。この手順の詳細については、「監視の有効化と無効化に関する管理コンソールタスク」を参照してください。
- 管理コンソールまたは
asadmin
ツールのどちらかを使用して、特定のサービスおよびコンポーネントの監視データを表示します。この手順の詳細については、「監視データの表示に関する管理コンソールタスク」を参照してください。
監視可能なオブジェクトのツリー構造について
Application Server は、ツリー構造を使って監視可能なオブジェクトを追跡します。監視オブジェクトのツリーは動的であり、インスタンス内におけるコンポーネントの追加、更新、削除に応じて変更されます。ツリー内のルートオブジェクトは、
server
などのサーバーインスタンス名です (Platform Edition では、1 つのサーバーインスタンスしか使用できない)。次のコマンドを実行すると、ツリーのトップレベルが表示されます。
次の各節では、これらのサブツリーについて説明します。
アプリケーションのツリー
次の図に、エンタープライズアプリケーションの各種コンポーネントのトップノードと子ノードを示します。監視統計が利用可能なノードには、アスタリスク (*) を付けています。詳細については、「EJB コンテナの統計」と「Web コンテナの統計」を参照してください。
図 21-1 アプリケーションノードのツリー構造
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 *
|--- application2HTTP サービスのツリー
HTTP サービスのノードを、次の図に示します。監視情報が利用可能なノードには、アスタリスク (*) を付けています。「HTTP サービスのツリー」を参照してください。
図 21-2 HTTP サービスの図 (PE 版)
http-service
|--- virtual-server-1
|--- http-listener-1 *
|--- http-listener-2 *
|--- virtual-server-2
|--- http-listener-1 *
|--- http-listener-2 *図 21-3 HTTP サービスの図 (EE 版)
http-service *
|---connection-queue *
|---dns *
|---file-cache *
|---keep-alive *
|---pwc-thread-pool *
|---virtual-server-1*
| |--- request *
|---virtual-server-2*
| |--- request *リソースのツリー
リソースノードには、JDBC 接続プールやコネクタ接続プールなどのプールの監視可能な属性が格納されます。次の図に、各種リソースコンポーネントのトップノードと子ノードを示します。監視統計が利用可能なノードには、アスタリスク (*) を付けています。「JDBC 接続プールの統計」と「JMS サービスおよびコネクタサービスの統計」を参照してください。
図 21-4 リソースの図
resources
|---connection-pool1(connector-connection-pool、jdbc のいずれか)*
|---connection-pool2(connector-connection-pool、jdbc のいずれか)*コネクタサービスのツリー
コネクタサービスノードには、コネクタ接続プールなどのプールの監視可能な属性が格納されます。次の図に、各種コネクタサービスコンポーネントのトップノードと子ノードを示します。監視統計が利用可能なノードには、アスタリスク (*) を付けています。「JMS サービスおよびコネクタサービスの統計」を参照してください。
図 21-5 コネクタサービスの図
connector-service
|--- resource-adapter-1
| |-- connection-pools
| | |-- pool-1 (このプールのすべてのプール状態)
| |-- work-management (このリソースアダプタのすべての作業管理状態)JMS サービスのツリー
JMS サービスノードには、コネクタ接続プールなどのプールの監視可能な属性が格納されます。次の図に、各種 JMS サービスコンポーネントのトップノードと子ノードを示します。監視統計が利用可能なノードには、アスタリスク (*) を付けています。
図 21-6 JMS サービスの図
jms-service
|-- connection-factories (リソースアダプタの世界では AKA 接続プールと呼ばれる)
| |-- connection-factory-1 (この接続ファクトリのすべての接続ファクトリ状態)
|-- work-management (この MQ リソースアダプタのすべての作業管理状態)ORB のツリー
ORB ノードには、接続マネージャの監視可能な属性が格納されます。次の図に、各種 ORB コンポーネントのトップノードと子ノードを示します。監視統計が利用可能なノードには、アスタリスク (*) を付けています。「ORB の接続マネージャの統計」を参照してください。
図 21-7 ORB の図
orb
|--- connection-managers
| |--- connection-manager-1 *
| |--- connection-manager-1 *スレッドプールのツリー
スレッドプールノードには、接続マネージャの監視可能な属性が格納されます。次の図に、各種 ORB コンポーネントのトップノードと子ノードを示します。監視統計が利用可能なノードには、アスタリスク (*) を付けています。「スレッドプールの統計」を参照してください。
図 21-8 スレッドプールの図
thread-pools
| |--- thread-pool-1 *
| |--- thread-pool-2 *監視対象のコンポーネントとサービスの統計について
この節では、利用可能な監視統計について説明します。
EJB コンテナの統計
EJB 統計を表 21-1 に示します。
EJB メソッド呼び出しに関して利用可能な統計を、表 21-2 に示します。
EJB セッションストアに対する統計を、表 21-3 に示します。
EJB プールに関して利用可能な統計を、表 21-4 に示します。
EJB キャッシュに関して利用可能な統計を、表 21-5 に示します。
タイマーに関して利用可能な統計を、表 21-6 に示します。
表 21-6 タイマーの統計
統計
データタイプ
説明
numtimerscreated
CountStatistic
システム内で作成されたタイマーの数。
numtimersdelivered
CountStatistic
システムによって配信されたタイマーの数。
numtimersremoved
CountStatistic
システムから削除されたタイマーの数。
Web コンテナの統計
Web コンテナは、図 21-1 に示したオブジェクトツリー内に含まれます。Web コンテナの統計は、個々の Web アプリケーションごとに表示されます。Web コンテナのサーブレットに関して利用可能な統計を表 21-7 に、Web モジュールに関して利用可能な統計を表 21-8 に、それぞれ示します。
Web モジュールに対する統計を、表 21-8 に示します。
HTTP サービスの統計
HTTP サービスに関して利用可能な統計を、表 21-9 に示します。この統計は Platform Edition のみに適用されます。Enterprise Edition の場合の HTTP サービス統計については、表 21-32を参照してください。
JDBC 接続プールの統計
JDBC リソースを監視することで、パフォーマンスを測定するとともに、実行時のリソースの使用状況を把握します。JDBC 接続の作成はコストのかかる処理であり、アプリケーションのパフォーマンス上のボトルネックになることが多いため、JDBC 接続プールで新しい接続がどのように解放/作成されているかや、特定のプールから接続を取得するために待機しているスレッドがどれくらい存在するかを監視することが不可欠です。
JDBC 接続プールに関して利用可能な統計を、表 21-10 に示します。
JMS サービスおよびコネクタサービスの統計
コネクタ接続プールに関して利用可能な統計を、表 21-11 に示します。コネクタ作業管理に対する統計を、表 21-12 に示します。
コネクタ作業管理に関して利用可能な統計を、表 21-12 に示します。
ORB の接続マネージャの統計
ORB の接続マネージャに関して利用可能な統計を、表 21-13 に示します。
スレッドプールの統計
スレッドプールに関して利用可能な統計を、表 21-14 に示します。
トランザクションサービスの統計
トランザクションサービスを使えば、クライアントはトランザクションサブシステムをフリーズできます。フリーズすると、トランザクションをロールバックしたり、フリーズ時点で処理中であったトランザクションを特定したりできます。トランザクションサービスに関して利用可能な統計を、表 21-15 に示します。
Java 仮想マシン (JVM) の統計
JVM の監視可能な属性は、常に有効になっています。JVM に関して利用可能な統計を、表 21-16 に示します。
表 21-16 JVM の統計
統計
データタイプ
説明
heapsize
BoundedRange Statistic
JVM のメモリヒープサイズの上限と下限の間にある常駐メモリフットプリント。
uptime
CountStatistic
JVM の稼働時間。
J2SE 5.0 の JVM 統計
Application Server がバージョン 5.0 以上の J2SE 上で動作するように設定されている場合、JVM から追加の監視情報を取得できます。監視レベルを「低」に設定すると、この追加情報の表示が有効になります。監視レベルを「高」に設定すると、さらにシステム内の各ライブスレッドに関する情報も表示されます。J2SE 5.0 で利用可能な追加監視機能の詳細については、『Monitoring and Management for the Java Platform』というタイトルの文書を参照してください。この文書は次の URL で利用可能になっています。
http://java.sun.com/j2se/1.5.0/docs/guide/management/
J2SE 5.0 の監視ツールについては、次の URL を参照してください。
http://java.sun.com/j2se/1.5.0/docs/tooldocs/#manage
J2SE 5.0 の JVM で利用可能なクラス読み込み関連の統計を、表 21-17 に示します。
J2SE 5.0 の JVM で利用可能なコンパイル関連の統計を、表 21-18 に示します。
表 21-18 J2SE 5.0 の JVM 統計 - コンパイル
統計
データタイプ
説明
totalcompilationtime
CountStatistic
コンパイルに費やされた時間の累計 (ミリ秒)。
J2SE 5.0 の JVM で利用可能なガベージコレクション関連の統計を、表 21-19 に示します。
表 21-19 J2SE 5.0 の JVM 統計 - ガベージコレクション
統計
データタイプ
説明
collectioncount
CountStatistic
実行されたコレクションの合計回数。
collectiontime
CountStatistic
コレクション時間の累計値 (ミリ秒)。
J2SE 5.0 の JVM で利用可能なメモリ関連の統計を、表 21-20 に示します。
J2SE 5.0 の JVM で利用可能なオペレーティングシステム関連の統計を、表 21-21 に示します。
J2SE 5.0 の JVM で利用可能なランタイム関連の統計を、表 21-22 に示します。
J2SE 5.0 の JVM で利用可能な
ThreadInfo
関連の統計を、表 21-23 に示します。
J2SE 5.0 の JVM で利用可能なスレッド関連の統計を、表 21-24 に示します。
PWC (Production Web Container) の統計
Application Server の Enterprise Edition (EE) では、PWC の次のコンポーネントとサービスに関する統計が利用可能です。
PWC 仮想サーバーの統計を、表 21-25 に示します。
PWC 要求に関して利用可能な統計を、表 21-26 に示します。
キャッシュ情報セクションでは、ファイルキャッシュの使用状況に関する情報が提供されます。PWC ファイルキャッシュの統計を、表 21-27 に示します。
このセクションでは、サーバーの HTTP レベルキープアライブシステムに関する情報が提供されます。PWC キープアライブに関して利用可能な統計を、表 21-28 に示します。
DNS キャッシュでは、IP アドレスと DNS 名がキャッシュされます。サーバーの DNS キャッシュはデフォルトで無効になっています。単一のキャッシュエントリは、単一の IP アドレスまたは単一の DNS 名の検索を表します。PWC DNS に関して利用可能な統計を、表 21-29 に示します。
PWC スレッドプールの統計を、表 21-30 に示します。
接続キューとは、処理される前の要求が格納されるキューのことです。接続キューの統計は、キュー内のセッション数や接続が受け付けられるまでの平均遅延時間などを示します。PWC 接続キューの統計を、表 21-31 に示します。
PWC HTTP サービスの統計を、表 21-32 に示します。
監視の有効化と無効化に関する管理コンソールタスク管理コンソールを使用した監視レベルの設定
- 「監視サービス」ページにアクセスします。それには、次の手順に従います。
- 「監視サービス」ページで、監視レベルを変更するコンポーネントまたはサービスの横にあるコンボボックスから適切な値を選択します。
デフォルトでは、常時監視可能な Java 仮想マシン (JVM) 以外のすべてのコンポーネントやサービスで監視がオフになっています。監視をオンにするには、コンボボックスから「低」または「高」を選択します。監視をオフにするには、コンボボックスから「オフ」を選択します。次のコンポーネントおよびサービスに対して、監視機能をオンまたはオフにできます。
- JVM - Java 仮想マシンを監視するには、このオプションの監視レベルを「低」に設定します。
- HTTP サービス - すべてのHTTP リスナーと仮想サーバーを監視するには、このオプションの監視レベルを「低」に設定します。
- トランザクションサービス - トランザクションサブシステムを監視するには、このオプションの監視レベルを「低」に設定します。
- JMS/コネクタサービス - Java メッセージサービス (JMS) を監視するには、このオプションの監視レベルを「低」に設定します。
- ORB - Application Server コアとその接続マネージャが使用するシステム ORB を監視するには、このオプションの監視レベルを「低」に設定します。
- Web コンテナ - すべての配備サーブレットを監視するには、このオプションの監視レベルを「低」に設定します。
- EJB コンテナ - すべての配備 EJB、EJB プール、および EJB キャッシュを監視するには、このオプションの監視レベルを「低」に設定します。EJB ビジネスメソッドも監視するには、このメソッドを「高」に設定します。
- JDBC 接続プール - すべての JDBC 接続プールを監視するには、このオプションの監視レベルを「低」に設定します。
- スレッドプール - すべてのスレッドプールを監視するには、このオプションの監視レベルを「低」に設定します。
- 「保存」をクリックします。
このリリースには「監視サービスの追加プロパティ」は存在しないので、「追加プロパティ」の表は無視してかまいません。
同機能を持つ
asadmin
コマンド:set
。HTTP サービスの監視機能をオンにするときには、次のasadmin
コマンドを使用してください。asadmin> set --user admin_user server.monitoring-service.module-monitoring-levels.http-service=LOW
asadmin ツールを使用した監視の設定
特定のコンポーネントまたはサービスに対して、その監視をオフにしたり、特定の監視レベルを設定したりするには、「管理コンソールを使用した監視レベルの設定」で説明した管理コンソールを使用できますが、この節で説明する
asadmin
ツールを使用することもできます。
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.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 = OFFset
コマンドを使って監視を有効にします。たとえば、HTTP サービスの監視を有効にするには、次のようにします。
asadmin> set --user admin_user server.monitoring-service.module-monitoring-levels.http-service=LOW
監視を無効にするには、
set
コマンドを使って監視レベルにOFF
を指定します。
監視データの表示に関する管理コンソールタスク管理コンソールでの監視データの表示
Application Server 管理コンソールを使用してサーバーインスタンスに配備されているコンポーネントまたはサービスの監視データを表示するには、次の手順に従います。各コンポーネントまたはサービスの属性の詳細については、「監視対象のコンポーネントとサービスの統計について」を参照してください。
- 「監視」ページにアクセスします。それには、次の手順に従います。
- 「ビュー」リストから、サーバーインスタンスに配備された、監視が有効なコンポーネントまたはサービスを選択します。
選択したコンポーネントまたはサービスの監視データが「ビュー」フィールドの下に表示されます。監視可能なプロパティについては、「監視対象のコンポーネントとサービスの統計について」を参照してください。
このページでは、これらのコンポーネントおよびサービスに対して監視機能が有効な場合、JVM、サーバー、スレッドプール、HTTP サービスおよびトランザクションサービスの監視データを表示できます。これらのコンポーネントやサービスの構成を示した図については、「監視可能なオブジェクトのツリー構造について」を参照してください。
- 監視したいコンポーネントまたはサービスがこのリスト内に見つからない場合は、「監視を設定」リンクを選択し、そのコンポーネントやサービスの監視を有効または無効にしてください。「オフ」を選択すると、コンポーネントまたはサービスの監視が無効になります。「低」または「高」を選択すると、コンポーネントまたはサービスの監視が有効になります。
監視の有効化と無効化の詳細については、「管理コンソールを使用した監視レベルの設定」または「asadmin ツールを使用した監視の設定」を参照してください。
- 「監視」ページの「アプリケーション」タブを選択して、サーバーインスタンスに配備され、監視が有効なアプリケーションコンポーネントの監視データを表示します。「アプリケーション」リストからアプリケーションを選択します。「コンポーネント」リストから特定のコンポーネントを選択します。
アプリケーションまたはコンポーネントに対する監視データが表示されない場合、「監視を設定」リンクを選択し、そのコンポーネントまたはサービスを有効または無効にしてください。アプリケーションを監視するには、それを実行するコンテナの監視をオンにします。たとえば、Web アプリケーションの場合は Web コンテナで、EJB アプリケーションの場合は EJB コンテナで、それぞれ「低」または「高」を選択します。
監視データがアプリケーションに対して表示されない場合、おそらくそのアプリケーションが存在しないか、または機能していません。アプリケーションの監視データは、アプリケーションが存在し、監視がそのアプリケーションで有効で、なおかつアプリケーションが機能している場合だけ使用できます。いったんアプリケーションが実行されると、監視レジストリに登録され、監視データが表示されます。
管理コンソールを使用すると、リモートのアプリケーションとインスタンスを監視できます。ただしそれには、リモートのインスタンスが実行されており、かつその設定がなされている必要があります。
選択したコンポーネントの監視データが選択したコンポーネントの下に表示されます。監視可能なプロパティについては、「監視対象のコンポーネントとサービスの統計について」を参照してください。アプリケーションに対するコンポーネントやサービスの構成を示した図については、「監視可能なオブジェクトのツリー構造について」を参照してください。
- 「リソース」ページを選択して、サーバーインスタンスに配備され監視が有効なリソースの監視データを表示します。「ビュー」リストからリソースを選択します。監視データを表示させたいリソースが見つからない場合は、「監視を設定」リンクを選択し、リソースの監視を有効または無効にします。
監視データがリソースに対して表示されない場合、おそらくそのリソースが存在しないか、または機能していません。リソースの監視データは、リソースが存在し、監視がそのリソースに「高」レベルで有効で、なおかつリソースが機能している場合だけ使用できます。たとえば、JDBC コネクタサービスが作成されていても、コネクタサービスを使用するアプリケーションがまだサービスからコネクタを要求していない場合、そのサービスはまだ作成されていないのでサービスは存在せず監視データも使用できません。いったん JDBC アプリケーションが実行され、サービスからコネクタを要求すると、そのサービスは監視レジストリに登録され監視データが表示されます。
選択したコンポーネントまたはサービスの監視データが「ビュー」フィールドの下に表示されます。監視可能なプロパティについては、「監視対象のコンポーネントとサービスの統計について」を参照してください。リソースに対するコンポーネントやサービスの構成を示した図については、「監視可能なオブジェクトのツリー構造について」を参照してください。
- 「トランザクション」ページを選択して、トランザクションのロールバックおよびフリーズ時に処理中だったトランザクションの特定を行うためにトランザクションサブシステムをフリーズします。トランザクションサービスの監視を有効にするには、「監視を設定」リンクを選択し、トランザクションサービスが「低」に設定されていることを確認します。トランザクションをロールバックするためにトランザクションサービスをフリーズするには、「フリーズ」を選択します。トランザクションをロールバックするには、トランザクションのそばのチェックボックスを選択して「ロールバック」をクリックします。
同機能を持つ
asadmin
コマンド:get --monitor
。たとえば、JVM の監視データを表示するときには、次のasadmin
コマンドを使用してください。asadmin ツールによる監視データの表示
asadmin ツールによる監視データの表示
asadmin
ツールを使用して監視データを表示するには、asadmin
list
およびasadmin
get
コマンドに続けて監視可能なオブジェクトのドット表記名を使用します。asadmin
ツールを使用して監視データを表示する一般的な設定をするには、次の手順に従います。
- 監視可能なオブジェクトの名前を表示するには、
asadmin
list
コマンドを使用します。たとえば、サーバーインスタンスで監視が有効なアプリケーションコンポーネントおよびサブシステムのリストを表示するには、次のコマンドを端末ウィンドウに入力します。asadmin> list --monitor server
前述のコマンドは、監視が有効なアプリケーションコンポーネントおよびサブシステムの次のようなリストを返します。
server.resources
server.connector-service
server.orb
server.jms-service
server.jvm
server.applications
server.http-service
server.thread-pools
list
コマンドのその他の例については、「list コマンドと get コマンドの例」を参照してください。list
コマンドで使用できるドット表記名の詳細については、「ドット表記名とその指定方法について」を参照してください。- 監視が有効なアプリケーションコンポーネントまたはサブシステムの監視統計を表示するには、
asadmin
get
コマンドを使用します。統計を取得するには、asadmin
get
コマンドを端末ウィンドウに入力して、前述の手順のlist
コマンドで表示された名前を指定します。次の例では、特定のオブジェクトのサブシステムからすべての属性を取得します。asadmin> get --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
コマンドとget
コマンドでは、監視可能オブジェクトのドット表記名を指定します。すべての子オブジェクトの名前はドット (.) 文字を区切り文字として使って指定されるため、それらの名前は「ドット表記名」と呼ばれます。子ノードが単独タイプの場合、その監視オブジェクトタイプを指定するだけで、そのオブジェクトを指定できます。それ以外の場合は、type.name
形式の名前を指定する必要があります。たとえば、
http-service
は、有効な監視可能オブジェクトタイプの 1 つであり、単独タイプです。インスタンスserver
のhttp-service
を表す単独タイプの子ノードを指定する場合、ドット表記名は次のようになります。もう 1 つ例を挙げます。
applications
は、有効な監視可能オブジェクトタイプですが、単独タイプではありません。たとえば、単独タイプでない子ノードであるアプリケーション PetStore を指定するには、ドット表記名は次のようになります。また、監視可能なオブジェクトの特定の属性も、ドット表記名で指定します。たとえば、
http-service
には、bytesreceived-lastsampletime
という名前の監視可能な属性があります。このbytesreceived
属性を指定する名前は、次のようになります。管理者は、
asadmin
のlist
コマンドとget
コマンドの有効なドット表記名を覚えておく必要はありません。list
コマンドを使えば、利用可能な監視可能オブジェクトが表示され、ワイルドカードパラメータ付きのget
コマンドを使えば、特定の監視可能オブジェクトで利用可能なすべて属性を確認することができます。
list
コマンドとget
コマンドでドット表記名を使用する場合、根本的に次のことを前提としています。
list
コマンドでドット表記名の後にワイルドカード (*
) が指定されていなかった場合、現在のノードの直接の子ノードが結果として返されます。たとえば、list
--monitor
server
を実行した場合、server
ノードに属するすべての直接の子ノードが一覧表示されます。list
コマンドでドット表記名の後に.*
形式のワイルドカードが指定されていた場合、現在のノードの子ノード階層ツリーが結果として返されます。たとえば、list --monitor server.applications.*
を実行した場合、applications
のすべての子ノードに加え、それらの子ノード以下の階層にある子ノードもすべて一覧表示されます。list
コマンドでドット表記名の前後に *dottedname、dotted*name、dotted name* のいずれかの形式のワイルドカードが指定されていた場合、そのマッチングパターンによって生成された正規表現にマッチするすべてのノードとそれらの子ノードが、結果として返されます。get
コマンドの末尾に.*
、*
のいずれかが指定されていた場合、マッチング対象の現在のノードに属する属性とその値のセットが、結果として返されます。詳細については、「すべてのレベルにおける list コマンドと get コマンドの予想出力」を参照してください。
list コマンドと get コマンドの例
この節では、次の項目について説明します。
list --monitor コマンドの例
list
コマンドは、指定されたサーバーインスタンス名で現在監視されているアプリケーションコンポーネントとサブシステムに関する情報を提供します。このコマンドを使えば、特定のサーバーインスタンスの監視可能なコンポーネントやそのサブコンポーネントを表示できます。list
のより詳しい例については、「すべてのレベルにおける list コマンドと get コマンドの予想出力」を参照してください。例 1
asadmin> list --monitor server
前述のコマンドは、監視が有効なアプリケーションコンポーネントおよびサブシステムの次のようなリストを返します。
server.resources
server.orb
server.jvm
server.jms-service
server.connector-service
server.applications
server.http-service
server.thread-poolsまた、指定されたサーバーインスタンス内で現在監視されているアプリケーションを一覧表示することも可能です。これは、
get
コマンドを使って特定のアプリケーションの特定の監視統計を取得する場合に便利です。例 2
asadmin> list --monitor server.applications
次の結果が返されます。
server.applications.adminapp
server.applications.admingui
server.applications.myAppより包括的な例については、「Petstore の例」を参照してください。
get --monitor コマンドの例
このコマンドで取得できる監視対象情報は、次のとおりです。
特定のコンポーネントまたはサブシステムに存在しない属性が要求された場合、エラーが返されます。同様に、特定のコンポーネントまたはサブシステムのアクティブでない属性が要求された場合も、エラーが返されます。
get
コマンドの使用方法の詳細については、「すべてのレベルにおける list コマンドと get コマンドの予想出力」を参照してください。例 1
特定のオブジェクトのすべての属性をサブシステムから取得します。
次の結果が返されます。
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例 2
特定の J2EE アプリケーションからすべての属性を取得します。
次の結果が返されます。
J2EE アプリケーションレベルで公開されている監視可能な属性が存在しないため、このような応答が表示されました。
例 3
特定のサブシステムから特定の属性を取得します。
次の結果が返されます。
例 4
特定のサブシステム属性内から未知の属性を取得します。
次の結果が返されます。
Petstore の例
次の例は、
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=4848
- インスタンス
server
の監視可能なコンポーネントを一覧表示します。
asadmin>list --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
のエンティティ BeanUserEJB
に含まれる監視可能なサブコンポーネントを一覧表示します。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
のエンティティ BeanUserEJB
のメソッド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すべてのレベルにおける list コマンドと get コマンドの予想出力
次の各表は、ツリーの各レベルにおけるコマンド、ドット表記名、および対応する出力を示したものです。
表 21-34 に、アプリケーションレベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 21-35 に、アプリケーションレベルのスタンドアロンモジュールとエンタープライズアプリケーションのコマンド、ドット表記名、および対応する出力を示します。
表 21-36 に、HTTP サービスレベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 21-37 に、スレッドプールレベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 21-38 に、リソースレベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 21-39 に、トランザクションサービスレベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 21-40 に、ORB レベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 21-34 に、JVM レベルに対するコマンド、ドット表記名、および対応する出力を示します。
表 21-41 JVM レベル
コマンド
ドット表記名
出力
list -m
server.jvm
属性は表示されず、代わりに「get --monitor コマンドを使用して、このノードの属性と値を表示してください。」というメッセージが表示されます。
get -m
server.jvm.*
表 1-16 で説明した JVM 属性に対応する属性と値の一覧。
JConsole の使用JConsole と Application Server を連携動作させるには、JMX コネクタのセキュリティを無効にする必要があります。Application Server (SE/EE 版) の現行バージョンでは、セキュリティがデフォルトで有効になっています。
JMX コネクタのセキュリティを無効にするには、次の方法のいずれかを使用します。
PE 版では、JMX コネクタがデフォルトで無効になっています。このため、PE では設定を変更する必要はありません。