ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server診断フレームワークの構成と使い方
11g リリース1 (10.3.3)
B60994-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストヘ移動
製品
目次へ移動
目次

前
 
次
 

7 メトリック収集用のハーベスタの構成

WebLogic診断フレームワーク(WLDF)のハーベスタ・コンポーネントでは、実行中のサーバーでインスタンス化される修飾されたMBeanの属性からメトリックを収集します。ハーベスタは、WebLogic Server MBeansおよびカスタムMBeansからメトリックを収集できます。

次の項では、収集およびハーベスタの構成プロセスについて説明します。

メトリック収集、収集可能データ、および収集対象データ

「メトリック収集」とは、システムの状態やパフォーマンスをモニターするのに役立つデータを収集するプロセスです。メトリックは、限定されたMBeanの属性としてWLDFに公開されます。ハーベスタは、指定したサンプリング・レートで、選択したMBean属性から値を収集します。そのため、変動する可能性がある値を継続して追跡できます。

データが「収集可能な状態になるには、一定の条件が必要です。また、「収集対象になるには、さらに条件が必要となります。

WLDFHarvesterRuntimeMBeanによって獲得可能なデータと獲得済みのデータのセットが提供されます。このMBeanが戻す情報は変化可能な状態のスナップショットです。このMBeanが提供するデータに関する詳細情報は、Oracle WebLogic Server MBeanリファレンスweblogic.management.runtime.WLDFHarvesterRuntimeMBeanに関する項を参照してください。

管理コンソール、WebLogic Scripting Tool (weblogic.WLST)、またはJMXを使用すると、サーバーMBeanおよびカスタムMBeanに格納されているメトリックを収集およびアーカイブするようにハーベスタを構成できます。

様々な収集可能エンティティからのデータ収集

指定したMBeanの型、インスタンス、属性からデータを獲得するようにハーベスタを構成できます。すべての場合では、ハーベスタは、表7-1 で説明されているように、MBeanインスタンスの属性の値を集めます。

表7-1 様々な構成からの収集対象データのソース

収集対象として構成されているエンティティ データの収集元

型(のみ)

指定した型のすべてのインスタンスの収集可能なすべての属性

型の属性

(型+属性)

指定した型のすべてのインスタンスの指定した属性

型のインスタンス

(型+インスタンス)

指定した型の指定したインスタンスの収集可能なすべての属性

以下の型の1つのインスタンスの1つの属性

(型+インスタンス+属性)

指定した型の指定したインスタンスの指定した属性


すべてのWebLogic Server実行時MBeanの型と属性は、起動時に認識されます。そのため、ハーベスタの構成がロードされる場合、WebLogic Serverの収集可能エンティティのセットは、WebLogic Server実行時MBeanの型と属性と同じです。型がインスタンス化されると、そのインスタンスも認識されて収集可能になります。

収集可能なカスタムMBeanの型のセットは変動します。カスタムMBeanは、その型が認識される前にインスタンス化する必要があります(型が存在するようになるのは、少なくとも1つのインスタンスが作成されたときからです)。したがって、カスタムMBeanがMBeanサーバーに登録されたり、MBeanサーバーから削除されたりするとともに、カスタムMBeanの収集可能な型のセットは大きくなったり小さくなったりします。新しいMBeanの登録に基づいて新しい型を検出するこのプロセスを、「型検出」と呼びます。

管理コンソールを使用してハーベスタを構成する場合は、コンソールによって構成できる獲得可能なエンティティのリストが提供されます。このリストはWebLogic Server MBeansのためにいつも完全なものですが、カスタムMBeansのためのリストには現在に発見されたタイプのみ含まれます。 Oracle WebLogic Server管理コンソール・ヘルプ「診断システム・モジュールで収集するメトリックの構成」を参照してください。

ハーベスタの構成

ハーベスタが構成され、メトリックが収集されるのは、1つまたは複数のサーバー・インスタンスを対象にした診断モジュールの範囲内です。

例7-1は、WLDFシステム・リソース記述子ファイルmyWLDF.xmlのハーベスタ構成要素を示します。このサンプル構成では、ServerRuntimeMBean、WLDFHarvesterRuntimeMBean、およびカスタム(非WLS) MBeanからデータを獲得します。リストに続いて、リスト内の各要素について説明します。

例7-1 ハーベスタ構成のサンプル(DIAG_MODULE.xml内)

<wldf-resource xmlns="http://xmlns.oracle.com/weblogic/weblogic-diagnostics" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<name>myWLDF</name>
  <harvester>
    <enabled>true</enabled>
    <sample-period>5000</sample-period>
    <harvested-type>
      <name>weblogic.management.runtime.ServerRuntimeMBean</name>
    </harvested-type>
    <harvested-type>
      <name>weblogic.management.runtime.WLDFHarvesterRuntimeMBean</name>
        <harvested-attribute>TotalSamplingTime</harvested-attribute>
        <harvested-attribute>CurrentSnapshotElapsedTime
        </harvested-attribute>
    </harvested-type>
    <harvested-type>
      <name>myMBeans.MySimpleStandard</name>
      <harvested-instance>myCustomDomain:Name=myCustomMBean1
      </harvested-instance>
      <harvested-instance>myCustomDomain:Name=myCustomMBean2
      </harvested-instance>
    </harvested-type>
  </harvester>
<!-- ----- Other elements ----- -->
</wldf-resource>

ハーベスタのサンプリング期間の構成

sample-period要素は、ハーベスタのサンプル期間をミリ秒で設定します。例:

    <sample-period>5000</sample-period>

サンプル期間には、各サイクル間の時間を指定します。たとえば、ハーベスタがTで指定した時間に実行を開始し、サンプル期間がIの場合、次の収集サイクルはT + I に開始されます。サイクルが完了するまでA秒かかり、AIを上回っている場合、次のサイクルはT+Aに開始されます。この場合ハーベスタは、平均間隔がIになるように、より早く次のサイクルを開始しようとします。

収集するデータの種類の構成

1つまたは複数の<harvested-type>要素で、収集するデータの種類を指定します。各<harvested-type>要素には、メトリックを収集するMBeanの型を指定します。下位要素では、収集されるその型のインスタンスと属性のどちらか、または両方を指定します(オプション)。各オプションを次のように設定します。

  • <harvested-instance>要素(オプション)では、指定した型のリストされているインスタンスからのみメトリックを収集するように指定します。通常、インスタンスを指定する場合は、そのJMX ObjectNameをJMXの標準書式で記述します。ただし、「ハーベスタ・インスタンス名にワイルドカードの使用」で説明するように、パターン・マッチを使用すると非標準形式でインスタンス名を指定することができます。

  • <harvested-instance>の指定がない場合、各収集サイクルにおいて、そのときに存在するすべてのインスタンスが収集されます。

  • <harvested-attribute>要素(オプション)では、指定した型のリストされている属性からのみメトリックを収集するように指定します。通常、属性はその名前を記述して指定します。最初の文字は大文字にする必要があります。たとえば、ゲッター・メソッドgetFoo()が定義されている属性の名前はFooです。

    また、<harvested-attribute>要素では、リスト、マップ、単純なPOJO (プレーンな従来型Javaオブジェクト)、およびこれらが様々な形でネストされたものなどの集約オブジェクトであったり、複合的な属性に「ドリルダウン」するための式構文がサポートされます。この構文の詳細は、「ハーベスタの複合属性およびネストされた属性の指定」を参照してください。ただし、データを収集するには、これらの式の結果が組込みの単純型(整数、ブール、文字列など)でなければならない点に注意してください。

  • <harvested-attribute>の指定がない場合、その型に定義されているすべての属性が収集されます。

  • 1つの型の中で属性とインスタンスのリストを組み合わせることができます。

WebLogic Server MBeanとカスタムMBeanの型名の指定

ハーベスタは、WebLogic Server MBeanとカスタムMBeanをサポートしています。WebLogic Server MBeanは、WebLogic Serverの一部としてパッケージ化されているMBeanです。カスタムMBeanは、ローカル実行時MBeanサーバーに登録されている間は収集可能です。

WebLogic Server MBeanの型とカスタムMBeanの型では、その指定方法が異なります。WebLogic Server MBeanの型では、型名はそのMBeanを定義するJavaインタフェースの名前です。たとえば、サーバーの実行時MBeanの型名はweblogic.management.runtime.ServerRuntimeMBeanです。

カスタムMBeanの場合、ハーベスタは次のルールに従います。

  • MBeanがModelMBeanでなければ、型名は実装クラス名です。(たとえば、例:7-1を参照してください。)

  • MBeanがModelMBeanの場合、型名はMBean DescriptorフィールドDiagnosticTypeNameの値。

これらの条件のどちらも満たされていない場合(MBeanがModelMBeanであり、MBean Descriptor field DiagnosticTypeNameのための値がなければ)、MBeanを収集することができません。

DomainRuntime MBeanServerからの収集

<harvested-type>要素は、DomainRuntime MBeanServerに登録されたMBeansからメトリックを収集ことができる<namespace>属性をサポートします。Oracleは、ServerLifeCycleRuntimeMBeanなどのDomainRuntime特有のMBeansだけの収集を制限することをお勧めします。リモートの管理対象サーバーMBeanもDomainRuntime MBeanServerを介して収集できますが、パフォーマンスに影響するため推奨されません。ベスト・プラクティスは、各管理対象サーバーで常駐ハーベスタを使用し、その管理対象サーバー・インスタンスに関連するメトリックをキャプチャすることです。

<namespace>属性は2つの値の1つを持つことができます。

  • ServerRuntime

  • DomainRuntime

<namespace>属性が省略される場合、それはServerRuntimeをデフォルトとします。


注意:

DomainRuntime MBeanサーバーからの獲得は管理サーバーでのみ使用可能です。管理対象サーバーでDomainRuntime MBeansの収集ができません。詳細は、例:7-5を参照してください。

構成設定を検証するタイミング

WLDFでは、できる限り速やかに構成を検証しようとします。ほとんどの構成は、サーバーの起動時および動的な変更がコミットされる度に検証されます。ただし、JMXの制限により、カスタムMBeanはそのインスタンスがMBeanサーバーに登録されるまでは検証されません。

様々な収集可能な型の構成のサンプル

例7-2では、DIAG_MODULE.xml構成ファイルの<harvested-type>の要素は、ServerRuntimeMBeanが収集られることになっていると指定します。<harvested-instance>の下位要素が存在しないので、タイプのすべてのインスタンスが集められます。ただし、サーバーの実行時MBeanのインスタンスは常に1つだけなので、特定のインスタンスのリストを指定する必要はありません。そして、<harvested-attribute>のある下位要素もないため、MBeanのすべての利用可能な属性がそれぞれの2つのインスタンスに対して収集されます。

例7-2 型のすべてのインスタンスと属性を収集する構成のサンプル(DIAG_MODULE.xml内)

    <harvested-type>
      <name>weblogic.management.runtime.ServerRuntimeMBean</name>
    </harvested-type>

例7-3で、DIAG_MODULE.xml構成ファイルの<harvested-type>要素では、WLDFHarvesterRuntimeMBeanが収集されることを指定しています。上記の例と同様に、存在するWLDFHarvesterRuntimeMBeanは1つだけなので、特定のインスタンスのリストを指定する必要がありません。下位要素<harvested-attribute>は、WLDFHarvesterRuntimeMBeanの2つの利用可能な属性だけが収集られると指定しますTotalSamplingTimeとCurrentSnapshotElapsedTime。

例7-3 型のすべてのインスタンスの指定した属性を収集する構成のサンプル(DIAG_MODULE.xml内)

    <harvested-type>
      <name>weblogic.management.runtime.WLDFHarvesterRuntimeMBean</name>
        <harvested-attribute>TotalSamplingTime</harvested-attribute>
        <harvested-attribute>CurrentSnapshotElapsedTime
        </harvested-attribute>
    </harvested-type>

例7-4で、DIAG_MODULE.xml構成ファイルの<harvested-type>要素では、カスタムMBean型の1つのインスタンスが収集されることを指定しています。この場合、カスタムMBeanなので、型名は実装クラスです。この例では、2つの<harvested-instance>要素で、この型のインスタンスが2つだけ収集されるように指定しています。各インスタンスは、JMX ObjectNameの標準表現を使用することで指定されます。<harvested-attribute>のインスタンスは指定されていないので、すべての属性が収集の対象になります。

例7-4 型の指定したインスタンスの指定したすべての属性を収集する構成のサンプル(DIAG_MODULE.xml内)

    <harvested-type>
      <name>myMBeans.MySimpleStandard</name>
      <harvested-instance>myCustomDomain:Name=myCustomMBean1
      </harvested-instance>
      <harvested-instance>myCustomDomain:Name=myCustomMBean2
      </harvested-instance>
    </harvested-type>

例7-5で、DIAG_MODULE.xml構成ファイルの<harvested-type>要素では、ServerLifeCycleRuntimeMBeanが収集されることを指定しています。<namespace>属性では、これがDomainRuntime MBeanであることを指定しているため、この構成が適用されるのは管理サーバーのみです(「DomainRuntime MBeanServerからの収集」の「注意」を参照)。下位要素<harvested-attribute>は、StateVal属性だけが収集されることを指定します。

例7-5 ServerLifeCycleMBean型の指定したインスタンスの指定した属性を収集する構成のサンプル

    <harvested-type>
     <name>weblogic.management.runtime.ServerLifeCycleRuntimeMBean</name>
     <namespace>DomainRuntime</namespace>
     <known-type>true</known-type>
     <harvested-attribute>StateVal</harvested-attribute>
    </harvested-type>