Oracle® Fusion Middleware Oracle WebLogic Server診断フレームワークの構成と使い方 11g リリース1(10.3.5) B60994-03 |
|
前 |
次 |
WebLogic診断フレームワーク(WLDF)では、WebLogic Serverインスタンスおよびサーバー・インスタンスにデプロイされたアプリケーションから診断データを生成、収集、解析、永続化できます。サーバー・スコープの診断では、一部のWLDF機能は、ドメイン内のサーバーの構成の一部として構成されます。その他の機能は、サーバー(またはクラスタ)をターゲットとするシステム・リソース記述子として構成されます。アプリケーション・スコープの診断では、診断機能は、アプリケーションのリソース記述子として構成されます。
次の項では、WLDF構成の概要について説明します。
WebLogic Serverドメイン構成の一般情報は、Oracle WebLogic Serverドメイン構成の理解を参照してください。
他のWebLogic Serverサブシステムと同様に、WLDFは構成MBean (管理対象Bean)を使用して構成され、構成はXML構成ファイルに永続化されます。構成MBeanは、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 MBeansについてに関する項を参照してください。
他のWebLogic Serverサブシステムと同様に、WLDFの構成には、以下のような複数の方法があります。
管理コンソールを使用して、サーバー・インスタンスおよびクラスタ用にWLDFを構成します。管理コンソール・オンライン・ヘルプのWebLogic診断フレームワークの構成に関する項を参照してください。
WebLogic Scripting Tool (WLST)で実行するスクリプトを書き込みます。WLDFでWLSTを使用する際の詳細は、付録D「WebLogic Scripting Toolのサンプル」を参照してください。WLSTの一般情報は、『Oracle WebLogic Scripting Tool』を参照してください。
JMXおよびWLDF構成MBeanを使用してWLDFのプログラムを構成します。WLDFのプログラミングの詳細は、第16章「WLDFのプログラムの構成と使用」を参照してください。プログラミング時のリファレンスとしてOracle WebLogic Server MBeanリファレンスを参照して、特定のMBeanを参照または検索します。
XML構成ファイルを直接編集します。このドキュメントでは、構成ファイルのXML要素を例示および説明することで、さまざまな構成タスクについて説明します。XMLはわかりやすく、構成ファイルを直接編集できますが、そうすることはお薦めしません。(ファイルを直接編集する適切な理由がある場合は、まず、管理コンソールでWLDFを構成してXMLファイルを生成してください。そうすることで、有効なXMLの青写真が得られます。)
注意: 構成ファイルを編集して構成を変更した場合、その変更を有効にするにはサーバーを再起動する必要があります。 |
WLDFを使用すると、サーバー・インスタンス(とクラスタ)およびアプリケーションに対して診断タスクを実行できます。
以下のコンポーネントは、ドメインのサーバー・インスタンスの一部として構成します。構成設定はMBeanを使用して制御され、ドメインのconfig.xmlファイルに永続化されます。
診断イメージ・キャプチャ
診断アーカイブ
「診断イメージ・キャプチャと診断アーカイブの構成」を参照してください。
以下のWLDFコンポーネントは、1つまたは複数のサーバー・インスタンス(またはクラスタ)にデプロイできる、1つまたは複数の診断システム・モジュールまたはリソースの一部として構成します。これらの構成設定はBeanを使用して構成され、1つまたは複数のサーバー・インスタンス(またはクラスタ)に対してターゲット指定できる、1つまたは複数の診断リソース記述子ファイル(構成ファイル)に永続化されます。
ハーベスタ(メトリック収集用)
監視および通知
インストゥルメンテーション
「診断システム・モジュールの構成」を参照してください。
WLDFインストゥルメンテーション・コンポーネントは、サーバー・レベルだけでなくアプリケーション・レベルでも使用できます。インストゥルメンテーション・コンポーネントは、アプリケーション・アーカイブ・ファイルのアプリケーションでデプロイされたリソース記述子ファイルで構成されます。「アプリケーション用の診断モジュールの構成」を参照してください。
ドメインのconfig.xmlファイルでは、<server-diagnostic-config>要素の診断イメージ・キャプチャ・コンポーネントおよび診断アーカイブ・コンポーネントを構成します。<server-diagnostic-config>要素はドメインの子要素です。例を例4-1に示します。
例4-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. See Example 4-2. --> </domain>
注意: WebLogic ServerがOracle JRockitと構成されているとき、JRockitフライト・レコーダが有効である場合、診断イメージ・キャプチャには、WebLogic Serverイベントを含むJRockitフライト・レコーダ(JFR)ファイルを含められます。JFRファイルは「JRockit Mission Control」で表示できます。 |
詳細については、次を参照してください。
WebLogic ServerがOracle JRockit R28以降で構成されていて、JRockitフライト・レコーダが明示的に無効にされていない場合、JFRファイルが診断イメージ・キャプチャに自動で含まれます。JFRファイルは、有効な状態にあるすべてのイベント・プロデューサからのデータを含みます。ただし、JFRに含まれるWebLogic Serverイベント・データ量はWLDF診断ボリュームの構成により決定されます。
注意: デフォルトでは、WLDF診断ボリュームは低 に設定されています。 |
WebLogic Serverのイベント・データをJFRファイルに含めるには:
WebLogic ServerがWebLogic Serverのインストール・プログラムから使用可能であるOracle JRockit R28で構成されていることを確認してください。
詳細は、『Oracle WebLogic Serverインストレーション・ガイド』を参照してください。
JRockitでJFRフライト記録が無効になっていないことを確認します。
Oracle JRockitのデフォルト・インストールでは、フライト・レコーダはデフォルトのデータ収集モードで動作します。JVMイベントをJFRファイルに含めるのにJRockitの設定は必要ありません。
詳細は、『Oracle JRockitフライト・レコーダ・ラン・タイム・ガイド』を参照してください。
WLDF診断ボリュームを適切に設定します。一般的な使用には、低い
のデフォルト設定をお薦めします。ただし、ボリュームを中
または高い
に設定することにより、生成されるWebLogic Serverイベント・データのボリュームを適切に増加できます。
WLDF診断ボリュームの設定は、JVMなどの他のイベント・プロデューサに記録したデータには影響しません。
詳細は、Oracle WebLogic Server管理コンソール・ヘルプのWLDF診断ボリュームの構成に関する項を参照してください。
注意: WLDF診断ボリュームがOff に設定し、フライト・レコーダが明示的に無効にされていない場合、JFRファイルは引き続きJVMイベント・データを含み、常に診断イメージ・キャプチャに含まれます。 |
インストゥルメンテーション、ハーベスタ、監視と通知の各コンポーネントをサーバー・レベルで構成して使用するには、「診断システム・モジュール」というシステム・リソースをあらかじめ作成する必要があります。診断システム・モジュールには、これらのすべてのコンポーネントの構成が含まれます。以下の点に注意してください。次の点に留意してください:
システム・モジュールは、ドメインで構成されているサーバーおよびクラスタにグローバルにターゲット指定できます。
特定のドメインでは、個別の構成を持つ複数の診断システム・モジュールを作成できます。
特定のサーバーまたはクラスタに対してターゲット指定できる診断システム・モジュールは1つのみ。
診断システム・モジュールは管理コンソールまたはWebLogic Scripting Tool (WLST)を使用して作成します。診断システム・モジュールはWLDFResourceBeanとして作成され、構成はDIAG_MODULE.xmlというリソース記述子ファイル(構成ファイル)に永続化されます。DIAG_MODULEは診断モジュールの名前です。記述子ファイル名は指定できますが、必須ではありません。ファイル名を付けなかった場合、記述子ファイルの<name>要素の値を基に名前が付けられます。デフォルトでは、ファイルはDOMAIN_NAME \config\diagnostics directoryディレクトリに作成されます。DOMAIN_NAMEは、ドメインのホーム・ディレクトリ名です。ファイルには、.xml拡張子があります。
注意: 診断モジュールはdiagnostics.xsdスキーマに準拠しています。このスキーマは、http://xmlns.oracle.com/weblogic/weblogic-diagnostics/1.0/weblogic-diagnostics.xsd で参照できます。 |
診断システム・モジュールの作成手順は、Oracle WebLogic Server管理コンソール・ヘルプの診断システム・モジュールの作成に関する項を参照してください。
管理コンソールまたはWebLogic Scripting Tool (WLST)を使って診断システム・モジュールを作成すると、WebLogic Serverは、DOMAIN_NAME/config/diagnosticsディレクトリに診断システム・モジュールを作成します。また、ドメインのconfig.xmlファイルに、モジュールへの参照が追加されます。
注意: XML構成ファイルを直接記述しないことをお薦めします。直接記述する必要がある場合は、まず、コンソールから診断モジュールを作成してください。それにより、コンソールが作成する有効なXMLを利用できます。詳細は、Oracle WebLogic Server管理コンソール・ヘルプの診断システム・モジュールの作成に関する項を参照してください。 |
config.xmlファイルでは、1つまたは複数の<wldf-system-resource>要素を使って診断モジュールへの参照を複数指定できます。<wldf-system-resource>要素には、診断モジュール・ファイル名、およびその診断モジュールのターゲットとなるサーバーとクラスタのリストが含まれます。
例4-2では、myserverサーバーを対象にしたmyDiagnosticModuleというモジュールに加え、ManagedServer1およびManagedServer2のサーバーをターゲットとするたnewDiagnosticModというモジュールの例を示します。
例4-2 ドメインの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>ManagedServer1,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ファイルの関係を図4-1に示します。
診断システム・モジュールの名前とターゲットのリストは、前述のようにconfig.xmlファイルに記述されますが、それ以外の診断システム・モジュールに関する構成は、すべてリソース記述子ファイルに保存されます。例4-3 はmyDiagnosticModuleという診断システム・モジュールのための記述子ファイルの一部を示します。
例4-3 診断システム・モジュール記述子ファイル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 watches and one or more
notifications-->
</watch-notification>
</wldf-resource>
1つのサーバーを対象にできるモジュールは一度に1つだけですが、診断システム・モジュールは、0個、1つ、または複数のサーバーまたはクラスタをターゲットにできます。システムの様々な側面をモニターするために、複数のモジュールを作成できます。複数のモジュールを作成した場合、その時にモニターする内容を基に、サーバーまたはクラスタをターゲットにするモジュールを選択できます。
同じモジュールで複数のサーバーまたはクラスタをターゲットにできるので、ドメイン内全体で使用する汎用モジュールを作成できます。
診断モジュールのターゲットを変更した場合でも、ターゲット指定したサーバーまたはターゲット指定を解除したサーバーを再起動する必要はありません。これにより、特定の診断目的に対応する診断モニターを柔軟に作成および使用できます。また、その際、サーバー・インスタンス自体の操作が妨げられることはありません。
アプリケーションの診断記述子では、インストゥルメンテーション・コンポーネントのみを構成できます。
アプリケーション・スコープのインストゥルメンテーションを、診断システム・モジュールに類似した診断モジュールとして、構成およびデプロイします。ただし、アプリケーション・モジュールはweblogic-diagnostics.xmlというXML記述子(構成)ファイルで構成されます。このファイルは、デプロイされるアプリケーションのARCHIVE_PATH/META-INFディレクトリ内で、アプリケーション・アーカイブと一緒にパッケージ化されます。たとえば、D:\bea\wlserver_10.3\samples\server\medrec\dist\standalone\exploded\medrec\META-INF\weblogic-diagnostics.xml
注意: (システム内を通過するリクエストを追跡する方法として)診断コンテキストを構成する際に使用されるDyeInjectionモニターは、サーバー・レベルでのみ構成できます。ただし、診断コンテキストが作成されると、受信したリクエストにアタッチされた診断コンテキストは、リクエストと一緒にアプリケーション内を通過します。診断コンテキストの情報は、第12章「診断コンテキストを管理するためのDyeInjectionモニターの構成」を参照してください。 |
アプリケーションの診断モジュールの構成とデプロイの詳細については、次を参照してください。
図4-2はWebLogic ServerドメインのWLDFオブジェクトのためにWLDF構成MBeansと診断システム・モジュールBeanの階層構造を示します。
以下のWLDF MBeanは、サーバー・レベルでWLDFを構成します。また、ドメインのconfig.xml構成ファイルのXML要素にマッピングされます。
WLDFServerDiagnosticMBeanは、サーバーのデータ・アーカイブ・コンポーネントと診断イメージ・コンポーネントの構成設定を制御します。診断モジュールの診断コンテキストをグローバルに有効化または無効化するかどうかを制御します(診断コンテキストは、リクエストを一意に識別し、システム内を通過する際にリクエストを追跡する手段です。第12章「診断コンテキストを管理するためのDyeInjectionモニターの構成」を参照してください。)
このMBeanは、サーバーのドメインのconfig.xmlファイルで、<server>要素の<server-diagnostic-config>子要素で表されます。
WLDFSystemResourceMBeanには、DOMAIN_NAME/config/diagnosticsディレクトリにある診断モジュールの記述子ファイルの名前、およびそのモジュールがデプロイされるターゲット・サーバー(複数可)の名前が含まれます。
このMBeanは、ドメインのconfig.xmlファイルの<wldf-system-resource>要素で表されます。
注意: ドメイン内に複数の診断システム・モジュールを作成できます。モジュールの構成は、ドメインのconfig/diagnosticsディレクトリの複数の記述子ファイルに保存されます。したがって、ドメインのconfig.xmlファイルには、それらのモジュールを表す複数の<wldf-system-resource>要素を指定できます。ただし、サーバーに対してターゲット指定できる診断システム・モジュールは一度に1つのみです。同じサーバーをアクティブなターゲットにしている2つのファイルがconfig/diagnosticsディレクトリに存在することはできません。 |
WLDFResourceBeanには、診断システム・モジュールの構成設定が収められています。このBeanは、ドメインのconfig/diagnosticsディレクトリにあるDIAG_MODULE.xml診断記述子ファイルの<wldf-resource>要素で表されます。(図4-1および例4-3を参照してください。)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の子ではありません。