WebLogic 診断フレームワークのコンフィグレーションと使い方
![]() |
![]() |
![]() |
![]() |
WebLogic 診断フレームワーク (WLDF) のハーベスタ コンポーネントでは、実行中のサーバでインスタンス化される限定された MBean の属性からメトリックを収集します。ハーベスタは、BEA 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 インスタンスの属性値を収集します。
すべての 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
のハーベスタ コンフィグレーション要素を示します。このサンプル コンフィグレーションでは、ServerRuntimeMBean
、WLDFHarvesterRuntimeMBean
、およびカスタム (非 WLS) MBean からデータを収集します。コード リストに続いて、リスト内の各要素について説明します。
コード リスト 6-1 ハーベスタ コンフィグレーションのサンプル (DIAG_MODULE.xml 内)
<wldf-resource xmlns="http://www.bea.com/ns/weblogic/90/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
秒かかり、A
が I
を上回っている場合、次のサイクルは T
+
A
に開始されます。この場合ハーベスタは、平均間隔が I
になるように、より早く次のサイクルを開始しようとします。
1 つまたは複数の <harvested-type>
要素で、収集するデータの種類を指定します。各 <harvested-type>
要素には、メトリックを収集する MBean の型を指定します。下位要素では、収集されるその型のインスタンスと属性のどちらか、または両方を指定します (省略可能)。各オプションを次のように設定します。
<harvested-instance>
要素 (省略可能) では、指定した型のリストされているインスタンスからのみメトリックを収集するように指定する。通常、インスタンスを指定する場合は、その JMX ObjectName
を JMX の標準書式で記述する。 <harvested-instance>
の指定がない場合、各収集サイクルにおいて、そのときに存在するすべてのインスタンスが収集される。 <harvested-attribute>
要素 (省略可能) では、指定した型のリストされている属性からのみメトリックを収集するように指定する。通常、属性はその名前を記述して指定する。最初の文字は大文字にする必要がある。たとえば、ゲッター メソッド getFoo()
が定義されている属性の名前は「Foo
」である。<harvested-attribute>
の指定がない場合、その型に定義されているすべての属性が収集される。 ハーベスタは、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 の場合、型名はその実装クラスの名前です (コード リスト 6-1 の例を参照)。
WLDF では、できる限り速やかにコンフィグレーションを検証しようとします。ほとんどのコンフィグレーションは、サーバの起動時および動的な変更がコミットされる度に検証されます。ただし、JMX の制限により、カスタム MBean はそのインスタンスが MBean サーバに登録されるまでは検証されません。
コード リスト 6-2 で、DIAG_MODULE
.xml
コンフィグレーション ファイルの <harvested-type> 要素では、ServerRuntimeMBean
が収集されることを指定しています。<harvested-instance>
下位要素の指定がないため、この型のすべてのインスタンスが収集されます。ただし、サーバの実行時 MBean のインスタンスは常に 1 つだけなので、特定のインスタンスのリストを指定する必要はありません。また、<harvested-attribute>
下位要素の指定がないため、この 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 つ、すなわち 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>
![]() ![]() |
![]() |
![]() |