2 WebLogic Server MBeanの理解

この章では、WebLogic Server に用意され、WebLogic Serverリソースの構成、モニターおよび管理に使用できるMBeanについて説明します。また、WebLogic ServerでこれらのMBeanの配布と保持を行う方法についても説明します。

この章の内容は以下のとおりです。

Oracle WebLogic Server MBeanリファレンスでは、すべてのWebLogic Server MBeanについて詳しく説明しています。

WebLogic Serverドメインの基本構成

WebLogic Server管理ドメインは、1つ以上のサーバーと、それらのサーバー上で動作するように構成されたアプリケーションおよびリソースの集合です。各ドメインには、管理サーバーとして指定される特別なサーバー・インスタンスが含まれている必要があります。最も単純なドメインは、管理サーバーとしても、アプリケーションおよびリソースのホストとしても機能する1つのサーバー・インスタンスで構成されます。このドメイン構成は、開発環境でよく使用されます。通常、本番環境用のドメインには複数のサーバー・インスタンス(管理対象サーバー)が含まれ、それぞれを独立して動作させたり、クラスタと呼ばれるグループで動作させたりします。このような環境では、管理サーバーは本番アプリケーションをホストしません。ドメインの詳細は、Oracle WebLogic Serverドメイン構成の理解Oracle WebLogic Serverドメインの理解を参照してください。

モニター用または構成用に分けられるMBeanタイプ

すべてのWebLogic Server MBeanは、そのMBeanがサーバーおよびリソースをモニターするか、または構成するかに基づいて、以下の一般的なタイプのいずれかに分けられます。

  • 実行時MBeanには、サーバーとそのリソースの実行時状態に関する情報が含まれます。通常は、サーバーまたはリソースの現在の状態に関するデータのみが含まれ、このデータは永続化されません。サーバー・インスタンスを停止すると、ランタイムMBeanの実行時の統計とメトリックはすべて破棄されます。

  • 構成MBean。サーバーおよびリソースの構成に関する情報が含まれます。それらは、ドメインのXML構成ドキュメントに格納されている情報を表します。

  • システム・モジュールの構成MBean。JDBCデータ・ソースやJMSトピックなど、システム・レベルで指定されたサービスの構成に関する情報が含まれます。これらのサービスをシステム・レベルで指定する代わりに、モジュールとしてアプリケーションに含めることもできます。これらのアプリケーション・レベルのリソースは、親アプリケーションのライフサイクルおよびスコープを共有します。ただし、WebLogic Serverではアプリケーション・モジュール用のMBeanは提供されていません。Oracle WebLogic Serverへのアプリケーションのデプロイサポートされるデプロイメント・ユニットを参照してください。

WebLogic Server MBeanのライフサイクル

ランタイムMBeanのライフサイクルは、そのランタイムMBeanがランタイム・データを公開するリソースのライフサイクルに従います。たとえば、サーバー・インスタンスの起動時に、サーバーはServerRuntimeMBeanをインスタンス化し、そこに現在のランタイム・データを格納します。各リソースは、自身の状態が変化するときに、ランタイムMBean内のデータを更新します。リソースは、停止時にランタイムMBeanを破棄します。

構成MBeanのライフサイクルは、次のようになります。

  1. ドメイン内の各サーバーには、ドメインの構成ドキュメント(config.xmlファイルと補助ファイル)の独自のコピーがあります。各サーバーは、起動サイクル時に管理サーバーにアクセスして、そのサーバーが停止していた間に発生したすべての変更を反映するように構成ファイルを更新します。その後、サーバーは、構成ドキュメント内のデータを表す構成MBeanをインスタンス化します(図2-1を参照してください。)

    ノート:

    デフォルトでは、管理対象サーバーは、管理サーバーにアクセスして構成ファイルを更新できなくても起動します。このデフォルトの設定では、ドメイン内で実行される管理対象サーバー間で構成が一致していない状態になるおそれがあります。このデフォルトの変更については、Oracle WebLogic Serverサーバーの起動と停止の管理管理サーバーにアクセスできない場合の管理対象サーバーの起動を参照してください。

    図2-1 管理サーバー上の構成MBeanの初期化

    図2-1の説明が続きます
    「図2-1 管理サーバー上の構成MBeanの初期化」の説明

    構成MBeanを使用することで、ドメイン内の各サーバー・インスタンスは、ドメインの構成をメモリー内で表現したものを保持できます。

  2. ドメインの構成に対する変更を制御するには、JMXクライアントにこれらの構成MBeanに対する読取り専用のアクセス権を付与します。

    管理サーバーは、ドメインのconfig/pendingディレクトリでドメインの構成ドキュメントの編集可能なコピーを個別に保持します。また、このような保留中のドキュメントにあるデータを使用し、JMXクライアントを変更できる構成MBeanセットをインスタンス化します。JMXクライアントは、これらの構成MBeanのいずれかを変更すると、保留中の構成ドキュメントにその変更を保存するように管理サーバーに指示します。クライアントはその後、ドメイン内のすべてのサーバー・インスタンスに対して読取り専用の構成ドキュメントと構成MBeanを更新するトランザクション・プロセスを開始します。

    『Oracle WebLogic Serverドメイン構成の理解』構成変更の管理に関する項を参照してください。

  3. 構成MBeanは、それらをホストするサーバー・インスタンスが停止されるときに破棄されます。

WebLogic Server MBeanのデータ・モデル

JMX仕様では、MBeanをまとめるためのモデルを定めていません。ただし、WebLogic Serverドメインの構成は、XMLドキュメント内で指定されるため、WebLogic ServerはMBeanを、XMLドキュメント構造を反映した階層モデルにまとめます。

たとえば、ドメインの構成ドキュメントのルートは<domain>であり、そのルートの下には、<server><cluster>などの子要素があります。各ドメインは、<domain>ルート要素を表すDomainMBeanタイプの1つのMBeanを保持しています。DomainMBean内では、JMX属性が、<server><cluster>などの子要素を表すMBeanへのアクセスを提供します。

以下の節では、基底のXML構成をモデル化するためにWebLogic Server MBeanで使用されるパターンについて説明します。

包含関係と参照関係

他のMBeanへのアクセスを提供するMBean属性は、以下のいずれかのタイプの関係を表現します。

  • 包含関係。ドメインの構成ドキュメント内の対応するXML要素間の親子関係を反映します。

  • 参照関係。兄弟などの、祖先でも子孫でもない関係を反映します。

包含関係

例2-1のXML抜粋に、<domain><server>の間および<domain><cluster>の間の包含関係を示します。

例2-1 XML内の包含関係

<domain>
   <server>
      <name>MyServer</name>
   </server>
   <cluster>
      <name>MyCluster</name>
   </cluster>
</domain>

この関係を反映するために、DomainMBeanにはServersおよびClustersという2つの属性があります。Servers属性の値は、ドメインで作成されたすべてのServerMBeanのオブジェクト名の配列(javax.management.ObjectName[])です。Clusters属性の値は、すべてのClusterMBeanのオブジェクト名の配列です。

包含関係のもう一方の側面は、Java beanファクトリ・メソッドの設計パターンに従う一連のMBean操作で表現されます。親MBeanは、包含するMBean (子)ごとにcreateChild操作およびdestroyChild操作を提供します。ChildはMBeanタイプの短縮名です。(短縮名とは、MBean接尾辞の付かない、MBeanの未修飾のタイプ名。たとえば、createServerのように指定します。)

ノート:

JMXクライアントは、WebLogic Server MBeanのインスタンスの作成および登録にjavax.management.MBeanServer.create()register()も使用できません。WebLogic ServerはMBean実装クラスを公開していないからです。

カスタムMBean (アプリケーションを管理するために作成するMBean)を作成および登録する場合には、独自の実装ファイルにアクセスできれば、標準のMBeanServer.create()メソッドやregister()メソッドを使用できます。カスタムMBeanはWebLogic Serverのデータ・モデルの一部ではなく、ファクトリ・メソッド・モデルには参加しません。

場合によっては、サーバー・インスタンス内の依存関係が原因で、MBeanのファクトリ・メソッドがパブリックではないこともあります。この場合は、親が子のライフサイクルを管理します。たとえば、各ServerMBeanには、そのサーバーのローカル・ログ・ファイルを構成するための唯一の子LogMBeanが必要です。LogMBeanのファクトリ・メソッドはパブリックではなく、ServerMBeanLogMBeanのライフサイクルを管理します。

包含関係では、親MBeanlookupChild操作も含まれています。特定のサーバーまたはリソースの作成に使用された、ユーザーが入力した名前が分かっている場合は、親MBeanのlookup操作を使用して、オブジェクト名を取得できます。たとえば、DomainMBeanには、サーバー・インスタンスの作成に使用された名前をパラメータとして取るlookupServers(String name)という操作が含まれています。サーバーにMS1という名前を付けた場合、MS1を含むStringオブジェクトをlookupServersメソッドに渡せば、そのメソッドはMS1のオブジェクト名を返します。

参照関係

例2-2のXML抜粋に、<server><cluster>の間の参照関係を示します。

例2-2 XML内の参照関係

<domain>
   <server>
      <name>MyServer</name>
      <cluster>MyCluster</cluster>
   </server>
   <cluster>
      <name>MyCluster</name>
   </cluster>
</domain>

サーバーがクラスタに論理的に属しているとき、ドメインの構成ファイル内の<server>要素と<cluster>要素は兄弟です。この関係を反映するために、ServerMBeanにはCluster属性があります。この属性の値は、そのサーバーが属しているClusterMBeanのオブジェクト名(javax.management.ObjectName)です。

参照関係にあるMBeanには、ファクトリ・メソッドは提供されません。

WebLogic Server MBeanのオブジェクト名

すべてのMBeanは、javax.management.ObjectName型のオブジェクト名でMBeanサーバーに登録されなければなりません。WebLogic Serverでは、子MBeanのオブジェクト名にはその親MBeanのオブジェクト名の一部が含まれるという規約に従っています。

ノート:

WebLogic Serverの命名規則を理解していれば、オブジェクト名をよく見ることでデータ階層内でのMBeanインスタンスの場所が分かります。ただし、包含属性またはlookup操作を使用してWebLogic Server MBeanのオブジェクト名を取得した場合は、JMXアプリケーションでオブジェクト名を作成したり解析したりする必要はありません。

WebLogic Serverの命名規則では、MBeanオブジェクト名は次のようにエンコードされます。

com.bea:Name=name,Type=type[,TypeOfParentMBean=NameOfParentMBean]
[,TypeOfParentMBean1=NameOfParentMBean1]... 

前述のMBeanオブジェクト名規則は次のとおりです。

  • com.bea:は、JMXドメイン名。

    WebLogic Server MBeanの場合、JMXドメインは常にcom.beaです。アプリケーション用にカスタムMBeanを作成する場合は、独自のJMXドメイン名を付けてください。

  • Name=name,Type=type[,TypeOfParentMBean=NameOfParentMBean] [,TypeOfParentMBean1=NameOfParentMBean1]...は、一連のJMXキー・プロパティ。

キー・プロパティの順序は重要ではありませんが、名前の先頭にはcom.bea:を指定する必要があります。

表2-1に、WebLogic ServerがMBeanオブジェクト名にエンコードするキー・プロパティを示します。

表2-1 WebLogic Server MBeanオブジェクト名のキー・プロパティ

キー・プロパティ 指定する対象
Name=name

MBeanが表すリソースを作成したときに指定した文字列。たとえば、サーバーの作成時には、MS1などのサーバー名を指定する必要があります。MS1を表すServerMBeanでは、そのJMXオブジェクト名にName=MS1が使用されます。

MBeanを作成する場合、このNameキー・プロパティに、ドメイン内の他のすべてのMBeanの間で一意の値を指定する必要があります。

Type=type

構成MBeanおよびランタイムMBeanの場合は、MBeanタイプの短縮名。短縮名は、MBean接尾辞の付かない、未修飾のタイプ名です。たとえば、ServerRuntimeMBeanのインスタンスであるMBeanに対しては、ServerRuntimeを使用します。

システム・レベルで指定されたサービスを管理するMBeanの場合は、BeanまたはMBean接尾辞を含めたMBeanタイプの完全修飾名。たとえば、システム・レベルのJDBCデータ・ソースを管理するMBeanに対しては、weblogic.j2ee.descriptor.wl.JDBCDataSourceBeanを使用します。

TypeOfParentMBean=

NameOfParentMBean

階層的なネームスペースを作成するために、WebLogic Server MBeanは、オブジェクト名の中でこの属性の1つまたは複数のインスタンスを使用します。階層のレベルによってスコープが示されます。たとえば、階層のドメイン・レベルにあるLogMBeanはドメイン全体のメッセージ・ログを管理し、サーバー・レベルにあるLogMBeanはサーバー固有のメッセージ・ログを管理します。

暗黙的なcreatorメソッドを持つWebLogic Server子MBeanは、親MBeanのNameプロパティと同じ値を使用します。たとえば、MedRecServer Server MBeanの子であるLogMBeanはそのオブジェクト名でName=MedRecServerを使用します。

medrec:Name=MedRecServer,Type=Log,Server=MedRecServer

親MBeanに同じタイプの複数の子がある場合、WebLogic Serverではこの規約に従うことができません。

一部のMBeanはこのキー・プロパティの複数のインスタンスを使用して一意の識別子を指定します。たとえば、MedRecサンプル・アプリケーションのEJBComponentRuntime MBeanのオブジェクト名は次のとおりです。

medrec:ApplicationRuntime=MedRecServer_MedRecEAR, Name=MedRecServer_MedRecEAR_Session EJB,ServerRuntime=MedRecServer,Type=EJBComponentRuntime

ApplicationRuntime=MedRecServer_MedRecEARというキー・プロパティは、このEJBインスタンスがMedRecエンタープライズ・アプリケーションの中のモジュールであり、MedRecServer_MedRecEAR ApplicationRuntimeMBeanの子であることを表します。ServerRuntime=MedRecServerというキー・プロパティは、このEJBインスタンスがMedRecServerというサーバーに現在デプロイされていて、MedRecServer ServerRuntimeMBeanの子であることを表します。

Location=servername

ドメイン実行時MBeanサーバーを使用して実行時MBeanまたは構成MBeanにアクセスする場合は、MBeanオブジェクト名に、そのMBeanが格納されているサーバー・インスタンスの名前を指定するLocation=servernameキー・プロパティを含めます。「MBeanサーバー」を参照してください。

DomainRuntimeMBeanServerLifeCycleRuntimeMBeanなどのシングルトンMBeanは管理サーバーにのみ存在するので、オブジェクト名にこのキー・プロパティを含める必要はありません。

MBeanServerInvocationHandler

MBeanServerInvocationHandlerを使用してMBeanのプロキシを作成する場合、

Intf proxy = (Intf)
     MBeanServerInvocationHandler.newProxyInstance(mbs,
                                                   name,
                                                   Intf.class,
                                                   false);

次のように、javax.management.MBeanServerInvocationHandlerのかわりにWLS拡張MBeanServerInvocationHandlerを含める必要があります。

import weblogic.management.jmx.MBeanServerInvocationHandler;

このため、返される例外が正しく処理されます。

MBeanサーバー

MBeanサーバーは、すべてのJMXエージェントのコアとなるものであり、MBeanのコンテナとして機能します。

管理サーバーのJVMは、Oracleから提供される3種類のMBeanサーバーを保持しており、さらに必要に応じてJDK自体から提供されるプラットフォームMBeanサーバーを保持します。管理対象サーバーのJVMは、OracleのMBeanサーバーを1種類だけ保持しており、さらに必要に応じてプラットフォームMBeanサーバーを保持します。

表2-2に、各MBeanサーバーを示します。

表2-2 WebLogic ServerドメインのMBeanサーバー

MBeanサーバー 作成、登録、およびアクセスを提供する対象

ドメイン・ランタイムMBeanサーバー

ドメイン全体のサービス用のMBean。このMBeanサーバーは、管理対象サーバー上にあるMBeanへの単一のアクセス・ポイントとしても機能します。このMBeanサーバーに独自の(カスタム)MBeanを登録できます(Oracle WebLogic Server JMXによる管理可能アプリケーションの開発ドメイン・ランタイムMBeanサーバーへのカスタムMBeanの登録を参照してください。)

オブジェクト名を作成してこのMBeanサーバーのWebLogic Server MBeanにアクセスするJMXクライアントでは、そのMBeanオブジェクト名にLocation=servernameキー・プロパティを追加する必要があります。「WebLogic Server MBeanのオブジェクト名」を参照してください。

管理サーバーのみが、このMBeanサーバーのインスタンスのホストとなります。

ランタイムMBeanサーバー

特定のWebLogic Serverインスタンスのモニター、実行時制御、およびアクティブな構成を公開するMBean。このMBeanサーバーに独自の(カスタム)MBeanを登録することもできます(Oracle WebLogic Server JMXによる管理可能アプリケーションの開発ドメイン・ランタイムMBeanサーバーへのカスタムMBeanの登録を参照してください。)

このリリースでは、WebLogic ServerランタイムMBeanサーバーはデフォルトでプラットフォームMBeanサーバーとして構成されています。ただし、別のMBeanサーバーを作成してプラットフォームMBeanサーバーのかわりに使用するようWebLogic Serverを構成できます。「プラットフォームMBeanサーバーの使用」を参照してください

ドメイン内の各サーバーが、このMBeanサーバーのインスタンスのホストとなります。

編集MBeanサーバー

保留中の構成MBeanと、WebLogic Serverドメインの構成を制御する操作。変更のロック、保存、およびアクティブ化用のConfigurationManagerMBeanを公開します。

管理サーバーのみが、このMBeanサーバーのインスタンスのホストとなります。

JVMのプラットフォームMBeanサーバー

JVM自体のモニター情報を保持する、JDKから提供されるMBean。このMBeanサーバーでカスタムMBeanを登録できます。

このリリースでは、WebLogic Serverはデフォルトで、JVMのプラットフォームMBeanサーバーを使用してWebLogicランタイムMBeanを格納します。したがって、プラットフォームMBeanサーバーは1つのサーバー・インスタンス上にあるプラットフォームMXBean、WebLogicランタイムMBean、およびWebLogic構成MBeanへのアクセスを提供します。「プラットフォームMBeanサーバーの使用」、および『Oracle WebLogic Server JMXによる管理可能アプリケーションの開発』JVMプラットフォームMBeanサーバーへのMBeanの登録に関する項を参照してください。

MBeanサーバーへの接続

JMXではローカルおよびリモートの両方からMBeanサーバーにアクセスできますが、JMXクライアントは2種類のアクセスに対して別々のAPIを使用し、WebLogic Server MBeanサーバーはローカル・クライアントとリモート・クライアントに対して別々の機能を公開しています。

MBeanサーバーへのローカル接続

WebLogic Server JVM内で実行されているJMXクライアントは、JNDIを介してそのサーバーのランタイムMBeanサーバーまたはドメイン・ランタイムMBeanサーバーに直接アクセスできます。ロールを必要とするMBeanにアクセスするには、認証が必要です。これは、ローカル・アクセスを許可する唯一のWebLogic Server MBeanサーバーです。ローカル・クライアントからアクセスされると、ランタイムMBeanサーバーまたはドメイン・ランタイムMBeanサーバーは、そのjavax.management.MBeanServerインタフェースを返します。クライアントは、このインタフェースを使用して、WebLogic Server MBeanにアクセスしたり、カスタムMBeanを作成および登録したり、カスタムMBeanにアクセスしたりできます。「ランタイムMBeanサーバーへのローカル接続の作成」および「ドメイン・ランタイムMBeanサーバーへのローカル接続の作成」を参照してください。

JMXクライアントは、ローカルのJVMのプラットフォームMBeanサーバーにアクセスすることもできます。すべてのローカル・クライアントが、このMBeanサーバーのMBeanにアクセスできます。Oracle WebLogic Server JMXによる管理可能アプリケーションの開発JVMプラットフォームMBeanサーバーへのMBeanの登録を参照してください。

MBeanサーバーへのリモート接続

リモートJMXクライアント(MBeanサーバーとは異なるJVM実行されているクライアント)は、javax.management.remote APIを使用して、WebLogic MBeanサーバーにアクセスできます。そのためには、WebLogic Serverのセキュリティ・フレームワークを使用したクライアントの認証が必要です(「WebLogic Server MBeanのセキュリティ」を参照)。リモート・クライアントからアクセスされると、WebLogic Server MBeanサーバーは、そのjavax.management.MBeanServerConnectionインタフェースを返します。「MBeanサーバーへのリモート接続の作成」を参照してください

プラットフォームMBeanサーバーへのリモート・アクセスを有効にできます。Oracle WebLogic Server JMXによる管理可能アプリケーションの開発JVMプラットフォームMBeanサーバーへのMBeanの登録を参照してください。

プラットフォームMBeanサーバーの使用

このリリースのWebLogic Serverでは、WebLogic ServerランタイムMBeanサーバーは、対応するサーバー用のプラットフォームMXBeanを格納するようにデフォルトで構成されています。ドメイン・ランタイムMBeanサーバーには、ドメイン内のすべてのサーバー用のプラットフォームMXBeanが格納されます。プラットフォームMXBeanのMBeanオブジェクト名は、JVMによって提供されるMBeanの名前と同じですが、プラットフォームMXBeanにはLocation=servernameキー・プロパティが追加で指定されます。

例2-3のWLSTスクリプトは、プラットフォームMXBeanを使用して稼働中ドメインのリソースをモニターする方法を示しています。

プラットフォームMBeanサーバーをランタイムMBeanサーバーとして使用するかどうかは、JMX MBeanのPlatformMBeanServerUsed属性によって制御されます。これまでのリリースでは、PlatformMBeanServerUsed属性のデフォルト値はfalseだったため、プラットフォームMBeanサーバーは明示的に有効化しないかぎり使用されませんでした。このリリースのWebLogic Serverでは、バージョン10.3.3.0以降のドメインに対するPlatformMBeanServerUsed属性のデフォルト値はtrueです。Oracle WebLogic Server MBeanリファレンスPlatformMBeanServerEnabledに関する項を参照してください。

必要に応じて、Oracle WebLogic Serverの理解システム管理ツールおよびAPIの概要に記載されているいずれかの管理ツールを使用してPlatformMBeanServerEnabled属性値をfalseに設定し、WebLogic Serverを構成して個別のMBeanサーバーを作成したり、プラットフォームMBeanサーバーのかわりに作成したサーバーを使用できます。WebLogic Server管理コンソールを使用し、「ドメイン」「構成」「全般」ページ→「詳細」オプションに移動して、「プラットフォームMBeanサーバーの使用」チェック・ボックスの選択を解除します。WLSTでは、編集セッションを起動してドメインのJMXディレクトリに移動し、cmo.setPlatformMBeanServerUsed(false)を使用して値を変更して変更内容をアクティブ化します。

プラットフォームMBeanサーバーとプラットフォームMXBeanの詳細は、次のJAVA SDKドキュメントを参照してください。

例2-3 プラットフォームMXBeanの使用

"""
 This WLST script demonstrates how to use the Platform MXBeans to monitor
 the resources of a running WLS domain. It uses the domainCustom command
 to retrieve the memory usage for 2 servers in the domain. For information
 about the available platform MXBeans, refer to the following link:
 http://docs.oracle.com/javase/7/docs/api/java/lang/management/package-summary.html
"""

connect()
domainCustom()
cd ("java.lang")
# monitor heap and thread usage once a minute for 5 minutes 
x = 0
while x < 5:
    # Admin Server
    cd ("java.lang:Location=AdminServer,type=Memory")
    huAdmin = get("HeapMemoryUsage")
    cd ("..")
    cd ("java.lang:Location=AdminServer,type=Threading")
    numThreadsAdmin = get("ThreadCount")
    print "Admin server memory usage = ", huAdmin.get("max"), " number threads: ", numThreadsAdmin
    cd ("..")
    # m1 server
    cd ("java.lang:Location=m1,type=Memory")
    huM1 = get("HeapMemoryUsage")
    cd ("..")
    cd ("java.lang:Location=m1,type=Threading")
    numThreadM1 = get("ThreadCount")
    cd ("..")
    print "M1 server memory usage = ", huM1.get("max"), " number threads: ", numThreadM1
    Thread.sleep(60000)
    x = x + 1

サービスMBean

WebLogic Serverでは、各MBeanサーバーにサービスMBeanが単純なオブジェクト名で登録されます。このMBeanの属性と操作は、WebLogic Server MBean階層へのエントリ・ポイントとして機能します。JMXクライアントは、これらを使用して1つのオブジェクト名を入力するだけでMBeanサーバーのすべてのWebLogic Server MBeanに移動できます。表2-3を参照してください。

エントリ・ポイント(サービス)MBeanを使用しないJMXクライアントは、MBeanの属性を取得および設定したり、その操作を呼び出したりするために、MBeanのオブジェクト名を正確に構築する必要があります。オブジェクト名は一意でなければならないため、それらは通常長く、クライアントから構築するのは困難です。

表2-3 サービスMBean

MBeanサーバー サービスMBean JMXオブジェクト名

ドメイン・ランタイムMBeanサーバー

DomainRuntimeServiceMBean

アプリケーション・デプロイメント、JMSサーバー、JDBCデータ・ソースなど、ドメイン全体のサービス用のMBeanへのアクセスを提供します。ドメインにある全サーバーのすべてのランタイムMBeanとアクティブな構成MBeanの階層に対する単一のアクセス・ポイントにもなります。

Oracle WebLogic Server MBeanリファレンスDomainRuntimeServiceMBeanを参照してください。

com.bea:Name=DomainRuntimeService,Type=weblogic. management.mbeanservers. domainruntime.DomainRuntimeServiceMBean

ランタイムMBeanサーバー

RuntimeServiceMBean

現在のサーバーのランタイムMBeanとアクティブな構成MBeanへのアクセスを提供します。

Oracle WebLogic Server MBeanリファレンスRuntimeServiceMBeanを参照してください。

com.bea:Name=RuntimeService, Type=weblogic.management. mbeanservers.runtime. RuntimeServiceMBean

編集MBeanサーバー

EditServiceMBean

現在のWebLogic Serverドメインの構成を管理するためのエントリ・ポイントを提供します。

Oracle WebLogic Server MBeanリファレンスEditServiceMBeanを参照してください。

com.bea:Name=EditService, Type=weblogic.management. mbeanservers.edit. EditServiceMBean

WebLogic Server MBeanのセキュリティ

WebLogic Server MBeanサーバーに接続するには、JMXクライアントで、WebLogic Serverドメインのセキュリティ・レルムに定義されているユーザーに資格証明を提供する必要があります。

MBeanサーバーに登録されているMBeanの保護を強化するために、WebLogic Serverではセキュリティ・ロールとセキュリティ・ポリシーが使用されます。セキュリティ・グループなどのセキュリティ・ロールによって、ユーザーにIDが付与されます。ただしグループとは違い、ロールのメンバーシップは実行時に評価される条件を基準とすることができます。セキュリティ・ポリシーは、リソースにアクセス可能なユーザー、グループ、またはロールを指定する、別の実行時条件です。WebLogic Server MBean用に、ロールおよびポリシーのデフォルト・セットが用意されています。(Oracle WebLogic Server MBeanリファレンスMBeanのデフォルト・セキュリティ・ポリシーを参照してください。)

WebLogic Serverインスタンスの起動サイクルの間、サーバーでは、MBeanセキュリティ・ポリシーをメモリー内で表現したものであるweblogic.security.service.JMXResourceオブジェクトの集合が作成されます。JMXクライアントがMBean属性の取得や設定、または操作の呼出しを試行すると、MBeanサーバーはそのユーザーに十分な許可が与えられているかどうかセキュリティ・レルムに問い合せます。セキュリティ・レルムでは、ユーザーが属しているロールが最初に判別されます。(ロールの割当ては実行時に判別されます。)次に、デフォルトのポリシーおよび作成済のその他のポリシーが使用され、そのロールがアクセスを許可されているかどうかが判別されます。

デフォルトのアクセス許可は、WebLogic Server管理コンソールを使用して変更できます。たとえば、特定のアプリケーション用のロールを作成して、そのアプリケーションに関連付けられているMBeanインスタンスに特定のロールのみがアクセスできるようにすることが可能です。Oracle WebLogic Server管理コンソール・オンライン・ヘルプJMXポリシーの構成を参照してください。

一部の属性および操作用のその他のセキュリティ・リソース

特に重要なデータやアクションを表すMBeanの属性と操作の場合、WebLogic Serverでは、そうしたデータまたはアクションにアクセスできるユーザーを制限するための追加のセキュリティ・リソース・オブジェクトが用意されています。たとえば、ServerLifeCycleRuntimeMBeanshutdown()操作はJMXResourceオブジェクトとweblogic.security.service.ServerResourceオブジェクトによって保護されます。複数のリソースによって保護される属性および操作の完全なリストについては、Oracle WebLogic Serverロールおよびポリシーによるリソースの保護管理リソースおよびサーバー・リソースを参照してください。

これらの属性および操作に対するセキュリティ・ポリシーおよびロールのデフォルト構成が連携することによって、一貫性のあるセキュリティ方式が作成されます。しかし、変更を行った結果、意図しないアクセス制限が発生する場合があります。Oracle WebLogic Serverロールおよびポリシーによるリソースの保護一貫性のあるセキュリティ方式の維持を参照してください。