BEA ホーム | 製品 | dev2dev | support | askBEA
 ドキュメントのダウンロード   サイト マップ   Glossary 
検索

WebLogic JMX Service プログラマーズ ガイド

 Previous Next Contents Index PDF で侮ヲ  

WebLogic JMX サービスの概要

WebLogic Server は、オープンで拡張可能な管理サービスを提供するために、Sun Microsystems, Inc. の Java Management Extensions (JMX) 1.0 仕様を実装しています。 便利な独自のメソッド群とその他の拡張を追加することで、WebLogic Server 分散環境を活用しています。

すべての WebLogic Server リソースはこれらの JMX ベースのサービスによって管理され、WebLogic Server の内部で実行されるサードパーティのサービスとアプリケーションも同様に管理できます。 これらの JMX サービスを使用して独自の管理ユーティリティを構築することで、WebLogic Server のリソースやアプリケーションを管理できます。

以下の節では、WebLogic Server の JMX サービスについて概説します。

JMX 1.0 仕様に目を通すには、http://jcp.org/aboutJava/communityprocess/final/jsr003/index.html からアーカイブをダウンロードします。ダウンロードしたアーカイブに、API のドキュメントが格納されています。

 


WebLogic Server の管理対象リソースと MBean

WebLogic Server 内部のサブシステム (JMS プロバイダや JDBC コンテナなど) およびそれらが管理する項目 (JMS サーバや JDBC 接続プールなど) を、WebLogic Server 管理対象リソースと呼びます。各管理対象リソースには、管理用にコンフィグレーションおよびモニタできる一連の属性が組み込まれています。たとえば、各 JDBC 接続プールには、その名前、ドライバ名、初期容量、およびキャッシュ サイズを定義する属性が組み込まれています。一部の管理対象リソースは、管理用に使用できるメソッド (操作) を備えています。WebLogic JMX サービスは、1 つまたは複数の管理対象 Bean (MBean) を通じてこれらの管理属性および操作を公開します。 MBean は JMX 仕様に基づいて開発される具体的な Java クラスです。 MBean は、管理対象リソースの各管理属性に対するゲッター操作とセッター操作、リソースごとに使用できる追加の管理操作を備えることができます。 詳細については、図 1-1 を参照してください。

図1-1 管理対象リソースと管理対象 Bean


 

管理対象リソースのコンフィグレーションのために属性および操作をエクスポーズする WebLogic Server MBean のことはコンフィグレーション MBean と呼び、管理対象リソースの実行時状態に関する情報を提供する MBean のことは実行時 MBean と呼びます。 コンフィグレーション MBean と実行時 MBean とでは分散および管理の方法が異なるため、WebLogic Server ドメイン内のリソースをコンフィグレーションしたり、リソースの実行時状態に関するデータを表示したりする機能が異なります。

以下の節では、WebLogic Server における MBean の分散および管理の方法について説明します。

WebLogic Server ドメインの基本構成

WebLogic Server の管理ドメインは、WebLogic Server リソースの論理的に関連したグループです。 ドメインには、管理サーバと呼ばれる特殊な WebLogic Server インスタンスが含まれます。管理サーバでは、ドメイン内のすべてのリソースを一元的にコンフィグレーションおよび管理します。 通常は、管理対象サーバと呼ばれる WebLogic Server インスタンスも含めてドメインをコンフィグレーションします。 開発したアプリケーションや EJB などのリソースは管理対象サーバにデプロイし、管理サーバはコンフィグレーションや管理の目的にのみ使用します。

複数の管理対象サーバを使用すると重要なアプリケーションでロード バランシングとフェイルオーバを利用でき、1 つの管理サーバは管理対象サーバ インスタンスの管理を容易にします。 ドメインの詳細については、『管理者ガイド』の「システム管理の概要」を参照してください。

管理対象リソースをコンフィグレーションするための MBean

管理責任を管理サーバに集中させる WebLogic Server モデルをサポートするために、管理サーバはドメイン内のすべてのサーバ インスタンスのすべての管理対象リソースのコンフィグレーション MBean をホストします。 さらに、管理サーバはサーバ インスタンスを停止して再起動するときに利用できるようにコンフィグレーション データの変更を保存します。

WebLogic Server リソースのコンフィグレーションを変更するには、管理サーバ上のコンフィグレーション MBean の値を変更します。

コンフィグレーション MBean のローカル レプリカ

パフォーマンスを向上させたり、クラスタ化機能をサポートするために、各管理対象サーバはドメイン内のすべてのコンフィグレーション MBean のローカル レプリカを作成します。 MBean と対話する WebLogic Server サブシステムおよびアプリケーションは、管理サーバに対してリモート呼び出しを実行する代わりに、ローカル サーバ上のレプリカを使用します (図 1-2 を参照)。

図1-2 MBean のレプリケーション


 

管理サーバ上のコンフィグレーション MBean は管理 MBean と呼ばれ、管理対象サーバ上のレプリカはローカル コンフィグレーション MBean と呼ばれます。

注意: 管理サーバは、管理 MBean だけでなく、ローカル コンフィグレーション MBean もホストします。ローカル コンフィグレーション MBean は、管理サーバのサブシステム、および管理サーバにデプロイされたアプリケーションによって使用されます。

コンフィグレーション MBean のライフサイクル

この節では、管理 MBean とローカル コンフィグレーション MBean がどのように初期化されるのか、コンフィグレーション データの変更がどのように WebLogic Server システム全体に伝播されるのか、および属性値をどのように変更すればサーバ インスタンスの再起動時に利用可能になるのかを説明します。

  1. コンフィグレーション MBean のライフサイクルは、管理サーバを起動したときに開始されます。 管理サーバは、その起動時にドメインの config.xml ファイルのデータを使用してドメインのすべての管理 MBean を初期化します (図 1-3 を参照)。

    図1-3 コンフィグレーション MBean の初期化


     

    管理サーバは、その起動時にのみ config.xml ファイルからデータを読み出します。

  2. 管理対象サーバは、起動時に管理サーバに接続して自身のコンフィグレーション データを取得します。 デフォルトでは、管理対象サーバはドメイン内のリソースをコンフィグレーションする管理 MBean のレプリカを作成します。しかし、サーバの起動コマンドで引数を使用して、管理 MBean の値をオーバーライドできます。

    たとえば、管理対象サーバ A について、config.xml ファイルにそのリスン ポートが 8000 であると指定されているとします。この場合、weblogic.Server コマンドを使用して管理対象サーバ A を起動したときに起動オプションとして -Dweblogic.ListenPort=7501 を指定すると、現在のサーバ セッションのリスン ポートが変更されます。 管理対象サーバは管理 MBean のレプリカを作成しますが、リスン ポートの値として 7501 を代わりに使用します。 管理対象サーバ A を再起動すると、このサーバは再び config.xml ファイルの値 8000 を使用します (図 1-4 を参照)。

    図1-4 管理 MBean の値のオーバーライド


     

    管理サーバの起動時に config.xml の値をオーバーライドするために使用した起動コマンドの引数は、管理サーバ上のローカル コンフィグレーション MBean の値にのみ影響します。 コマンド引数は管理 MBean の値には影響を与えず、したがって以降のサーバ セッションにも影響を与えません (図 1-5 を参照)。

    図1-5 管理サーバの値のオーバーライド


     

  3. 管理 MBean の値を変更し、対応する管理対象サーバが稼働している場合、管理サーバはその変更をローカル コンフィグレーション MBean に伝播します。属性によっては、基になるリソースは再起動するまで新しい値を受け付けることができない場合があります。WebLogic Server Javadoc では、管理対象リソースが現在のセッションで属性の新しい値を受け付けることができるかどうかが示されています。管理対象リソースが新しい値を受け付けることができる場合でも、コンフィグレーションの変更をチェックする頻度によっては、そのリソースが更新値を即座に使用しない場合もあります。

    注意: 変更するのは管理 MBean の属性値のみとし、ローカル コンフィグレーション MBean の属性値は変更しないようにしてください。 他の管理対象サーバのデータをレプリケートする際、管理対象サーバは管理 MBean に格納された値を使用します。管理 MBean とローカル コンフィグレーション MBean の値が異なると、通信上の問題が発生するおそれがあります。

  4. 管理サーバは、管理 MBean が変更されたかどうかを定期的にチェックし、変更があった場合はそれらを config.xml に書き込みます。 また、管理サーバの停止時や、WebLogic Server ユーティリティ (Administration Console や weblogic.Admin など) による MBean 属性の変更時にも、変更が config.xml ファイルに書き込まれます。

  5. ローカル コンフィグレーション MBean は、管理対象サーバの停止時に破棄されます。管理 MBean は、管理サーバの停止時に破棄されます。

管理対象サーバ独立のための MBean のレプリケーション

管理対象サーバ独立 (MSI) は、管理サーバが利用できない場合に管理対象サーバを起動できる機能です。管理対象サーバで MSI がコンフィグレーションされている場合、その管理対象サーバには、そのローカル コンフィグレーション MBean に加え、ドメインのすべての管理 MBean のコピーが格納されます。

管理対象サーバ上の管理 MBean とは対話しないでください。これらはドメインの前回の正常なコンフィグレーションを反映しており、管理対象サーバを MSI モードで起動するためだけに使用します。管理対象サーバで管理 MBean を変更すると、管理対象サーバのコンフィグレーションが管理サーバと一致しなくなり、予測できない結果になることがあります。また、管理対象サーバは、他の管理対象サーバ上の管理 MBean を認識しません。

MSI の詳細については、『WebLogic Server ドメイン管理』の「管理サーバにアクセスできない場合の管理対象サーバの起動」を参照してください。

コンフィグレーション MBean API のドキュメント

コンフィグレーション MBean のドキュメントを参照するには、次の手順に従います。

  1. WebLogic Server Javadoc を開きます。

  2. Web ブラウザの左上のペインで、weblogic.management.configuration をクリックします。

    左下のペインに、パッケージのリンクが表示されます。

  3. 左下のペインで、weblogic.management.configuration を再びクリックします。

    右ペインに、パッケージの要約が表示されます (図 1-6 を参照)。

    図1-6 configuration パッケージの Javadoc


     

  4. インタフェース名をクリックすると、その API ドキュメントが表示されます。

管理対象リソースの実行時の状態を参照するための MBean

WebLogic Server 管理対象リソースは、1 つまたは複数の実行時 MBean を通じてその実行時の状態に関するパフォーマンス メトリックなどの情報を提供します。実行時 MBean はコンフィグレーション MBean のようにレプリケートされず、基になる管理対象リソースと同じサーバ インスタンス上だけに存在します。

実行時 MBean は一時的なデータだけを保持し、データを config.xml ファイルに保存しません。サーバ インスタンスを停止すると、実行時 MBean から得られる実行時の統計とメトリックはすべて破棄されます。

次の図に (図 1-7)、実行時 MBean、管理 MBean、およびローカル コンフィグレーション MBean がドメイン内でどのように配布されるかを示します。

図1-7 MBean の配布


 

これらの値は、Administration Console、weblogic.Admin ユーティリティ、または MBean API を使用して参照できます (図 1-8 を参照)。

図1-8 Administration Console からの実行時メトリックの参照


 

また、これらのインタフェースを使用すると、実行時の値を変更することもできます。 たとえば、weblogic.management.runtime.DeployerRuntimeMBean を使用すると、デプロイされているモジュールの実行時の状態を変更することによってそのモジュールをアクティブ化および非アクティブ化できます。


 

実行時 MBean API のドキュメント

実行時 MBean のドキュメントを参照するには、次の手順に従います。

  1. WebLogic Server Javadoc を開きます。

  2. Web ブラウザの左上のペインで、weblogic.management.runtime をクリックします。

    左下のペインに、パッケージのリンクが表示されます。

  3. 左下のペインで、weblogic.management.runtime を再びクリックします。

    右ペインに、パッケージの要約が表示されます (図 1-9 を参照)。

    図1-9 runtime パッケージの Javadoc


     

  4. インタフェース名をクリックすると、その API ドキュメントが表示されます。

セキュリティ MBean

WebLogic Security サービスでは、WebLogic Server のセキュリティを管理する MBean および MBean を新しく生成するためのツールを提供します。 これらの MBean はセキュリティ MBean と呼ばれ、その利用モデルはこのマニュアルで説明するモデルとは異なります。セキュリティ MBean の詳細については、『WebLogic Security サービスの開発』を参照してください。

WebLogic Server 以外の MBean

WebLogic Server には数百もの MBean が用意されており、それらの多くは、EJB、Web アプリケーション、およびその他のデプロイ可能な J2EE モジュールのコンフィグレーションとモニタに使用されます。アプリケーションまたはサービスをコンフィグレーションするために追加の MBean を使用する場合、独自の MBean を作成することができます。

作成する MBean は、JMX 仕様 (http://jcp.org/aboutJava/communityprocess/final/jsr003/index.html からダウンロード可能) によって定義されているすべての JMX 1.0 機能を活用できます。

ただし、WebLogic Server の JMX 拡張を使用できるのは、WebLogic Server に用意されている MBean だけです。 たとえば、アプリケーション用に作成した独自の MBean は、そのデータを config.xml ファイルに保存できず、次節 (MBean サーバ および MBeanHome インタフェース.) で説明する型保障インタフェースを使用できません。

 


MBean サーバ および MBeanHome インタフェース

WebLogic Server インスタンスの内部では、MBean を登録し、MBean へのアクセスを提供する実際の処理は MBean サーバ サブシステムに委託されます。管理対象サーバ上の MBean サーバは、現在の管理対象サーバ上のローカル コンフィグレーション MBean と実行時 MBean だけを登録し、それらへのアクセス提供します。管理サーバ上の MBean サーバは、ドメインの管理 MBean に加え、管理サーバ上のローカル コンフィグレーション MBean と実行時 MBean を登録し、それらへのアクセスを提供します。

注意: 管理対象サーバの独立 (MSI) がコンフィグレーションされている管理対象サーバでは、MBean サーバ は、管理サーバが利用できない場合にサーバが起動に使用する管理 MBean のレプリカも登録します。それらの管理 MBean のレプリカとは対話しないでください。 詳細については、管理対象サーバ独立のための MBean のレプリケーションを参照してください。

MBean サーバ サブシステムにアクセスするには、weblogic.management.MBeanHome インタフェースを使用します。 MBeanHome からは、以下のインタフェースを使用して MBean サーバとその MBean と対話できます (図 1-10 を参照)。

ローカル MBeanHome および管理 MBeanHome

WebLogic Server のすべてのインスタンスは、その MBean サーバにホストされている MBean にアクセスするためのローカル MBeanHome インタフェースを提供します。

管理対象サーバおよび管理サーバにおいて、ローカル MBeanHome インタフェースは現在のサーバについてのみ実行時 MBean へのアクセスを実現するとともに、ドメイン内のすべてのローカル コンフィグレーション MBean へのアクセスも実現します。

管理サーバは、MBeanHome インタフェースのもう 1 つのインスタンスを提供します。 この管理 MBeanHome は、管理 MBean に加え、ドメイン内のすべてのサーバ インスタンス上の MBean へのアクセスを提供します。 管理 MBeanHome は、 RMI を使用して管理対象サーバ上の MBean と対話します。このため、ネットワーク リソースの使用量が増加し、ローカル MBeanServer または MBeanHome インタフェースを使用するときより時間がかかる場合があります (図 1-11 を参照)。

図1-11 ローカルおよび管理 MBeanHome インタフェース


 

ローカル MBeanHome と管理 MBeanHome は同じインタフェース クラスの 2 つのインスタンスであるため、この 2 種類の MBeanHome の API は MBeanHome インスタンスの名前とアクセス可能な MBean のセットが異なるだけです。

 


通知とモニタ

管理ニーズに応じて、MBean API を使用して要求時のみに MBean 属性を参照することも、WebLogic Server 通知およびモニタ機能を使用して MBean 属性の変更時にレポート (JMX 通知) を自動的にブロードキャストすることもできます。

これらの機能を使用するには、次の手順に従います。

 


Administration Console と weblogic.Admin ユーティリティ

WebLogic Server Administration Console と weblogic.Admin ユーティリティは、WebLogic Server JMX サービスを使用した管理ユーティリティの例です。 JMX アプリケーションを開発する前に WebLogic Server 管理サービスに精通するため、これらのインタフェースを使用できます。

Administration Console

Administration Console は、WebLogic Server JMX API を呼び出すサーブレットを備えた Web アプリケーションです。Administration Console に表示されるほとんどの値は、管理 MBean と実行時 MBean の属性です。Administration Console はローカル コンフィグレーション MBean を読み書きしないので、サーバ インスタンスで現在使用されていない値をレポートする可能性があります。 たとえば、weblogic.Server 起動オプションを使用してコンフィグレーション済みリスン ポートをオーバーライドした場合、Administration Console はオーバーライドした値ではなく config.xml ファイル中の値をレポートします。

Administration Console がどの MBean 属性をレポートしているかを確認するには、最上部のバナーにある疑問符記号のアイコンをクリックします。 Administration Console のフィールドに関連付けられた MBean クラスおよび属性を表示するには、ヘルプ ウィンドウの [属性] リンクをクリックします。

Administration Console のフィールドの横に表示される注意アイコン (黄色い三角形に感嘆符のアイコン) は、属性が動的ではないことを示します。このような属性を変更した場合、基になる管理対象リソースはサーバを再起動するまで新しい値を使用できません。

Administration Console からの動的な値を変更すると、それに対応する管理 MBean が更新されます。 この変更がどのようにローカル コンフィグレーション MBean に伝播するかについては、コンフィグレーション MBean のライフサイクルを参照してください。

weblogic.Admin ユーティリティ

weblogic.Admin ユーティリティには、管理 MBean とコンフィグレーション MBean の作成、値の取得と設定、操作の呼び出し、およびインスタンスの削除を行うコマンドが用意されています。また、実行時 MBean の値の取得と操作の呼び出しを行うコマンドも用意されています。 WebLogic Server 管理サービスとプログラム的に対話する JMX アプリケーションを作成する代わりに、このユーティリティを使用するシェル スクリプトを作成することもできますが、JMX アプリケーションのパフォーマンスの方が、コマンドライン ユーティリティを呼び出すシェル スクリプトより優れています。

weblogic.Admin ユーティリティでは、JMX コードを記述する前に、MBean のオブジェクト名を確認したり、コマンドラインから属性を取得および設定したりすることもできます。 このマニュアルの以降の章では、JMX 開発の過程で weblogic.Admin ユーティリティを使用する例を紹介します。

詳細については、『管理者ガイド』の「MBean 管理コマンド リファレンス」を参照してください。

 

Back to Top Previous Next