Java Management Extensions (JMX) での wsadmin スクリプトの使用
Java™ Management Extensions (JMX) は、Java リソース (例えば、アプリケーション・サーバーなど) をシステム管理インフラストラクチャーに公開する標準的な方法を提供するフレームワークです。JMX フレームワークを使用すると、プロバイダーは、構成設定のリスト作成などの機能を実装することができ、 ユーザーはその設定を編集することができます。 また、このフレームワークは、管理アプリケーションが使用できる通知レイヤーを含み、 アプリケーション・サーバーの開始などのイベントをモニターします。
JMX の主要なフィーチャー
JMX の WebSphere® Application Server 実装の主要なフィーチャーには、以下のものが含まれます。
- JMX エージェントを実行するすべてのプロセス。
- JMX 運用を介して実行されるすべてのランタイム管理。
- JMX エージェントをリモート JMX 対応管理アプリケーションに接続するのに使用されるコネクター。
次のコネクターがサポートされています。
- SOAP JMX コネクター
- JMX リモート・アプリケーション・プログラミング・インターフェース (JSR 160) Remote Method Invocation over the Internet Inter-ORB Protocol (RMI-IIOP) JMX コネクター (JSR160RMI コネクター)
- Remote Method Invocation over the Internet Inter-ORB Protocol (RMI-IIOP) JMX コネクター
- Inter-Process Communications (IPC)
- 特定のプロトコルを介して JMX エージェントの管理ビューを提供するプロトコル・アダプター。 プロトコル・アダプターに接続する管理アプリケーションは通常、特定のプロトコルに固有です。
- ランタイム・オブジェクトの構成設定を照会し、更新する機能。
- ランタイム中にアプリケーション・コンポーネントおよびリソースをロード、初期化、変更、およびモニターする機能。
JMX アーキテクチャー
JMX アーキテクチャーは以下の 3 つのレイヤーに構造化されています。
- 計測レイヤー - リソースを管理対象 Bean (MBean) という名の特別な Java Bean 内にラップする方法を指示します。
- エージェント・レイヤー - MBean サーバーおよびエージェントから構成され、管理インフラストラクチャーを提供します。
実装されるサービスには、以下のものがあります。
- モニター
- イベント通知
- タイマー
- 管理レイヤー - 外部管理アプリケーションが、プロトコル、API などにおいて、下のレイヤーと対話する方法を定義します。 このレイヤーは分散サービス仕様 (JSR-077) の実装を使用します。 これは Java 2 Platform, Enterprise Edition (J2EE) 仕様の一部です。
JMX の階層化アーキテクチャーを次の図で要約しています。

JMX 分散管理
次の図は、JMX アーキテクチャーがどのように WebSphere Application Server Network Deployment 環境の分散管理トポロジー全体に適合するかを示します。

この分散管理アーキテクチャーの主なポイントには、次のものが含まれます。
- ローカル MBean サーバーを備えた Java 仮想マシン (JVM) レジスターに対してローカルである内部 MBean。
- 外部 MBean には MBean サーバーに対するローカル・プロキシーがあります。プロキシーはローカル MBean サーバーに登録します。ローカル MBean サーバーは、MBean プロキシーを使用して、 メッセージを以下の場所にある外部 MBean サーバーに受け渡すことができます。
- ノード内にすべてのサーバーの MBean プロキシーがあるノード・エージェント。 他のノードの MBean プロキシーは使用されません。
- デプロイメント・マネージャーには、セルのすべてのノード・エージェントの MBean プロキシーがあります。
JMX Mbean
この製品は多くの MBean を提供し、 それぞれの MBean でさまざまな機能および操作が使用できます。例えば、アプリケーション・サーバー MBean は、始動および停止などの操作を公開することができます。 アプリケーション MBean はインストールおよびアンインストールなどの操作を公開することができます。 ユーザーが経験することになる JMX 使用シナリオには、次のようなものがあります。
- プログラマチックに JMX API にアクセスすることによって、WebSphere Application Server Network Deployment ランタイムおよびその WebSphere リソースを制御するために書き込まれた外部プログラム。
- デプロイメント・コードの一部としてカスタム JMX MBean を含むサード・パーティー・アプリケーション。 このアプリケーションによって、アプリケーション・コンポーネントおよびリソースの JMX API 管理をサポートします。
次の例は、特定の MBean の名前の取得方法を示しています。
Jacl を使用:
set am [$AdminControl queryNames type=ApplicationManager,process=server1,*]
Jython の使用:
am = AdminControl.queryNames('type=ApplicationManager,process=server1,*')
各 WebSphere Application Server ランタイム MBean は、 属性、操作、および通知を保持できます。本製品で提供される各 MBean の詳細な資料は、このインフォメーション・センターの、 で使用できます。
JMX の利点
WebSphere Application Server の管理機能に JMX を使用した場合の利点は次のとおりです。
- 大きな投資をすることなく、Java アプリケーションの管理ができます。
- 管理エージェントとして機能するコア管理対象オブジェクト・サーバーに依存します。
- Java アプリケーションは管理対象オブジェクト・サーバーを組み込み、その機能の一部をオブジェクト・サーバーに登録された 1 つ以上の MBean として使用可能にすることができます。
- スケーラブルな管理アーキテクチャーを提供します。
- すべての JMX エージェント・サービスが、管理エージェントにプラグインできる独立したモジュールです。
- API は拡張可能であり、新規 WebSphere Application Server およびカスタム・アプリケーション・フィーチャーを、この管理インターフェースを介して簡単に追加および公開することができます。
- 既存の管理ソリューションを統合します。
- 各プロセスは、リソースの管理に関しては自立しています。 制御の中心点はありません。原則として、JMX 対応管理クライアントは、すべての管理対象プロセスと接続でき、 プロセスによってホストされる MBean と対話することができます。
- JMX では、システム管理に対して、単一の、フラットな、ドメイン全体をカバーするアプローチを提供します。 個々のプロセスは MBean プロキシーを介して対話して、単一の管理クライアントをサポートし、 管理プロセスのネットワークを介してシームレスにナビゲートします。
- 管理に必要なインターフェースのみを定義します。
- 管理ツールにアプリケーションおよび管理リソースを公開するために、標準 API を提供します。