Oracle® Fusion Middleware Oracle WebLogic Server診断フレームワークの構成と使い方 11g リリース1 (10.3.4) B60994-02 |
|
![]() 前 |
診断およびモニターに関するドキュメントで扱う主な用語は以下のとおりです。
アーティファクト
WebLogic診断フレームワークで生成され、ディスクに保存された、物理的なエンティティまたはデータ。後で診断を解析するために使用できます。たとえば、サーバーで障害が発生したときに作成される診断イメージ・ファイルはアーティファクトです。この診断イメージ・アーティファクトは、サーバーの障害の原因を判断するための解析を行うサポート担当者に提供されます。WebLogic診断フレームワークでは、多様なアーティファクトが数多く作成されます。
コンテキスト作成
診断モニター機能が有効になっている場合、システムにリクエストが届いたときにWebLogic Serverによって診断コンテキストが作成され、初期化されて設定されます。WebLogic Serverでは、リクエストが届いたときにそのリクエストに診断コンテキストが付属しているかどうかが判断されます。付属している場合、リクエストはその所定のコンテキストと共に伝播されます。付属していない場合、新しいコンテキストが特定の名前(weblogic.management.DiagnosticContext)で作成されます。診断コンテキストのコンテキスト・データは、診断コンテキスト・ペイロードに格納されます。したがって、リクエストが実行中である間は必ず診断コンテキストがあることになります。
データ・ストア
表形式で表されたデータ(レコード)の集合。表の各レコードがデータを表します。表の列にはデータのいろいろな特性が記述されます。様々なデータ・ストアに多様な列があり得ますが、データ項目が収集された時間など、ほとんどのデータ・ストアで共有される列もあります。
WebLogic Serverでは、WebLogic診断フレームワークでキャプチャした情報は複数の論理データ・ストアに分類されて格納されます。論理データ・ストアは診断データのタイプ別に分かれています。たとえば、サーバー・ログ、HTTPログ、収集されたメトリックはそれぞれ別のデータ・ストアにキャプチャされます。
診断アクション
ポイントカットで定義されているジョインポイントに到達したときに実行される、ビジネス・ロジックまたは診断コード。診断アクションは特定のポイントカットに関連付けられます。診断アクションにはジョインポイントで実行するコードが指定されます。別の言い方で言うと、ポイントカットでは場所が宣言され、診断アクションではそのポイントカットが特定する場所で何が実行されるかが宣言されます。
診断アクションを使用すると、実行中のサーバーおよびアプリケーションの状態を認識できます。診断アクションによって、その場所(ポイントカット)で行われる診断アクティビティが指定されます。ポイントカットは、そのポイントカットが実装されているモニターで定義されます。診断モニターはアクションが定義されていて初めて実用に役立ちます。
診断アクションの機能によっては、指定された作業をするために特定の環境が必要なことがあります。そうした環境は必ず、その診断アクションが関連付けられているモニターで提供されます。したがって、診断アクションは対応するモニターとのみ使用できます。そのため、診断アクションはタイプ別に分類されていて、対応するモニターを判断できるようになっています。
有用な診断モニターを簡単に実装できるようにするため、WebLogic Server製品には適切な診断アクションのライブラリが用意されています。
診断コンテキスト
WebLogic診断フレームワークは、すべてのリクエストがシステムに届いたときにコンテキスト情報を付加します。このコンテキスト情報は診断コンテキストと呼ばれ、これを使用してトランザクション・イベントを再構築したり、発生の時期や論理的な関係に基づいてイベントを相互に関連付けたりできます。診断コンテキストを使用すると、リクエストからレスポンスまでの実行の流れを再構築したりつなぎ合わせたりできます。
診断コンテキストは、ロギング・サービスや診断モニターなどの様々な診断コンポーネントを使用して、生成されたデータ・イベントへのタグ付けをします。このタグを使用して、診断データの照合、フィルタ処理、WebLogic診断フレームワークやサード・パーティのツールで相互の関連付けができます。
また診断コンテキストでは、診断コンテキスト内のコンテキスト情報が一定の基準を満たしている場合にのみ、診断情報が生成されるようにもできます。この機能により、生成される情報量を管理可能なレベルに保つことで、そのような情報生成のオーバーヘッドを比較的低く抑えておけます。「コンテキスト作成」、「コンテキスト・ペイロード」、「リクエストの仕分け」も参照してください。
診断イメージ
サーバーのインスタンスから得られた主要な状態を格納するアーティファクト。重大な障害の診断目的でサーバー・レベルの状態ダンプとして利用するために作成されます。このアーティファクトを使用すると、サーバーの電源をいったん切って入れなおした後にも問題を診断して分析できます。
診断モジュール
WebLogic診断フレームワークに適用される構成設定の定義。この構成設定により、収集して処理するデータ、そのデータの分析方法とアーカイブ方法、発生させる通知と警告、および診断イメージ・キャプチャ・コンポーネントの操作パラメータが決まります。診断モジュールは定義(構成)されると、収集されるデータのある実行中のサーバーに配布できます。
診断モニター
1)プログラム内で診断コードが追加される場所と2)その場所で実行される診断アクションを定義するひとまとまりの診断コード。
WebLogic Serverには、有用な診断モニターのライブラリが用意されています。それらのモニターをサーバー・クラスやアプリケーション・クラスに統合できます。統合した後には、サーバー・クラスについてはサーバーの起動時、アプリケーション・クラスについてはアプリケーションのデプロイメントまたは再デプロイメント時に、モニターが有効になります。
診断通知
監視ルールの評価に合格した結果として発生するアクション。WebLogic診断フレームワークでは、Java Management Extensions (JMX)、Java Message Service (JMS)、Simple Mail Transfer Protocol (SMTP)、Simple Network Management Protocol (SNMP)、およびWLDFイメージ・キャプチャの種類の診断通知がサポートされています。「診断イメージ」も参照してください。
仕分けフィルタ
仕分けマスクを確認し、診断モニターでデータ・イベントを生成するためにアクションを実行すべきかどうかを決定するプロセス。仕分けフィルタは仕分けマスクに依存しています。仕分けフィルタ処理を行うには、仕分けマスクを定義する必要があります。「仕分けマスク」および「リクエストの仕分け」も参照してください。
仕分けマスク
データ・イベントを生成するかしないかを決定するために診断モニターの仕分けフィルタで使用する、あらかじめ定義された一連の条件を格納するエンティティ。「仕分けフィルタ」および「リクエストの仕分け」も参照してください。
収集可能エンティティ
ハーベスタを介してデータの消費に利用できる任意のエンティティ。エンティティが収集可能なリソースとして識別されると、ハーベスタでそのエンティティをデータ収集のプロセスに関与させられるようになります。
収集可能エンティティでは、次の情報へのアクセスが提供されます。収集可能な属性、収集可能な属性の値、収集可能な属性のメタデータ、および収集可能エンティティの名前。「収集可能データ」、「収集対象データ」、「ハーベスタ構成データ・セット」、「MBean型検出」も参照してください。
収集可能データ
収集可能データ(型、インスタンス、属性)とは、収集可能なエンティティが収集対象として構成された場合に収集される可能性のあるデータのセット。したがって、収集可能データのセットは、どのデータが収集されるように構成されているか、またどのデータ・サンプルが取得されるかという指定とは無関係に存在します。
WLDFHarvesterRuntimeMBeanは収集可能データのセットをユーザーに提供します。このMbeanによって提供された収集可能データの情報の記述に関しては、weblogic.management.runtimeの説明を参照してください。Oracle WebLogic Server MBeanリファレンスのWLDFHarvesterRuntimeMBeanに関する項を参照してください。
WebLogic診断フレームワークでは、ランタイムMBeanが単に収集可能になり得る状態として提供されます。MBeanを収集可能な状態にするには、そのMBeanがローカルのWebLogic ServerランタイムMBeanサーバーに登録されている必要があります。「収集可能エンティティ」、「収集対象データ」、「ハーベスタ構成データ・セット」、「MBean型検出」も参照してください。
収集対象データ
現在収集されている型、インスタンス、または属性。この定義の基準に合致するデータは、1)収集されるように構成されていて、2)これに該当する場合には必ず検出されていて、3)収集されている間に例外がスローされない必要があります。
「収集可能エンティティ」、「収集可能データ」、「ハーベスタ構成データ・セット」も参照してください。
ハーベスタ構成データ・セット
ハーベスタの構成に定義されているとおりに収集されるデータのセット。構成されるデータのセットには、収集可能でない項目や現在収集されていない項目も含められます。
「収集可能エンティティ」、「収集可能データ」、「ハーベスタ構成データ・セット」も参照してください。
ポイントカット
明確に定義されたジョインポイントのセット。通常、一般的な式で識別されます。ポイントカットにより、ジョインポイントが識別されます。ジョインポイントは、メソッド呼出しやメソッド実行サイトなどの実行フロー中の明確なポイントです。インストゥルメンテーション・コンポーネントのメカニズムを使用すると、このようなポイントカットで特定の診断コードを実行できます。そうした診断コードは、インストゥルメンテーション・コンポーネントによってサーバー・コードやアプリケーション・コードに追加されます。
MBean (管理対象Bean)
基底のリソースの管理インタフェースを提供するJavaオブジェクト。MBeanはJava Management Extensions (JMX)の一部です。
WebLogic診断フレームワークでは、MBeanクラスを使用してサービスを構成し、サービスの実行時状態をモニターします。MBeanは、WebLogic Serverの内部で稼働するMBeanサーバーに登録されます。MBeanは、標準MBeanとして実装されます。つまり、各クラスに独自のMBeanインタフェースが実装されます。
MBean型検出
WebLogic Serverエンティティについては、収集可能な型のセットはシステムの起動時に明らかですが、収集可能なインスタンスの完全なセットは不明です。一方、カスタム定義のMBeanについては、実行時にMBeanが増えると、型のセットも動的に増大します。新しいMBeanの登録に基づいて新しい型を検出するプロセスを、型検出と呼びます。MBean型検出は、カスタムMBeanにのみ適用されます。
MBean型のメタデータ
型(またはその型のインスタンス)において収集可能な属性のセットは、その型のメタデータで定義されます。WebLogic ServerモデルがMBeansであるので、MBeanInfosを通してメタデータを提供します。WebLogicタイプ情報がいつも利用可能であるので、また、WebLogic Serverタイプ(そして、存在と潜在的インスタンス)のための収集可能な属性のセットもいつも利用可能です。一方、カスタム定義の型では、その型が存在するかどうかによって収集可能な属性のセットが認識されるかどうかが決まります。型が存在するようになるのは、少なくとも1つのインスタンスが作成されたときからです。そのため、ユーザー定義の型の収集可能な属性のリストは、その型のインスタンスが少なくとも1つ登録されるまでは不明です。
カスタムMBeanの情報が利用可能になるまでのレイテンシについて留意しておくことは重要です。このレイテンシがあることにより、管理コンソールではハーベスタを構成するためにユーザーが選択したリストですべての収集可能データを一覧表示できません。WebLogic Serverエンティティの収集可能データのセットは常に完全なものですが、カスタム定義のエンティティの収集可能データのセットは(さらにはエンティティのセット自体も)不完全な場合があります。
メタデータ
WebLogic診断フレームワークで収集する情報を説明する情報です。このサービスでは様々なソースから診断情報を収集するため、どの診断情報が収集され利用できるのかをその情報を消費する側で認識する必要があります。このようなニーズを満たすために、このメタデータをプログラム的に取得する機能がデータ・アクセサに備わっています。データ・アクセサを使用して入手できるメタデータには次のようなものがあります。 1)サポートされているデータ・ストアのタイプ(たとえば、SERVER_LOG、HTTP_LOG、HARVESTED_DATA) 2)利用可能なデータ・ストアのリスト 3)各データ・ストアのレイアウト(つまり、データ・ストア内の列の情報)。
メトリック
システム処理のモニターや問題の診断は、実行中のシステムから取得したデータに基づいて行われます。メトリックは、システムのパフォーマンスの測定値です。サポート担当者は、こうした測定値からシステムが正常に動作しているのか問題が生じているのかを判断できます。
通常、メトリックは限定されたMBeanの属性としてWebLogic診断フレームワークに公開されます。WebLogic Serverにおけるメトリックには、オペレーティング・システム、仮想マシン、システム・ランタイム、およびサーバーで実行中のアプリケーションに関するパフォーマンス測定値があります。
リクエストの仕分け
リクエストが重要であることを示すために、そのリクエストを仕分け(特別にマーク)できます。たとえば、実行中のシステムで特別にマークされたテストリクエストを送信して、そのリクエストを追跡用のモニターで条件付きで追跡できるようにすることが望ましい場合があります。この仕分け機能を利用すると、特別に焦点を絞った診断情報を作成できます。それによって他のリクエストの処理が遅くなることもありません。
通常、リクエストはシステムに届いたときに診断コンテキストでフラグを設定することによりマークされます。診断コンテキストには多数のフラグが用意されています。これらは全部で64個で、個別に設定したりリセットしたりできます。
「コンテキスト作成」、「コンテキスト・ペイロード」、「診断コンテキスト」を参照してください。
システム・イメージ・キャプチャ
システム障害の際には、必ず障害が発生したときのシステム状態の確認が必要になります。そのため、障害の診断には障害発生時のシステム状態をキャプチャする手段が重要な意味を持ちます。その手段がシステム・イメージ・キャプチャです。システム・イメージ・キャプチャでは基本的に、重大な障害の診断を目的としてシステムから診断スナップショット(ダンプ)が作成されます。
WebLogic ServerではWebLogic診断フレームワークを構成することにより、その第一障害通知機能でサーバーが異常停止した際に自動的にシステム・イメージ・キャプチャをトリガーできます。また、監視を実装して重大な障害の発生時に自動的に診断イメージ・キャプチャをトリガーしたり、必要に応じて手動で診断イメージ・キャプチャを開始したりできます。