プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Server診断フレームワークの構成と使用
12c (12.2.1.2.0)
E82864-01
目次へ移動
目次

前
次

5 WLDF構成の理解

この章では、WebLogic Server インスタンスおよびサーバー・インスタンスにデプロイされたアプリケーションから診断データを生成、収集、解析および永続化する場合にWebLogic診断フレームワーク(WLDF)で提供される機能について説明します。サーバー・スコープの診断では、一部のWLDF機能は、ドメイン内のサーバーの構成の一部として構成されます。その他の機能は、サーバー(またはクラスタ)をターゲットとするシステム・リソース記述子として構成されます。アプリケーション・スコープの診断では、診断機能は、アプリケーションのリソース記述子として構成されます。

この章には次の項が含まれます:

WebLogic Serverドメイン構成の一般情報は、『Oracle WebLogic Serverドメイン構成の理解』の「Oracle WebLogic Serverドメインについて」を参照してください。

構成MBeanとXML

他のWebLogic Serverサブシステムと同様に、WLDFは構成MBean(マネージドBean)を使用して構成され、構成はXML構成ファイルに永続化されます。構成MBeanは、config.xml内の構成設定に基づいて、起動時にインスタンス化されます。MBean属性の値を変更して構成を変更すると、それらの変更内容はXMLファイルに保存(永続化)されます。

構成MBeanの属性は構成XML要素に直接マップされます。たとえば、WLDFInstrumentationBeanのEnable属性は診断モジュールのための資源記述子ファイル(構成ファイル)で直接<instrumentation>要素の<enabled>下位要素にマップします。MBean属性の値を変更した場合、構成を保存するときにXML要素の内容も変更されます。反対に、構成ファイルのXML要素を直接編集した場合(推奨されません)、MBean値の変更は次のセッションが開始するときに有効になります。

WLDF構成MBeansの詳細は、「WLDF構成MBeanとXML要素へのマッピング」を参照してください。WebLogic ServerでどのようにMBeanが実装され、使用されるかの一般情報は、『Oracle WebLogic Server JMXによるカスタム管理ユーティリティの開発』の「WebLogic Server MBeanについて」を参照してください。

WLDFの構成用ツール

他のWebLogic Serverサブシステムと同様に、WLDFの構成には、以下のような複数の方法があります。

  • 組込みの診断システム・モジュールを使用します。このモジュールは、WebLogic Serverインスタンスの基本的なヘルス状態およびパフォーマンスの監視を実行するためのシンプルで使用しやすいメカニズムを提供しています。詳細は、「組込み診断システム・モジュールの使用」を参照してください。

  • WebLogic Server管理コンソールを使用して、サーバー・インスタンスおよびクラスタ用にWLDFを構成します。Oracle WebLogic Server管理コンソール・オンライン・ヘルプWebLogic診断フレームワークの構成に関する項を参照してください。

  • WebLogic Scripting Tool (WLST)で実行するスクリプトを書き込みます。WLDFでのWLSTの使用方法の詳細は、「WebLogic Scripting Toolのサンプル」を参照してください。WLSTの使用の一般情報は、『WebLogic Scripting Toolの理解』の「はじめに」も参照してください。

  • JMXおよびWLDF構成MBeanを使用してWLDFのプログラムを構成します。WLDFのプログラミングの詳細は、「WLDFのプログラムの構成と使用」を参照してください。プログラミング時のリファレンスとして、Oracle WebLogic Server MBeanリファレンスを参照し、特定のMBeanを参照または検索してください。

  • XML構成ファイルを直接編集します。このドキュメントでは、構成ファイルのXML要素を例示および説明することで、さまざまな構成タスクについて説明します。XMLはわかりやすく、構成ファイルを直接編集できますが、そうすることはお薦めしません。(ファイルを直接編集する適切な理由がある場合は、まず、WebLogic Server管理コンソールでWLDFを構成してXMLファイルを生成する必要があります。そうすることで、有効なXMLの青写真が得られます。)

    注意:

    構成ファイルを編集して構成を変更した場合、その変更を有効にするにはサーバーを再起動する必要があります。

WLDF構成の区分

WLDFを使用すると、サーバー・インスタンス(とクラスタ)およびアプリケーションに対して診断タスクを実行できます。

サーバー・レベルの構成

以下のコンポーネントは、ドメインのサーバー・インスタンスの一部として構成します。構成設定はMBeanを使用して制御され、ドメインのconfig.xmlファイルに保存されます。

  • 診断イメージ・キャプチャ

  • 診断アーカイブ

「診断イメージ・キャプチャと診断アーカイブの構成」を参照してください。

以下のWLDFコンポーネントは、1つまたは複数のサーバー・インスタンス(またはクラスタ)にデプロイできる、1つまたは複数の診断システム・モジュールの一部として構成します。これらの構成設定はBeanを使用して構成され、1つまたは複数のサーバー・インスタンス(またはクラスタ)に対してターゲット指定できる、1つまたは複数の診断リソース記述子ファイル(構成ファイル)に永続化されます。

  • ハーベスタ(メトリック収集用)

  • ポリシーとアクション

  • インストゥルメンテーション

「診断システム・モジュールの構成」を参照してください。

アプリケーション・レベルの構成

WLDFインストゥルメンテーション・コンポーネントは、サーバー・レベルだけでなくアプリケーション・レベルでも使用できます。インストゥルメンテーション・コンポーネントは、アプリケーション・アーカイブ・ファイルのアプリケーションでデプロイされたリソース記述子ファイルで構成されます。「アプリケーション用の診断モジュールの構成」を参照してください。

診断イメージ・キャプチャと診断アーカイブの構成

例5-1に示されているように、ドメインのconfig.xmlファイル内の<server-diagnostic-config>要素で、診断イメージ・キャプチャ・コンポーネントと診断アーカイブ・コンポーネントを構成します。この要素はドメインの<server>要素の子です。

例5-1 ドメインのconfig.xmlファイルにあるWLDF構成情報のサンプル

<domain>
  <server>
    <name>myserver</name>
    <server-diagnostic-config>
      <image-dir>logs/diagnostic_images</image-dir>
      <image-timeout>3</image-timeout>
      <diagnostic-store-dir>data/store/diagnostics</diagnostic-store-dir>
      <diagnostic-data-archive-type>FileStoreArchive
      </diagnostic-data-archive-type>
    </server-diagnostic-config>
  </server>
  <!-- Other server elements to configure other servers in this domain -->
  <!-- Other domain-based configuration elements, including references to 
       WLDF system resources, or diagnostic system modules.  -->
</domain>

注意:

WebLogic ServerにOracle HotSpotが構成されており、Javaフライト・レコーダが有効化されている場合、診断イメージ・キャプチャには、オプションで、WebLogic Serverイベントを含むJavaフライト・レコーダ(JFR)ファイルを含めることができます。JFRファイルは、Java Mission Controlで表示できます。詳細は、「Javaフライト・レコーダと連携したWLDFの使用」を参照してください。

詳細については、次を参照してください。

Javaフライト・レコーダの診断イメージ・キャプチャの構成

WebLogic ServerにOracle HotSpotのサポートされているバージョンが構成されており、Javaフライト・レコーダが有効化されている場合、診断イメージ・キャプチャにJFRファイルが自動的に組み込まれます。JFRファイルは、有効な状態にあるすべてのイベント・プロデューサからのデータを含みます。ただし、JFRに含まれるWebLogic Serverイベント・データ量はWLDF診断ボリュームの構成により決定されます。

注意:

次に注意してください:

WebLogic Serverのイベント・データをJFRファイルに含めるには:

  1. WebLogic ServerにOracle HotSpotが構成されていることを確認します。これは、WebLogic Serverとは別にインストールされます。

    詳細は、『Oracle WebLogic ServerおよびCoherenceのインストールと構成』の「Oracle WebLogic Serverインストールの計画」を参照してください。

  2. Javaフライト・レコーダが有効化されていることを確認します。

    WebLogic ServerでのOracle HotSpotのデフォルト・インストールでは、Javaフライト・レコーダは無効化されています。HotSpotおよびWebLogic ServerでのJavaフライト・レコーダの有効化の詳細は、「Oracle HotSpotでのJavaフライト・レコーダの使用方法」を参照してください

  3. WLDF診断ボリュームを適切に設定します。一般的な使用には、低いのデフォルト設定をお薦めします。ただし、ボリュームをまたは高いに設定することにより、生成されるWebLogic Serverイベント・データのボリュームを適切に増加できます。

    WLDF診断ボリュームの設定は、JVMなどの他のイベント・プロデューサに記録したデータには影響しません。

    詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプWLDF診断ボリュームの構成に関する項を参照してください。

注意:

WLDF診断ボリュームがOffに設定され、Javaフライト・レコーダが明示的に無効化されていない場合、JFRファイルには引き続きJVMイベント・データが含まれ、診断イメージ・キャプチャにJFRファイルが常に含まれます。

診断システム・モジュールの構成

インストゥルメンテーション、ハーベスタ、ポリシーとアクションの各コンポーネントをサーバー・レベルで構成して使用するには、「診断システム・モジュール」というシステム・リソースをあらかじめ作成する必要があります。診断システム・モジュールには、これらのすべてのコンポーネントの構成が含まれます。診断システム・モジュールの構成は、リソース記述子で定義します。

診断システム・モジュールを作成する場合、次の点に注意してください。

  • 診断システム・モジュールは、ドメインで構成されているサーバーおよびクラスタにグローバルにターゲット指定できます。

  • 特定のドメインでは、個別の構成を持つ複数の診断システム・モジュールを作成できます。

  • 複数の診断システム・モジュールで、特定のサーバーまたはクラスタをターゲットにできます。

  • WLDFランタイム・コントロールにより、ドメインの構成を変更せずに、診断システム・モジュールを動的に有効化または無効化できます。

  • ランタイム・コントロールにより、ドメイン構成で定義されていない診断システム・モジュールを、オンザフライでデプロイ、アクティブ化、非アクティブ化およびアンデプロイできます。

次の項で、診断システム・モジュールの構成について説明します。

リソース記述子について

診断システム・モジュールには、診断モジュールの構成を定義する、対応するリソース記述子があります。リソース記述子として構成済または外部を使用できます。

  • 構成済リソース記述子は、ドメイン構成の一部として定義されているリソース記述子で、DOMAIN_HOME/config/diagnosticsディレクトリ内にファイルとして存在します。構成済リソース記述子は、ドメインのconfig.xmlファイルにより参照されます。対応する診断システム・モジュールについて次の点に注意してください。

    • ドメイン構成に保存されます。

    • ドメイン内のすべてのサーバーおよびクラスタで使用できます。

    • ドメイン構成を通じてサーバーまたはクラスタをターゲットにできます。

    • サーバーまたはクラスタを明示的にターゲットにしているかどうかに関係なく、ランタイム・コントロールを使用して動的にアクティブ化または非アクティブ化できます。

    診断システム・モジュールのアクティブ化状態に対して行われる動的変更は、サーバーの再起動後は保持されません。

  • 外部リソース記述子は、ドメインのconfig.xmlファイルにより参照されないリソース記述子です。つまり、ドメイン構成の外部で定義されます。外部リソース記述子により構成される診断システム・モジュールは、ランタイム・コントロールを使用してサーバーにデプロイし、アクティブ化できます。ただし、この診断システム・モジュールについて次の点に注意してください。

    • ドメイン構成に保存されません(つまり、ドメインのconfig.xmlファイルで参照されません)。

    • 動的にのみデプロイ、アクティブ化および非アクティブ化できます。

    • ドメイン構成に保存されるデプロイメントおよびアクティブ化状態はありません。

    • この診断システム・モジュールがアクティブ化されているサーバーまたはクラスが停止するまでの期間のみ、この診断システム・モジュールはメモリーに常駐します。

    • サーバーの再起動後、自動的に使用可能になりません。

    外部リソース記述子は、DOMAIN_HOME/config/diagnosticsディレクトリの外部にあるファイルに保存すること、またはWLDFランタイム・コントロールAPIを使用してStringオブジェクトとして渡すことができます(「外部リソース記述子に基づいた診断システム・モジュールの作成」を参照)。

注意:

診断モジュールの構成は、http://xmlns.oracle.com/weblogic/weblogic-diagnostics/1.0/weblogic-diagnostics.xsdで入手できるdiagnostics.xsdスキーマに準拠させます。

診断システム・モジュールの名前とターゲットのリストを除く診断システム・モジュールのすべての構成情報は、リソース記述子ファイル内に保存されます。例5-2に、myDiagnosticModuleという診断システム・モジュールの記述子ファイルの一部を示します。

例5-2 診断システム・モジュール記述子ファイルMyDiagnosticModule.xmlのサンプル構造

<wldf-resource xmlns="http://xmlns.oracle.com/weblogic/weblogic-diagnostics" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

   xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-diagnostics/1.0/weblogic-diagnostics.xsd">
  <name>MyDiagnosticModule</name>
  <instrumentation>
    <!-- Configuration elements for zero or more diagnostic monitors -->
  </instrumentation>
  <harvester>
    <!-- Configuration elements for harvesting metrics from zero or more 
         MBean types, instances, and attributes -->
  </harvester>
  <watch-notification>
    <!-- Configuration elements for one or more policies and one or more 
         actions-->
  </watch-notification>
</wldf-resource>

WLDFランタイム・コントロール

WLDFランタイム・コントロールを使用すると、ドメイン構成を変更せずに、診断システム・モジュールのアクティブ化または非アクティブ化を実行時に動的に制御できます。これにより、サーバー・インスタンス自体の操作を妨げずに、ターゲットとして指定した特定診断分析タスクを実行できます(制限期間のオプションがあります)。

ランタイム・コントロールを使用して次を実行できます。

  • ターゲットとなっているサーバーまたはクラスタを再起動せずに、ドメイン構成に保存されている診断システム・モジュールを動的にアクティブ化および非アクティブ化する。

  • 外部リソース記述子により構成されている診断システム・モジュールを動的にデプロイ、アクティブ化、非アクティブ化およびアンデプロイする。

注意:

次に注意してください:

  • 診断システム・モジュールが構成済リソース記述子と外部リソース記述子のどちらで定義されている場合も、ランタイム・コントロールを使用して診断システム・モジュールに適用される変更は保存されません。サーバー・インスタンスは、再起動すると、その構成済状態に戻り、ランタイム・コントロールを使用して実行された再起動前の変更は失われます。

  • ランタイム・コントロールを使用して、外部リソース記述子に基づく診断システム・モジュールをアーカイブする場合(「外部リソース記述子に基づいた診断システム・モジュールの作成」を参照)、その診断システム・モジュールを作成するためにcreateSystemResourceControl()コマンドで指定した診断リソース名が、アーカイブ内のハーベスタ・レコードでWLDFモジュール名として使用されます。

構成済リソース記述子に基づいた診断システム・モジュールの作成

WebLogic Server管理コンソールまたはWebLogic Scripting Tool (WLST)を使用して、構成済リソース記述子に基づき診断システム・モジュールを作成します。診断システム・モジュールはWLDFResourceBeanとして作成され、構成はDIAG_MODULE.xmlというリソース記述子ファイルに保存されます。DIAG_MODULEは診断システム・モジュールの名前です。記述子ファイル名は指定できますが、必須ではありません。ファイル名を指定しない場合、記述子ファイルの<name>要素の値に基づきファイル名が生成されます。このファイルは、デフォルトでは、DOMAIN_HOME\config\diagnosticsディレクトリ内に作成され、モジュールへの参照がドメインのconfig.xmlファイルに追加されます。

注意:

XML構成ファイルを直接記述しないことをお薦めします。直接記述する必要がある場合は、まず、コンソールから診断モジュールを作成してください。それにより、コンソールが作成する有効なXMLを利用できます。詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプ診断システム・モジュールの作成に関する項を参照してください。

config.xmlファイルでは、1つ以上の<wldf-system-resource>要素を使用して、複数の診断システム・モジュールへの参照を指定できます。<wldf-system-resource>要素には、診断システム・モジュール・ファイルの名前と、そのモジュールがターゲットとするサーバーとクラスタのリストが含まれます。

たとえば、例5-3に示されているconfig.xmlファイルには、サーバーmyserverをターゲットとするmyDiagnosticModuleというモジュール、およびサーバーmyserverManagedServer2をターゲットとするnewDiagnosticModという別のモジュールが含まれています。myDiagnosticModulenewDiagnosticModはどちらもmyserverをターゲットとしていますので注意してください。

例5-3 ドメインのconfig.xmlファイルにあるWLDF構成情報のサンプル

<domain>
  <!-- Other domain-level configuration elements --> 
  <wldf-system-resource 
         xmlns="http://xmlns.oracle.com/weblogic/weblogic-diagnostics">
    <name>myDiagnosticModule</name>
    <target>myserver</target>
    <descriptor-file-name>diagnostics/MyDiagnosticModule.xml
    </descriptor-file-name>
    <description>My diagnostic module</description>
  </wldf-system-resource>
  <wldf-system-resource>
    <name>newDiagnosticMod</name>
    <target>myserver,ManagedServer2</target>
    <descriptor-file-name>diagnostics/newDiagnosticMod.xml
    </descriptor-file-name>
    <description>A diagnostic module for my managed servers</description>
  </wldf-system-resource>
<!-- Other WLDF system resource configurations -->
</domain>

config.xmlファイルとMyDiagnosticModule.xmlファイルの関係を図5-1に示します。

図5-1 config.xmlとシステム記述子ファイルとの関係

図5-1の説明が続きます
「図5-1 config.xmlとシステム記述子ファイルとの関係」の説明

ドメインに保存される診断システム・モジュールの作成手順は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプ診断システム・モジュールの作成に関する項を参照してください。

外部リソース記述子に基づいた診断システム・モジュールの作成

WLDFは、外部リソース記述子を渡すため、および診断システム・モジュールをオンザフライで作成するために使用できる次のAPIを提供しています。このAPIを使用すると、サーバー用の診断システム・モジュールを動的に作成およびアクティブ化できますが、そのモジュールがアクティブ化されたサーバーまたはクラスタを再起動すると、そのモジュールのデプロイメント状態およびアクティブ化状態は保持されません。このAPIは、次のMBeanが提供しています。

  • weblogic.management.runtime.WLDFControlRuntimeMBean

  • weblogic.management.runtime.WLDFSystemResourceControlRuntimeMBean

このAPIを使用すると、リソース記述子をStringオブジェクトとしてオンザフライで渡すことができます。使用しやすさのために、WLDFは次のWLSTコマンドも提供しています。これらのコマンドは、ドメイン構成の外部に存在するリソース記述子ファイルに対し使用できます。

  • createSystemResourceControl(): 指定した記述子ファイルを使用してオンザフライで診断システム・モジュールを作成(デプロイ)します。

  • destroySystemResourceControl(): オンザフライで以前に作成された診断システム・モジュールを破棄(アンデプロイ)します。

サーバーまたはクラスタにデプロイされアクティブ化されている、外部で構成された診断システム・モジュールは、そのサーバーまたはクラスタが停止すると、自動的に破棄されます。

外部リソース記述子に基づく診断システム・モジュールをアクティブ化した場合、createSystemResourceControlコマンドで指定した診断リソース名がモジュール名として使用されます。たとえば、この名前は、WebLogic Server管理コンソールにハーベスタ・アーカイブの内容が表示されるときに「WLDFモジュール」列に表示されます。createSystemResourceControlコマンドの詳細は、『WebLogic Server WLSTコマンド・リファレンス』の診断コマンドに関する項を参照してください。

WLSTを使用して、外部リソース記述子に基づく診断システム・モジュールを作成、アクティブ化および破棄する例は、「WLSTを使用した診断システム・モジュールのアクティブ化および非アクティブ化」を参照してください。

サーバーまたはクラスタを診断システム・モジュールのターゲットとして指定

ドメインのconfig.xmlファイルで、診断システム・モジュールのターゲットとしてゼロ個以上のサーバーまたはクラスタを指定できます。さらに、特定のサーバーを複数のモジュールのターゲットとして指定することもできます。通常、システムの異なる側面をモニターする複数のモジュールを作成します。その後、その時点でモニターする内容に基づき、サーバーまたはクラスタをターゲットにするモジュールを選択できます。

同じモジュールで複数のサーバーまたはクラスタをターゲットにできるので、ドメイン内全体で使用する汎用モジュールを作成できます。

診断モジュールのターゲットを変更した場合でも、ターゲット指定したサーバー・インスタンスまたはターゲット指定を解除したサーバー・インスタンスを再起動する必要はありません。これにより、特定の診断目的に対応する診断モニターを柔軟に作成および使用できます。また、その際、サーバー・インスタンス自体の操作が妨げられることはありません。

WebLogic Server管理コンソールを使用して、ドメイン構成に保存されている診断システム・モジュールのターゲットを指定する方法の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプ診断システム・モジュールのターゲット指定およびターゲット指定解除に関する項を参照してください。

注意:

外部記述子により構成されている診断システム・モジュールのターゲットを指定する場合、WebLogic Server管理コンソールは使用できません。ただし、「WLSTを使用した診断システム・モジュールのアクティブ化および非アクティブ化」で説明されているようにWLSTを使用できます。

診断システム・モジュールの動的アクティブ化または非アクティブ化

診断システム・モジュールを構成した後、構成を変更せずに、またはターゲットのサーバー・インスタンスを再起動せずに、そのモジュールをアクティブ化または非アクティブ化できます。この機能により、ターゲットのサーバーまたはクラスタ・インスタンスを再起動せずに、またはドメイン構成を変更せずに、診断システム・モジュールの動作状態を制御できます。

ドメイン構成およびすべてのリソース・ファイルがドメイン内のすべてのサーバーに複製されるため、ドメイン内のすべてのサーバーで、動的アクティブ化および非アクティブ化のためにすべての構成済WLDFリソースを使用できます。診断システム・モジュールを動的にアクティブ化または非アクティブ化し、ターゲットのサーバーを再起動すると、モジュールのアクティブ化状態は、ドメインで構成されている状態に戻るので注意してください。

ドメイン構成に保存されている診断システム・モジュールに対し、WebLogic Server管理コンソールでこの機能を使用する方法の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプ診断システム・モジュールの動的アクティブ化または非アクティブ化に関する項を参照してください。(外部記述子で構成されている診断システム・モジュールを動的にアクティブ化または非アクティブ化する場合、WebLogic Server管理コンソールは使用できないので注意してください。)

「WLSTを使用した診断システム・モジュールのアクティブ化および非アクティブ化」で説明されているように、WLSTを使用して、診断システム・モジュール(外部記述子で構成されている診断システム・モジュールを含む)を動的にアクティブ化または非アクティブ化することもできます。

WLSTを使用した診断システム・モジュールのアクティブ化および非アクティブ化

WLSTを使用して、診断システム・モジュールを動的にアクティブ化または非アクティブ化することもできます。この機能は、WLSTコマンドにより提供されます。表5-1で、これらのコマンドをリストし、説明します。

表5-1 診断モジュールを動的にアクティブ化および非アクティブ化するためのWLSTコマンド

コマンド サマリー
enableSystemResource

WebLogic Serverインスタンスで診断システム・モジュールを有効化します。

disableSystemResource

WebLogic Serverインスタンスで診断システム・モジュールを無効化します。

createSystemResourceControl

外部診断記述子ファイルから診断システム・モジュールを作成します。診断システム・モジュールは、サーバーが停止するまでメモリーに常駐し、サーバーが次回再起動するときにはデプロイされないので注意してください。

destroySystemResourceControl

ドメイン構成を変更せずに、外部診断記述子で構成されている診断システム・モジュールを破棄またはアンデプロイします。

listSystemResourceControls

WebLogic Serverインスタンスで現在構成されている診断システム・モジュールをリストします。

これらのWLSTコマンドの詳細は、『WebLogic Server WLSTコマンド・リファレンス』の診断コマンドに関する項を参照してください。

この項では、WLSTを使用して次の診断システム・モジュールを動的にアクティブ化および非アクティブ化する手順を例示します。

  • Module-0: ドメインで構成され、DOMAIN_HOME/config/diagnosticsディレクトリにあるリソース記述子ファイルModule-0-3905.xmlで定義されています。

  • Module-1: ドメインで構成され、DOMAIN_HOME/config/diagnosticsディレクトリにあるリソース記述子ファイルModule-0-3905.xmlで定義されています。

  • External-1: ドメイン構成の一部ではありませんが、外部リソース記述子external-wldfで定義されています。この外部リソース記述子は、ドメイン構成に対して外部のexternal-wldf.xmlファイルで構成されています。

これらの例は、次が設定されていることを前提とします。

  • 次に示すように、ドメインのconfig.xmlファイルで、ドメイン構成の一部である2つの診断システム・モジュールを参照します。

    <wldf-system-resource>
      <name>Module-0</name>
      <descriptor-file-name>diagnostics/Module-0-3905.xml</descriptor-file-name>
      <description></description>
    </wldf-system-resource>
    <wldf-system-resource>
      <name>Module-1</name>
      <descriptor-file-name>diagnostics/Module-1-3904.xml</descriptor-file-name>
      <description></description>
    </wldf-system-resource>
    
  • これらの例で示されるサーバー名はmyserverです。

  • 外部記述子ファイルexternal-wldf.xmlを、ドメインのルート・ディレクトリwl_domainに配置します。このファイルには、External-1という診断システム・モジュールを構成するための次の行を含めます。

<?xml version='1.0' encoding='UTF-8'?>
<wldf-resource xmlns="http://xmlns.oracle.com/weblogic/weblogic-diagnostics"
xmlns:sec="http://xmlns.oracle.com/weblogic/security"
xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-diagnostics
http://xmlns.oracle.com/weblogic/weblogic-diagnostics/1.0/weblogic-diagnostics.xsd">
  <name>External-1</name>
  <harvester>
    <enabled>true</enabled>
    <sample-period>10000</sample-period>
    <harvested-type>
      <name>weblogic.management.runtime.ServerRuntimeMBean</name>
      <harvested-attribute>OverallHealthState.ReasonCodeSummary</harvested-attribute>
      <harvested-attribute>OverallHealthState.State</harvested-attribute>
      <namespace>ServerRuntime</namespace>
    </harvested-type>
  </harvester>
</wldf-resource>

手順1: 診断システム・モジュールのリスト

太字で示されている次のWLSTコマンドで、現在構成されている診断システム・モジュールをリストします。

wls:/wl_domain/Server1> listSystemResourceControls()
External        Enabled              Name 
--------        -------              ------------------------------
false           false                Module-0
false           false                Module-1

前述のコマンドにより、ドメインで構成されている(つまり、config.xmlで参照され、外部リソース記述子で構成されていない)Module-0およびModule-1が表示されますが、これらはアクティブ化されていません。

手順2: Module-0のアクティブ化

次のWLSTコマンドで、Module-0をアクティブ化します。

wls:/mydomain/serverConfig> enableSystemResource('Module-0')

どのWLDFシステム・リソース・ランタイム・コントロール関数にもサーバー名を渡すことができます。サーバー名を指定しない場合、デフォルトでは、enableSystemResource()コマンドに、WLSTが現在接続しているサーバー・インスタンスが渡されます。(ただし、デフォルトでは、すべての構成済WLDFシステム・リソースを、ドメイン内のすべてのサーバーでのランタイム・コントロール操作のために使用できます。)

wls:/mydomain/serverConfig> enableSystemResource('Module-0', Server='myserver')

手順3: Module-0がアクティブ化されているか確認

次のWLSTコマンドで、Module-0がアクティブ化されたことを確認します。

wls:/mydomain/serverConfig> listSystemResourceControls()
External        Enabled             Name 
--------        -------             ------------------------------
false           true                Module-0
false           false               Module-1

手順4: Module-1のアクティブ化

次のWLSTコマンドで、Module-1をアクティブ化し、すべての診断システム・モジュールのアクティブ化状態を確認します。

wls:/mydomain/serverConfig> enableSystemResource('Module-1', Server='myserver')
wls:/mydomain/serverConfig> listSystemResourceControls()
External        Enabled             Name 
--------        -------             ------------------------------
false           true                Module-0
false           true                Module-1

手順5: 構成済診断モジュールの非アクティブ化

次のWLSTコマンドで、ドメインで構成されているすべての診断システム・モジュールを非アクティブ化し、それらの状態を確認します。

wls:/mydomain/serverConfig> disableSystemResource('Module-0')
wls:/mydomain/serverConfig> disableSystemResource("Module-1")
wls:/mydomain/serverConfig> listSystemResourceControls()
External        Enabled              Name 
--------        -------              ------------------------------
false           false                Module-0
false           false                Module-1

手順6: 外部リソース記述子ファイルからの診断システム・モジュールの作成

外部リソース記述子に、WLSTクライアントがアクセスできる必要があります。次のWLSTコマンドで、external-wldf.xmlファイルの外部リソース記述子から診断システム・モジュールExternal-1を作成およびデプロイし、そのアクティブ化状態を確認します。

wls:/mydomain/serverConfig> createSystemResourceControl('external-wldf', 'external-wldf.xml')
wls:/mydomain/serverConfig> listSystemResourceControls()
External        Enabled              Name 
--------        -------              ------------------------------
false           false                Module-0
true            false                external-wldf
false           false                Module-1

External列により、External-1が外部リソース記述子により構成されていることが示されます。

手順7: External-1のアクティブ化

createSystemResourceControl()コマンドは診断システム・モジュールのデプロイのみ行うため、次のWLSTコマンドで、このモジュールをアクティブ化します。次のコマンドで、診断システム・モジュールのアクティブ化状態を確認します。

wls:/mydomain/serverConfig> enableSystemResource("external-wldf")
wls:/mydomain/serverConfig> listSystemResourceControls()
External        Enabled             Name 
--------        -------             ------------------------------
false           false               Module-0
true            true                external-wldf
false           false               Module-1

手順8: External-1の非アクティブ化

次のWLSTコマンドで、External-1を非アクティブ化し、その非アクティブ化状態を確認します。

wls:/mydomain/serverConfig> disableSystemResource("external-wldf")
wls:/mydomain/serverConfig> listSystemResourceControls()
External        Enabled              Name 
--------        -------              ------------------------------
false           false                Module-0
true            false                external-wldf
false           false                Module-1

手順9: External-1の破棄

次のWLSTコマンドで、外部リソース記述子で構成されている診断システム・モジュールを破棄します。

wls:/mydomain/serverConfig> destroySystemResourceControl("external-wldf")

手順10: 構成済診断モジュールの元の状態の確認

次のWLSTコマンドで、ドメインの構成が元の状態に戻っていることを確認します。構成がconfig.xmlファイルに保存されている2つの診断システム・モジュールのみ表示されます。

wls:/mydomain/serverConfig> listSystemResourceControls()
External        Enabled              Name 
--------        -------              ------------------------------
false           false                Module-0
false           false                Module-1

診断システム・モジュールの構成の詳細

WLDFシステム・モジュールの構成の詳細は、次の項を参照してください。

アプリケーション用の診断モジュールの構成

アプリケーションの診断記述子では、インストゥルメンテーション・コンポーネントのみを構成できます。

アプリケーション・スコープのインストゥルメンテーションを、診断システム・モジュールに類似した診断モジュールとして、構成およびデプロイします。ただし、アプリケーション・モジュールはweblogic-diagnostics.xmlというXML記述子(構成)ファイルで構成されます。このファイルは、デプロイされるアプリケーションのARCHIVE_PATH/META-INFディレクトリ内に、アプリケーション・アーカイブと一緒にパッケージ化されます。例: C:\Oracle\Middleware\Oracle_Home\user_projects\applications\medrec\dist\standalone\exploded\medrec\META-INF\weblogic-diagnostics.xml

注意:

(システム内を通過するリクエストを追跡する方法として)診断コンテキストを構成する際に使用されるDyeInjectionモニターは、サーバー・レベルでのみ構成できます。ただし、診断コンテキストが作成されると、受信したリクエストにアタッチされた診断コンテキストは、リクエストと一緒にアプリケーション内を通過します。診断コンテキストの情報は、「診断コンテキストを管理するためのDyeInjectionモニターの構成」を参照してください。

アプリケーションの診断モジュールの構成とデプロイの詳細については、次を参照してください。

WLDF構成MBeanとXML要素へのマッピング

図5-2はWebLogic ServerドメインのWLDFオブジェクトのためにWLDF構成MBeansと診断システム・モジュールBeanの階層構造を示します。

図5-2 WLDF構成Beanツリー

図5-2の説明が続きます
「図5-2 WLDF構成Beanツリー」の説明

以下のWLDF MBeanは、サーバー・レベルでWLDFを構成します。また、ドメインのconfig.xml構成ファイルのXML要素にマッピングされます。

  • WLDFServerDiagnosticMBeanは、サーバーのデータ・アーカイブ・コンポーネントと診断イメージ・コンポーネントの構成設定を制御します。診断モジュールの診断コンテキストをグローバルに有効化または無効化するかどうかを制御します(診断コンテキストは、リクエストを一意に識別し、システム内を通過する際にリクエストを追跡する手段です。診断コンテキストを管理するためのDyeInjection監視の構成を参照してください。

    このMBeanは、サーバーのドメインのconfig.xmlファイルで、<server>要素の<server-diagnostic-config>子要素で表されます。

  • WLDFDataRetirementByAgeMBeanは、WLDFアーカイブのデータ・リタイアをそのアーカイブ内のレコードの経過時間に基づいてどのように実行するかを指定します。

  • WLDFSystemResourceMBeanには、DOMAIN_HOME/config/diagnosticsディレクトリにある診断モジュールの記述子ファイルの名前、およびそのモジュールがデプロイされる1つ以上のターゲット・サーバーの名前が含まれます。

    このMBeanは、ドメインのconfig.xmlファイルの<wldf-system-resource>要素で表されます。

    注意:

    ドメイン内に複数の診断システム・モジュールを作成できます。モジュールの構成は、ドメインのconfig/diagnosticsディレクトリ内の複数の記述子ファイルに保存されます。したがって、ドメインのconfig.xmlファイルには、それらのモジュールを表す複数の<wldf-system-resource>要素を含めることができます。

  • WLDFResourceBeanには、診断システム・モジュールの構成設定が収められています。このBeanは、ドメインのconfig/diagnosticsディレクトリにあるDIAG_MODULE.xml診断記述子ファイルの<wldf-resource>要素で表されます。(図5-1および例5-2を参照してください。)WLDFResourceBeanには、次のコンポーネントの構成設定が収められています。

    • ハーベスタ: WLDFHarvesterBeanは、DIAG_MODULE.xmlファイルの<harvester>要素で表されます。

    • インストゥルメンテーション: WLDFInstrumentationBeanは、DIAG_MODULE.xmlファイルの<instrumentation>要素で表されます。

    • ポリシーと通知: WLDFWatchNotificationBeanは、DIAG_MODULE.xmlファイルの<watch-notification>要素で表されます。

    WLDFResourceBeanがWLDFSystemResourceMBeanからリンクされている場合、そのWLDFコンポーネントの設定はターゲット指定されたサーバーに適用されます。アプリケーション・アーカイブの一部としてデプロイされているweblogic-diagnostics.xml記述子ファイル内にWLDFResourceBeanが含まれている場合、構成可能なのはインストゥルメンテーション・コンポーネントのみであり、設定はそのアプリケーションにのみ適用されます。後者の場合、WLDFResourceMBeanはWLDFSystemResourceMBeanの子ではありません。