2 WLDFアーキテクチャの概要

WebLogic診断フレームワーク(WLDF)は様々なコンポーネントで構成され、それらが連携してWebLogic Serverインスタンスとこれがホストするアプリケーションの診断情報を収集およびアーカイブし、これにアクセスします。この章では、WLDFアーキテクチャの概要とそのコンポーネントの詳細を示し、さらにすべてのコンポーネントがどのように連携してWebLogic Serverとこれがホストするアプリケーションの診断情報を収集してこれにアクセスするかを説明します。

ノート:

この章では、WLDFの仕組みが理解しやすくなるように概念を説明しています。構成APIや実行時API、およびWebLogic ServerコンソールにおけるWLDFの表現とは異なる部分もあります。WLDFの構成と使用をすぐに開始する場合は、この章を省いて「組込み診断システム・モジュールの使用」から始めてもかまいません。

次のトピックでは、WLDFとそのアーキテクチャ・コンポーネントの概要を説明します。

WebLogic診断フレームワークの概要

WLDFコンポーネントが相互作用することにより、サーバー・レベルでデータが処理されます。WLDFは次のコンポーネントで構成されます。
  • データ・クリエータ(WLDFコンポーネント全体に分散されるデータ・パブリッシャおよびデータ・プロバイダ)

  • データ・コレクタ(ロガー・コンポーネントとハーベスタ・コンポーネント)

  • アーカイブ・コンポーネント

  • アクセサ・コンポーネント

  • インストゥルメンテーション・コンポーネント

  • ポリシーおよびアクション・コンポーネント

  • イメージ・キャプチャ・コンポーネント

  • モニタリング・ダッシュボード

データ・クリエータは、ロガーやハーベスタによって消費される診断データを生成します。これらのコンポーネントは、アーカイブと連携してデータを永続化し、ポリシーおよびアクション・サブシステムと連携して自動化されたモニターを提供します。アクセサは、ロガーおよびハーベスタと対話して現在の診断データを公開し、アーカイブと対話して履歴データを提示します。イメージ・キャプチャ機能は、主要なサーバーの状態の診断スナップショットをキャプチャする手段を提供します。主要なWLDFコンポーネントを図2-1に示します。

図2-1 主要なWLDFコンポーネント

図2-1の説明が続きます
「図2-1 主要なWLDFコンポーネント」の説明

すべてのフレームワーク・コンポーネントは、サーバー・レベルで動作し、サーバーのスコープしか認識しません。コンポーネントはすべてサーバーのプロセス内に存在し、標準的なサーバーのライフサイクルに参加しています。フレームワークのアーティファクトはすべて、サーバーごとに構成および格納されます。

データの作成、収集、およびインストゥルメンテーション

診断データは、論理的に分類された多数のソースから収集されます。ソースは論理的に次のいずれかに分類されます。現在の値を収集するために一定の間隔でサンプリングされるデータ・クリエータであるデータ・プロバイダ、または同期的にイベントを生成するデータ・クリエータであるデータ・パブリッシャです。

データ・プロバイダとデータ・パブリッシャは、複数のコンポーネントにまたがって分散されており、生成されたデータは図2-2に示すように、ロガーまたはハーベスタによって収集できます。

図2-2 データ作成コンポーネントとデータ収集コンポーネントの関係

図2-2の説明が続きます
「図2-2 データ作成コンポーネントとデータ収集コンポーネントの関係」の説明

図2-2は、サーバー・ロギング・インフラストラクチャの呼出しがインライン・データ・パブリッシャとして機能し、生成されたデータは、イベントとして生成されることを示しています。(ロギング・インフラストラクチャは、カタログ・インフラストラクチャかデバッグ・モデルを通じて、または直接ロガーを通じて呼び出せます)。

インストゥルメンテーション・コンポーネントは、モニターを作成して実行フロー内の定義された位置に挿入します。モニターはアーカイブにデータを直接パブリッシュします。

MBeanサーバーに登録されたコンポーネントも、ハーベスタに登録することでデータ・プロバイダとして認識できるようになります。収集されたデータは、ポリシーおよびアクション・システムに公開されて自動的にモニターされるとともに、アーカイブに公開されて永続化されます。

アーカイブ

WLDFのアーカイブ・コンポーネントはシステムの状態をキャプチャし、システムの重大なフォルトを診断するために後でアクセスできるようにアーカイブします。いくつかの永続コンポーネントを使用して、履歴アーカイブを作成します。

システム内のフォルトの診断において、過去の状態が重要性を持つことがしばしばあります。そのため、状態をキャプチャして将来アクセスできるようアーカイブし、履歴アーカイブを作成しておくことが必要となります。WLDFでは、複数の永続化コンポーネントを持つアーカイブ・コンポーネントが、この要件に対応しています。イベントおよび収集されたメトリックの双方が、永続化されて履歴確認できるようになります。

人間に判読可能であり、サーバー・ログに含めることが意図されている、従来のロギング情報は、標準のロギング・アペンダによって永続化されます。システムでの消費が意図されている新しいイベント・データは、イベント・アーカイバを使用してイベント・ストア内で永続化されます。メトリック・データは、データ・アーカイバを使用して、データ・ストア内に永続化されます。アーカイブとロガーおよびハーベスタとの関係を図2-3 に示します。

アーカイブがアクセス・インタフェースを提供するので、アクセサは任意の永続化された履歴データを公開できるようになります。

図2-3 アーカイブとロガーおよびハーベスタとの関係

図2-3の説明が続きます
「図2-3 アーカイブとロガーおよびハーベスタとの関係」の説明

ポリシーとアクション

WLDFのポリシーおよびアクション・コンポーネントは、特定の診断状態を観察する自動化されたモニターを作成し、構成されたルールに基づいて通知を送信するのに使用できます。

ポリシーでは、ログ・データ、インストゥルメンテーション・コンポーネントのイベント・データ、ハーベスタによって収集されるデータ・プロバイダのメトリック・データをモニターできます。ポリシー・マネージャによって、複数のポリシー式で構成されるポリシーを管理できます。関係は図2-4 に示します。

図2-4 ロガーおよびハーベスタと、ポリシーおよびアクション・システムの関係

図2-4の説明が続きます
「図2-4 ロガーおよびハーベスタと、ポリシーおよびアクション・システムの関係」の説明

ポリシーで使用するために1つ以上のアクションを構成できます。デフォルトでは、すべてのポリシーによって、サーバー・ログ内にイベントが記録されます。SMTP、SNMP、JMX、エラスティック、REST、スクリプト、ログおよびJMSといったアクションもサポートされています。

データ・アクセサ

WLDFのデータ・アクセサ・コンポーネントは、ログ、イベント、メトリック・データなど、WLDFによって収集されたすべてのデータへのアクセスを提供します。アクセサはアーカイブ・コンポーネントと対話して、ログに記録されたイベント・データや永続化されたメトリックなどの履歴データを取得します。

実行中のサーバーのデータにアクセスする場合は、JMXベースのアクセス・サービスが使用されます。アクセサは、型、コンポーネント、および属性を基準としたデータ・ルックアップに対応しています。時間ベースのフィルタ処理を許可し、またイベントの場合には、重大度、ソース、およびコンテンツごとのフィルタ処理を許可します。

ツールでは、現在非アクティブなサーバーで永続化されたデータにアクセスすべき場合があります。そのような場合に備えて、オフライン・アクセサがあります。オフライン・アクセサを使用すると、後でアクセスできるように、アーカイブ済みのデータをXMLファイルにエクスポートすることができます。アクセサをこのように使用するには、WebLogic Scripting Tool (WLST)を使用します。また、マシンに物理的にアクセスする必要があります。

アクセサとハーベスタおよびアーカイブとの関係を、図2-5 に示します。

図2-5 オンラインおよびオフライン・アクセサとアーカイブの関係

図2-5の説明が続きます
「図2-5 オンラインおよびオフライン・アクセサとアーカイブの関係」の説明

モニタリング・ダッシュボードおよびリクエスト・パフォーマンス・ページ

WebLogic Server管理コンソールには、「モニタリング・ダッシュボード」およびリクエスト・パフォーマンス診断ページが表示されます。収集された診断データがこれらのページにビジュアルに表示されます。モニタリング・ダッシュボードには、WebLogic Serverおよびホストされているアプリケーションの現在の動作状態および動作状態の履歴がグラフィカルに表示されます。リクエスト・パフォーマンス診断ページには、メソッドのパフォーマンス情報がリアルタイムおよび履歴として表示されます。

次の項では、診断データがビジュアルに表示されるWebページの詳細を説明します。

モニタリング・ダッシュボード

モニタリング・ダッシュボードは、メトリック・ランタイムMBean属性を視覚的に提供し、WebLogic Serverおよびホストされたアプリケーションの現在および過去の動作状態を表示します。このメトリック・ランタイムMBean属性で、重要性の高いランタイム・パフォーマンス・メトリックの一部およびこのメトリックの一定期間での変更が表示されます。過去の動作状態が、アーカイブで永続化されている収集メトリックで表されています。収集されたメトリックをアーカイブから表示する場合、ハーベスタを構成して監視するデータをキャプチャする必要があります。

モニタリング・ダッシュボードは、メトリック情報の一連のビューを表示します。ビューは、メトリックを表示する1つ以上のチャートの集合です。モニタリング・ダッシュボードには、ドメイン内のすべての実行中のWebLogic Serverインスタンスに使用可能なランタイム・メトリックの組込みビューの事前定義したセットが含まれます。組込みビューは、重要性の高いランタイムWebLogic Serverパフォーマンス・メトリックの一部を提示し、モニタリング・ダッシュボードのグラフィック機能の例として機能します。

カスタム・ビューは、それを作成したユーザーのみ使用可能です。カスタム・ビューは自動的に永続化され、モニタリング・ダッシュボード・セッションを再起動すると、再度アクセスできます。「モニタリング・ダッシュボードの使用」を参照してください。

診断リクエスト・パフォーマンス・ページ

WebLogic Server管理コンソールの診断リクエスト・パフォーマンス・ページには、インストゥルメンテーション・コンポーネントを使用してキャプチャしたメソッド・パフォーマンス情報のリアルタイムおよび履歴ビューが表示されます。リクエスト・パフォーマンス情報を表示する場合、このデータを使用するには、最初にインストゥルメンテーション・コンポーネントを構成する必要があります。「リクエスト・パフォーマンス・データの作成」を参照してください。

診断イメージ・キャプチャ

診断イメージ・キャプチャ・コンポーネントは、サーバーの重要な状態を診断イメージとしてキャプチャします。診断イメージは、問題を診断するために使用されるサーバーの状態の診断スナップショットです。

診断イメージ・キャプチャのサポートでは、問題の診断に使用される主要なサーバーの状態について最も一般的な情報を収集します。図2-6 に示されているように、技術者を支援するために利用可能な単一のアーティファクトにその状態をパッケージ化します。診断イメージは、実質的にはサーバーからの診断スナップショットまたはダンプであり、UNIXのコア・ダンプと似ています。

WebLogic ServerがOracle HotSpotで構成され、Javaフライト・レコーダが有効である場合、診断イメージ・キャプチャにはすべてのプロデューサから使用できるすべてのJavaフライト・レコーダ・データが含まれます。また、Javaフライト・レコーダでキャプチャされたWebLogic Server診断情報を生成するようにWLDFを構成すると、その情報もJFRファイルに含まれます。JFRファイルは診断イメージ・キャプチャから抽出し、Java Mission Controlで表示できます。「Javaフライト・レコーダと連携したWLDFの使用」を参照してください。

イメージ・キャプチャ・サポートには次のものが含まれます。

  • WebLogic Server管理コンソール、WLSTスクリプトまたはJMXアプリケーションから発行された操作またはコマンドにより、診断イメージ・キャプチャで作成されたオンデマンド・キャプチャ。

  • 関連するハーベスタ・ポリシー、ログ・ポリシーまたはインストゥルメンテーション・ポリシーのトリガーに応じて、診断イメージ・キャプチャを自動的に作成するイメージ・アクション。たとえば、特定のランタイムMBeanインスタンスから収集されたメトリックでパフォーマンス問題が表示された場合、実行中サーバーのランタイムMBean属性を監視するハーベスタ・ポリシーでイメージ・アクションを実行できます。問題の原因を判断するために、診断イメージ・キャプチャのデータを分析できます。

診断イメージ・キャプチャの詳細は、次を参照してください。

図2-6 診断イメージ・キャプチャ

図2-6の説明が続きます
「図2-6 診断イメージ・キャプチャ」の説明

全体の構成

WLDFのコンポーネントが共同で動作してデータを収集し、実行中のサーバーのフォルトを診断します。

図2-7は、WLDFのすべての要素がどのように組み合わさっているかを示します。

図2-7 WebLogic診断フレームワークの全体図

図2-7の説明が続きます
「図2-7 WebLogic診断フレームワークの全体図」の説明