ヘッダをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server 診断フレームワークのコンフィグレーションと使い方
11g リリース 1 (10.3.1)
B55523-01
 

目次へ
目次

戻る
戻る
 
次へ
次へ
 

6 メトリック収集用のハーベスタのコンフィグレーション

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

以下の節では、収集およびハーベスタのコンフィグレーション プロセスについて説明します。

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

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

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

WLDFHarvesterRuntimeMBeanで、収集可能データおよび収集対象データのセットが提供されます。この MBean から返される情報は、変更の可能性もある状態のスナップショットです。この MBean で提供されるデータの詳細については、『Oracle Fusion Middleware Oracle WebLogic Server MBean リファレンス』の「weblogic.management.runtime.WLDFHarvesterRuntimeMBean」に関する説明を参照してください。

Administration Console、WebLogic Scripting Tool (weblogic.WLST)、または JMX を使用すると、サーバ MBean およびカスタム MBean に格納されているメトリックを収集およびアーカイブするようにハーベスタをコンフィグレーションできます。

さまざまな収集可能エンティティからのデータ収集

指定した MBean の型、インスタンス、属性からデータを収集するようにハーベスタをコンフィグレーションできます。すべての場合では、ハーベスタは、表 6-1 で説明されるように、MBean インスタンスの属性の値を集めます。

表 6-1 さまざまなコンフィグレーションからの収集対象データのソース

収集対象としてコンフィグレーションされているエンティティ データの収集元

型 (のみ)

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

型の属性

(型 + 属性)

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

型のインスタンス

(型 + インスタンス)

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

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

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

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


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

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

Administration Console でハーベスタをコンフィグレーションする場合、コンフィグレーションできる収集可能エンティティのリストが Administration Console に表示されます。このリストは、WebLogic Server MBean に関しては常に完全ですが、カスタム MBean に関しては、現在検出されている型のみが含まれます。『Oracle Fusion Middleware Oracle WebLogic Server Administration Console ヘルプ』の「診断システム モジュールへの収集するメトリックのコンフィグレーション」を参照してください。

ハーベスタのコンフィグレーション

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

コード リスト 6-1 は、WLDF システム リソース記述子ファイル myWLDF.xml のハーベスタ コンフィグレーション要素を示します。このサンプル コンフィグレーションでは、ServerRuntimeMBean、WLDFHarvesterRuntimeMBean、およびカスタム (非 WLS) MBean からデータを収集します。コード リストに続いて、リスト内の各要素について説明します。

コード リスト 6-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>
<!-- ----- 他の要素 ----- -->
</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 でなければ、型名は実装クラス名です。(たとえば、コード リスト 6-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 MBean を収集しようとしても無視されます。例については、コード リスト 6-5 を参照してください。

コンフィグレーション設定を検証するタイミング

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

さまざまな収集可能な型のコンフィグレーションのサンプル

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

コード リスト 6-2 型のすべてのインスタンスと属性を収集するコンフィグレーションのサンプル (DIAG_MODULE.xml 内)

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

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

コード リスト 6-3 型のすべてのインスタンスの指定した属性を収集するコンフィグレーションのサンプル (DIAG_MODULE.xml 内)

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

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

コード リスト 6-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>

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

コード リスト 6-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>