6 診断イメージの構成とキャプチャ

WebLogic診断フレームワーク(WLDF)の診断イメージ・キャプチャ・コンポーネントを使用すると、キャプチャ時のサーバー内部の実行時状態について診断スナップショット(またはダンプ)を作成できます。キャプチャされた情報は、サーバー障害の原因の分析に役立ちます。WebLogic ServerにOracle HotSpotが構成され、Javaフライト・レコーダが有効化されている場合、診断イメージのキャプチャには、Java Mission Controlで表示できるWebLogic Server診断データが含まれます。

サーバーの構成における診断イメージ・キャプチャの永続化

診断イメージ・キャプチャの構成は、ドメインのconfig.xmlファイルに保持されます。

例6-1に示すように、config.xmlファイル内では、イメージ・キャプチャはサーバーの<server>要素の<server-diagnostic-config>下位要素の配下に記述されます。

例6-1 診断イメージ・キャプチャの構成のサンプル

<domain>
  <!-- Other domain configuration elements -->
  <server>
    <name>myserver</name>
    <server-diagnostic-config>
      <image-dir>logs\diagnostic_images</image-dir>
      <image-timeout>2</image-timeout>
    </server-diagnostic-config>
    <!-- Other configuration details for this server -->
  </server>
  <!-- Other server configurations in this domain-->
</domain>

ノート:

config.xmlファイルは直接編集しないことをお薦めします。

キャプチャされたイメージ・ファイルの内容

診断イメージ・キャプチャ・コンポーネントは、様々なサーバー・サブシステムによって生成されたイメージをキャプチャおよび結合して、単一の.zipファイルにします。サーバー状態の最も一般的な情報をキャプチャするだけでなく、このコンポーネントは、たとえばJMS、JDBC、EJB、およびJNDIサブシステムによって生成されたイメージなど、すべてのサーバー・サブシステムからイメージをキャプチャします。

診断イメージ・キャプチャでは、以下のようなサーバーの状態の最も一般的な情報がキャプチャされます。

  • 構成
  • ログ・キャッシュの状態
  • Java仮想マシン(JVM)
  • ワーク・マネージャの状態
  • JNDIの状態
  • 最近収集されたデータ

WebLogic ServerにOracle HotSpotが構成され、Javaフライト・レコーダが有効化されている場合、診断イメージのキャプチャには、Java Mission Controlで表示できるJavaフライト・レコーダ・イメージFlightRecording.jfrが含まれます。Javaフライト・レコーダ・イメージの内容には、Javaフライト・レコーダが元の使用可能なすべてのデータが含まれています。WLDFにより生成されるデータの量は、診断ボリュームの設定によって決まります。Javaフライト・レコーダを有効にすると、JVMによりデータが常に提供されます。オプションで、WebLogic Serverが提供するデータを含めることができます。Oracle Dynamic Monitoring System (DMS)など、Oracleの追加コンポーネントが元のデータもJavaフライト・レコーダ・イメージに含めることができます。

ノート:

  • 診断イメージは、重大な障害を診断するためにサーバー・レベルの状態ダンプとして利用できる、サイズの大きなアーティファクトです。診断イメージは、構造化されたフォーマットで重要なデータを大量にキャプチャできるので、サポート部門のスタッフによる問題の解析に役立てることができます。

  • DMSなどのWebLogic Server環境内の非WebLogicイベント・プロデューサで、データを記録するようにJavaフライト・レコーダが構成されている場合、WLDF診断ボリュームの設定がOffでも、WLDF診断イメージ・キャプチャには、記録されたデータを含むJavaフライト・レコーダ・イメージ・ファイルが含まれます。

  • WebLogic ServerにHotSpotが構成されている場合、Javaフライト・レコーダはデフォルトでは有効化されていません。有効化方法の詳細は、「Oracle HotSpotでのJavaフライト・レコーダの使用」を参照してください。

診断イメージ・キャプチャ・ファイルに含まれるデータ

各イメージは、サーバー全体で1つのファイルとしてキャプチャされます。デフォルトの場所はSERVER_NAME\logs\diagnostic_imagesです。各イメージ・インスタンスには、次のように一意の名前が付けられます。

    diagnostic_image_DOMAIN_SERVER_YYYY_MM_DD_HH_MM_SS.zip

ファイルには、少なくとも以下の情報が収められています。

  • 診断イメージの作成日および作成時間

  • キャプチャリクエストのソース

  • 診断イメージに含まれる各イメージ・ソースの名前と処理にかかった時間

  • JVMおよびOS情報(取得可能な場合)

  • コマンド・ライン引数(使用可能な場合)

  • WebLogic Serverのバージョン(パッチおよびビルド番号情報を含む)

「Javaフライト・レコーダの診断イメージ・キャプチャの構成」で説明されているように、WLDFにOracle HotSpotが構成されている場合、イメージには、Javaフライト・レコーダ・ファイルのFlightRecording.jfrも含まれます。「診断イメージ・キャプチャのダウンロード用のWLSTオンライン・コマンド」で説明されているように、JFRファイルを抽出し、Java Mission Controlで表示できます。

図6-1はイメージ・ファイルの内容を示します。この.zipファイル内のほとんどのファイルは、テキスト・エディタで開いて内容を確認できます。

図6-1 イメージ・ファイルの内容

図6-1の説明が続きます
「図6-1 イメージ・ファイルの内容」の説明

診断イメージ・キャプチャのダウンロード用のWLSTオンライン・コマンド

WLSTオンラインでは、WLSTが接続されているサーバーから診断イメージのキャプチャをダウンロードするための次のコマンドが提供されます。

表6-1 イメージ・キャプチャのダウンロード用のWLSTコマンド

コマンド サマリー
captureAndSaveDiagnosticImage

診断イメージをキャプチャし、ローカルにダウンロードします。

getAvailableCapturedImages

サーバーで構成されているイメージ保存先ディレクトリ内に作成された診断イメージのリストを返します。

saveDiagnosticImageCaptureFile

指定した診断イメージのキャプチャ・ファイルをダウンロードします。

saveDiagnosticImageCaptureEntryFile

診断イメージ・キャプチャ内の特定のエントリをダウンロードします。Java Mission Controlで表示するJavaフライト・レコーダ診断データを取得するときにこのコマンドが特に役立ちます。

これらのコマンドの詳細および使用例は、『Oracle WebLogic Server WLSTコマンド・リファレンス』診断コマンドに関する項を参照してください。診断イメージのリストを戻し、その中のJFRファイルを取得するWLSTスクリプトの例は、「WebLogic Scripting Toolのサンプル」を参照してください。