WebLogic 診断フレームワークのコンフィグレーションと使い方

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

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

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

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

 


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

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

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

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

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

 


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

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

表 6-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 に関しては、現在検出されている型のみが含まれます。Administration Console オンライン ヘルプの「診断システム モジュールへの収集するメトリックのコンフィグレーション」を参照してください。

 


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

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

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

コード リスト 6-1 ハーベスタ コンフィグレーションのサンプル (DIAG_MODULE.xml 内)
<wldf-resource xmlns="http://www.bea.com/ns/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 の型を指定します。下位要素では、収集されるその型のインスタンスと属性のどちらか、または両方を指定します (省略可能)。各オプションを次のように設定します。

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 であり、MBean Descriptor フィールド DiagnosticTypeName に値がない場合)、その MBean は収集できません。

DomainRuntime MBeanServer からの収集

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

<namespace> 属性には以下のいずれかの値を指定できます。

<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> 下位要素が指定されていないため、2 つの各インスタンスについて収集可能なすべての MBean 属性が収集されます。

コード リスト 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 つ、すなわち TotalSamplingTimeCurrentSnapshotElapsedTime のみを収集するように指定されています。

コード リスト 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 型の特定の属性を収集するコンフィグレーションの例 (DIAG_MODULE.xml)
    <harvested-type>
     <name>weblogic.management.runtime.ServerLifeCycleRuntimeMBean</name>
     <namespace>DomainRuntime</namespace>
     <known-type>true</known-type>
     <harvested-attribute>StateVal</harvested-attribute>
    </harvested-type>

ページの先頭       前  次