ヘッダーをスキップ
Oracle® Fusion Middlewareパフォーマンスおよびチューニング・ガイド
11g リリース1 (11.1.1)
B61006-10
  目次へ移動
目次

前
 
次
 

5 Oracle Dynamic Monitoring Serviceの理解

この章では、Oracle Dynamic Monitoring Service (DMS)の概要および使用できる機能を示します。

5.1 Dynamic Monitoring Service (DMS)について

Oracle Dynamic Monitoring Service (DMS)を使用すると、Oracle Fusion MiddlewareコンポーネントでOracle Enterprise Managerなどの管理ツールにコンポーネントのパフォーマンス、状態および進行中の動作に関するデータを提供できます。Fusion MiddlewareコンポーネントはDMSにデータをプッシュし、DMSは異なるコンポーネントの範囲でそのデータを公開します。特に、DMSは、Oracle WebCache、Oracle HTTP Server (OHS)、Oracle Application Development Framework (ADF)、WebLogic診断フレームワーク(WLDF)およびJDBCによって使用されます。DMSは、メトリック、トレース・イベントおよびシステム・パフォーマンスを測定および報告し、これらのコンポーネントのコンテキスト相関サービスを提供します。

5.1.1 共通のDMSの用語と概念の理解

この項では、次の内容に関連する共通のDMSの用語および概念を定義します。

5.1.1.1 DMSトレースおよびイベント

表5-1に、DMSトレースおよびイベントの用語のリストを示します。

表5-1 DMSトレースおよびイベントの用語

DMSの用語 定義

条件

条件は、条件フィルタのロジックです。条件で定義されたルールに基づいて、フィルタを通過するイベントを決定します。各条件フィルタにはゼロか1つのルート条件がありますが、ANDまたはOR引数を含めて複合条件を作成できます。単一のルート条件を使用して、比較的複雑なルールを示すことができます。

次の2つのタイプの条件が存在します。

  • ナウン・タイプ条件 - センサーまたはナウン・イベントに関連するナウン・タイプの名前を操作します。

  • コンテキスト条件 - 現在の実行コンテキスト内で現在設定されている値を操作します。

条件の使用の詳細は、第5.7項「DMSトレースおよびイベント」を参照してください。

宛先

宛先は、渡されるイベントに対応するメカニズムを実装します。たとえば、ファイルにイベントのログを記録できる宛先、JRockitフライト・レコーダにイベントの変換されたコピーを送信できる宛先、MBeanのデータとして着信イベントから収集された情報をレンダリングする宛先などがあります。

イベント・ルート

イベント・ルートは、フィルタを宛先に接続します。イベント・ルートを有効または無効にできます。特定のフィルタでアクティブにするイベント・トレースは、そのフィルタに1つ以上のイベント・ルートが存在して有効である必要があります。

フィルタ

イベント・トレース・フィルタは、すべての使用可能なDMSランタイム・イベントのサブセットを選択的に渡します。渡されるイベントとブロックされるイベントを決定するルールとともにフィルタを構成できます。

たとえば、次の目的でフィルタを定義できます。

  • 実行コンテキストにキー値のペア「role」-「admin」がある場合に行われるセンサー更新のみ渡します。

  • ナウン・タイプ「JDBC_Statement」からのセンサー更新のみ渡します。

フィルタの使用の詳細は、第5.7項「DMSトレースおよびイベント」を参照してください。

リスナー

DMSリスナーは、宛先とも呼ばれます。詳細は、第5.7.2項「宛先の構成」を参照してください。


5.1.1.2 DMSナウン

DMSナウンはパフォーマンス・データを編成します。センサーは、関連付けられたメトリックとともに、ナウンに従って階層に編成されます。ナウンを使用すると、ファイル・システムのディレクトリ構造と同様の方法で、DMSメトリックを編成できます。たとえば、ナウンは、クラス、メソッド、オブジェクト、キュー、接続、アプリケーション、データベース、その他の測定の対象を表すことができます。

ナウン・タイプは、収集対象となるメトリックのセットを表す名前です。

5.1.1.2.1 一般的なDMSネーミング

ナウン名は、デリミタを含まない単純な文字列です。たとえば、BasicBinomialはナウン名です。ナウンのフルネームは、ナウン名にネームスペースとローカルパートを付けて構成されます。ナウン名の前に、その親のフルネームとデリミタが付きます。/dmsDemo/BasicBinomial/"{http://mynamespace/}JAXWSHelloService"はナウンのフルネームです。

センサー名は、「.」や派生を含まない単純な文字列です。たとえば、computeSeriesloopsおよびlastComputedはセンサー名です。

センサーのフルネームは、そのセンサーが関連付けられたナウンの名前、デリミタ、センサー名で構成されます。たとえば、/dmsDemo/BasicBinomial/computeSeries/dmsDemo/BasicBinomial/loops/dmsDemo/BasicBinomial/lastComputedなどです。

DMSメトリック名は、センサー名、「.」、メトリックで構成されます。たとえば、computeSeries.timeloops.countおよびlastComputed.valueは有効なDMSメトリック名です。


注意:

接尾辞.time、.countおよび.valueは変更できません。ただし、センサー名およびナウン名は必要に応じて変更可能です。


5.1.1.2.2 一般的なDMS命名規則と文字セット

DMSの名前はできるだけ簡潔にしてください。また、ナウンやセンサーの名前を定義する場合は、特殊文字(空白、スラッシュ、ピリオド、カッコ、カンマ、制御文字など)を使用しないでください。

表5-2に、DMSの名前の中で特殊文字のかわりに使用する代替文字を示します。

表5-2 DMSの名前の中で特殊文字のかわりに使用する代替文字

文字 DMSの代替文字

空白文字

アンダースコア: _

ピリオド: .

アンダースコア: _

制御文字

アンダースコア: _

より小さい: <

開きカッコ: (

より大きい: >

閉じカッコ: )

アンパサンド: &

カレット: ^

二重引用符: "

バッククォート: '

一重引用符: '

バッククォート: '



注意:

Oracle Fusion Middlewareには、組込みメトリックがいくつか用意されています。Oracle Fusion Middlewareの組込みメトリックが、このDMS命名規則に常に従っているとはかぎりません。


5.1.1.2.3 ナウンおよびナウン・タイプの命名規則

ナウンおよびナウン・タイプのネーミングに次の規則が使用されます。

  • ナウン名は一意である必要があります。

  • ナウンには、特定のエンティティを識別する名前を付けてください。

  • ナウン・タイプには、収集対象となるメトリックのセットを明確に表す名前を使用する必要があります。たとえば、Servletというナウン・タイプは、そのナウンで特定のサーブレットに固有のメトリックを収集することを示します。

  • ナウン・タイプ名は、他のDMSの名前と区別するために大文字で始めてください。同じタイプのナウンはすべて、同じセンサーのセットを持ちます。

  • ナウンのネーミング方式では階層のルートに「/」を使用し、各ナウンがルート、または親ナウンの下にあるコンテナとして機能します。

5.1.1.3 DMSセンサー

DMS センサーは、パフォーマンス・データを測定します。このセンサーによって、メトリックのセットの定義および収集が可能になります。メトリックには、センサーに常に含まれるものとオプションとして含まれるものがあります。

DMSには3種類のSensorがあります。

5.1.1.3.1 DMS PhaseEventセンサー

DMS PhaseEventセンサーは、コード内の特定セクションの開始から終了までにかかる時間を測定します。あるメソッドまたはコード・ブロックの処理にかかる時間を追跡する場合は、PhaseEventセンサーを使用します。

DMSでは、PhaseEventセンサーの処理にかかる平均時間、最大時間、最小時間など、PhaseEventに関連するオプションのメトリックを計算できます。

表5-3に、PhaseEventセンサーで使用可能なメトリックを示します。

表5-3 DMS PhaseEventセンサーのメトリック

メトリック 説明

sensor_name.time

フェーズsensor_nameの処理にかかった合計時間を示します。

デフォルトのメトリック: timeは、PhaseEventセンサーのデフォルトのメトリックです。

sensor_name.completed

プロセスの開始以降にフェーズsensor_nameが完了した回数を示します。

オプションのメトリック

sensor_name.minTime

sensor_nameフェーズが完了するのにかかったすべての時間の中で、sensor_nameフェーズで要した最短の時間を示します。

オプションのメトリック

sensor_name.maxTime

sensor_nameフェーズが完了するのにかかったすべての時間の中で、sensor_nameフェーズで要した最長の時間を示します。

オプションのメトリック

sensor_name.avg

フェーズsensor_nameの平均処理時間を、(合計時間)/(フェーズが完了した回数)として計算します。

オプションのメトリック

sensor_name.active

DMS統計の収集時にフェーズsensor_nameにあったスレッドの数を示します(この値は時間の経過とともに変化します)。

オプションのメトリック

sensor_name.maxActive

プロセスの開始以降に、フェーズsensor_nameにあった同時スレッドの最大数を示します。

オプションのメトリック


5.1.1.3.2 DMSイベント・センサー

DMSイベント・センサーは、システム・イベントをカウントします。継続時間の短いシステム・イベントを追跡する場合や、イベントの継続時間よりもイベントの発生が重要な場合は、DMSイベント・センサーを使用します。

表5-4に、イベント・センサー関連のメトリックを示します。

表5-4 DMSイベント・センサーのメトリック

メトリック 説明

sensor_name.count

プロセスの開始以降にイベントが発生した回数を示します。sensor_nameは、DMSインストゥルメンテーションAPIで指定されているEventセンサーの名前です。

デフォルト: countは、イベント・センサーのデフォルトのメトリックです。イベント・センサーでは、これ以外のメトリックは使用できません。


5.1.1.3.3 DMS状態センサー

DMS 状態センサーは、Javaプリミティブの値またはJavaオブジェクトのコンテンツを追跡します。サポートされている型は、integer、double、longおよびobjectです。システムのステータス情報を追跡する場合や、イベントに関係のないメトリックが必要な場合は、状態センサーを使用します。たとえば、状態センサーを使用して、キューの長さ、プール・サイズ、バッファ・サイズまたはホスト名を追跡します。状態センサーには、事前に計算された値を割り当てます。

表5-5に、状態センサーのメトリックを示します。状態センサーは、デフォルトのメトリックvalueおよびオプションのメトリックをサポートします。オプションのminValueメトリックおよびmaxValueメトリックは、状態センサーが(integer型、double型、long型などの)数値のJavaプリミティブを表す場合にのみ適用されます。

表5-5 DMS状態センサーのメトリック

メトリック 説明

sensor_name.value

sensor_nameの作成時に割り当てられた型を使用して、sensor_nameのメトリック値を示します。

デフォルト: valueは、Stateのデフォルトのメトリックです。

sensor_name.count

sensor_nameが更新された回数を示します。

オプションのメトリック

sensor_name.minValue

起動後のsensor_nameの最小値を示します。

オプションのメトリック

sensor_name.maxValue

起動後のこのsensor_nameの最大値を示します。

オプションのメトリック


5.1.1.3.4 センサーの命名規則

次のリストは、DMSセンサーの命名規則を示しています。

  • センサー名は、簡潔で説明的なものにしてください。冗長になるのを避けるため、センサー名には、ナウン名の一部やナウン・タイプを含めないようにします。

  • Sensor名には、個々のメトリックの値を含めないでください。

  • センサーを説明するために複数の単語を組み合せる必要がある場合は、最初の単語は小文字で、以降の単語は大文字で始めます。たとえば、computeSeriesのようになります。

  • 一般に、センサー名に「/」を使用することは避けてください。ただし、「/」を含む名前を使用することに意味がある場合もあります。ナウン名またはセンサー名に「/」を使用した場合は、そのセンサーをDMSメソッドの文字列で使用する際に、かわりのデリミタとして、パスにまったく存在しない「,」や「_」などを使用する必要があります。そうすることで、「/」はデリミタではなく、ナウン名またはセンサー名の一部であることが正しく認識されるようになります。

    たとえば、次のような名前の子ナウンがあるとします。

    examples/jsp/num/numguess.jsp
    

    これは、次のような文字列を使用して検索できます。

    ,default,WEBs,defaultWebApp,JSPs,example/jsp/num/numguess.jsp,service
    

    この場合のデリミタは「,」です。

  • EventセンサーおよびPhaseEventセンサーの名前は、英単語を動詞+名詞という形式で組み合せて定義します。たとえば、activateInstancerunMethodのようになります。PhaseEventによって関数、メソッドまたはコード・ブロックを監視する場合は、実行されるタスクをできるだけ明確に反映した名前を使用します。

  • 状態センサーの名前には名詞を使用します。場合によっては、この状態センサーで追跡する値の内容を説明する形容詞が前に付きます。たとえば、lastComputedtotalMemoryportavailableThreads、activeInstancesのようになります。

  • 混乱を避けるため、.time、.value、.avgなどの文字列をセンサー名に使用しないでください。表5-3表5-4および表5-5に示したとおり、これらはセンサー・メトリックの名前であるためです。

5.2 DMSの可用性の理解

DMS機能をすべての認証されたJava EEサーバーで使用できます。これには、実行時機能およびサポートしているコマンドの両方が含まれます。また、DMSのいくつかの機能がJSEアプリケーションおよびスタンドアロンCアプリケーションで動作します。

詳細は、http://www.oracle.com/technology/software/products/ias/files/fusion_certification.htmlのOracle Fusion Middlewareの動作保証マトリックスを参照してください。

5.3 DMSのアーキテクチャの理解

DMSは、次の機能で構成されます。

図5-1は、DMSのコンポーネントおよび他のOracle Fusion Middlewareコンポーネントとの対話方法を示しています。矢印は、コンポーネント間の情報フローの方向を示しています。

図5-1 Oracle Fusion MiddlewareコンポーネントとDMSの相互作用

図5-1の説明が続きます
「図5-1 Oracle Fusion MiddlewareコンポーネントとDMSの相互作用」の説明

5.4 DMSメトリックの表示

開発者、システム管理者およびサポート・アナリストがシステム・パフォーマンスの分析やシステム・ステータスの監視を実行できる情報を収集するため、Oracle Fusion Middlewareコンポーネントは、DMSメトリックでインストゥルメンテーションを行います。Fusion Middleware Controlオンライン・ヘルプは、特定のメトリックごとの情報を示します。メトリック情報へのアクセスの詳細は、第4.2項「Oracle Enterprise Manager Fusion Middleware Control」を参照してください。

Oracle Fusion Middlewareメトリックは、様々なソースおよび場所から発生します。これには、MBean属性およびDMSメトリックが含まれます。また、Oracle HTTP ServerおよびOracle WebCacheなどの非Java EEサーバーからも発生します。

次の各項では、DMSメトリックを表示する様々なツールの使用方法について説明します。

5.4.1 スパイ・サーブレットを使用したメトリックの表示

スパイ・サーブレットは、JRF拡張インストールでデフォルトでデプロイされるDMSアプリケーションの一部です。http://<host>:<port>/dms/Spyからスパイ・サーブレットが起動します。WebLogicのデフォルト・ポートは7001です。

DMSアプリケーションのWebアーカイブ・ファイルはdms.warで、dms.jar: oracle_common/modules/oracle.dms_11.1.1/dms.warと同じディレクトリにあります。

詳細は、第4.6項「DMSスパイ・サーブレット」を参照してください。


注意:

スパイ・サーブレットはWebアプリケーションのweb.xmlファイルの標準のJava EEの宣言型セキュリティで保護され、管理者グループのメンバーだけにスパイ・サーブレットのアクセス権限を付与します。


5.4.2 WLDF (WebLogic診断フレームワーク)を使用したメトリックの表示

WebLogic診断フレームワーク(WLDF)を使用して、DMSメトリックMBeanからDMSメトリックを収集できます。WLDFを使用して、MBeanの属性値の変更も監視できます。詳細は、『Oracle Fusion Middleware Oracle WebLogic Server診断フレームワークの構成と使用』のメトリック・コレクションのハーベスタの構成に関する項を参照してください。

5.4.3 WLST (Oracle WebLogic Server)を使用したメトリックの表示

DMSには、WLSTでメトリックを表示する次の3つのコマンドがあります。

使用するコマンド 操作

displayMetricTableNames

使用できるメトリック表の名前を示します。

displayMetricTables

DMSメトリック表の内容を示します。

dumpMetrics

内部形式でメトリックを表示します。dumpMetricsコマンドの有効な形式には、RAW、XMLおよびPDMLがあります。


これらのコマンドは、テキスト出力を表示して、スクリプトの処理に使用できる構造化オブジェクトまたは単一の値も戻します。

5.4.4 JConsoleを使用したメトリックの表示

メトリックにアクセスする標準ベースの手段を提供するため、DMSはMBeanを通じてメトリックを公開します。ランタイムMBeanサーバーで入力された各ナウンにMBeanが作成および登録されます。ナウンに含まれるDMSセンサーがMBeanの属性として公開されます。MBeanとしてDMSメトリックを公開すると、管理者はJConsole (Java監視および管理コンソール)などのツールを使用でき、他のJava Management Extension (JMX)クライアントはDMSメトリックにアクセスできます。

第5.5項に示すとおり、MBeanはWLDF (WebLogic診断フレームワーク)などの他のOracle診断ソフトウェアと統合することもできます。ナウン名およびナウン・タイプは、メトリックMBeanオブジェクト名の名前およびタイプ・プロパティとして公開されます。MBeanドメイン名はoracle.dmsです。オブジェクト名はDMSナウン階層も反映します。


注意:

JConsoleを使用すると、DMSで生成されたMBeanをJava EEサーバーでローカルまたはリモートに表示できます。DMSは、有効なナウン・タイプを持つ各Java DMSナウンのMBeanを生成します。非Java EEコンポーネントのメトリックおよびナウン・タイプを持たないDMSナウンのMBeanは生成しません。ナウンに含まれる各DMSメトリックがメトリックMBeanの属性にマップされます。


5.4.5 Oracle Enterprise Managerを使用したメトリックの表示

Oracle Fusion Middlewareは、コンポーネントのパフォーマンス、状態および進行中の動作に関するデータを自動的および継続的に測定します。メトリックが自動的に有効になるので、オプションの設定やメトリックを収集する余分な構成の実行は必要ありません。詳細は、第4.2項「Oracle Enterprise Manager Fusion Middleware Control」を参照してください。

5.4.6 WSADMIN (IBM WebSphere)を使用したメトリックの表示

次の内容を表示するため、IBMWebSphereで次のコマンドを使用できます。

使用するコマンド 操作

OracleDMS.displayMetricTableNames()

使用できるメトリック表の名前を示します。

OracleDMS.displayMetricTables()

DMSメトリック表の内容を示します。

OracleDMS.dumpMetrics()

内部形式でメトリックを表示します。有効な形式には、RAW、XMLおよびPDMLがあります。


IBM WebSphereの使用の詳細は、Oracle Fusion Middlewareサードパーティ・アプリケーション・サーバー・ガイドのIBM WebSphereのOracle Fusion Middlewareの管理に関する項を参照してください。

5.5 WLDFを使用したDMSメトリックのアクセス

WebLogic診断フレームワーク(WLDF)には、特定の条件でMBean属性を収集および監視できる診断機能が用意されています。これにより、条件がトリガーされた場合に環境のアクティビティの監視と電子メールおよびJMX通知の作成を事前に行う手段が提供されます。

次の手順は、WLDFを構成してWebLogic管理コンソールで電子メール通知を送信する方法を示しています。

  1. 「診断」画面から既存の診断モジュールを選択するか、新しい診断モジュールを作成します。

  2. 「監視と通知」タブをクリックします。

  3. 「新規」をクリックします。

  4. 監視名を入力して、「次へ」をクリックします。

  5. 監視ルールのテキストを入力して、「次へ」をクリックします。

    (${ServerRuntime//[NOUNTYPE]oracle.dms:name=/starWars/alliance,type=NounType//forceBalance_value} = 'BAD')
    
  6. 「手動リセットのアラームを使用する」を選択して、「次へ」をクリックします。手動リセット・オプションは、電子メールがトリガーされた後にWebLogic管理コンソールを使用して監視をリセットする必要があることを意味します。

  7. 電子メール通知タイプを選択して、「終了」をクリックします。

また、WLDFを構成して、オフラインの格納および分析のためにMBeanデータを収集できます。特定のMBean属性を収集するためにWLDF診断モジュールを構成してこれを実施し、WebLogic管理コンソールを使用して実行できます。

WLDFを使用したMBeanデータの収集および監視の詳細は、『Oracle Fusion Middleware Oracle WebLogic Server診断フレームワークの構成と使用』を参照してください。

5.6 DMS実行コンテキスト

DMS実行コンテキストは、リクエスト(HTTPまたはRMIリクエストなど)を一意に識別してシステム内での動向を追跡できるメカニズムです。リクエストの遂行に含まれる連携しているFusion Middlewareコンポーネントの間でコンテキスト情報を通信できる手段も提供します。

5.6.1 DMS実行リクエストおよびサブタスク

リクエストまたはルート・タスクを完了するために調整されるサブタスクのツリーのルートが単一のリクエスト(またはタスク)で構成できることを考慮して、DMS実行コンテキストが開発されています。リクエストおよび関連するサブタスクの次の例を検討してください。

  1. ブラウザから直接Oracle WebLogic Serverに送信されるHTTPリクエスト

    • Oracle WebLogic Serverのルート・タスクのみ

  2. リバース・プロキシとして動作するOracle HTTP ServerからOracle WebLogic Serverに送信されるHTTPリクエスト

    • Oracle HTTP Serverのルート・タスク

    • Oracle WebLogic Serverの単一のサブタスク

  3. リバース・プロキシとして動作するOracle HTTP ServerからOracle WebLogic Serverに送信され、リクエストを遂行するためにOracle WebLogic Serverから2つのリモートWebサービスの呼出しが必要になるHTTPリクエスト

    • Oracle HTTP Serverのルート・タスク

    • Oracle WebLogic Serverの単一のサブタスク

    • Webサービスごとの合計2つのサブタスク

DMS実行コンテキストは、次の内容で構成されます。

  • 一意の識別子のECID

    実行コンテキストID (ECID)は新しいルート・タスクごとに一意で、ルート・タスクに関連するタスクのツリーで共有されます。

  • リレーションシップ識別子のRID

    リレーションシップID (RID)は、タスクのツリーで各タスクの場所を示す順序付けされた数値の集合です。先頭の数値は通常ゼロです。先頭の数値の1は、全体のサブタスク・ツリー内でサブタスクの場所を追跡できないことを示します。

  • グローバル関連データをOracle Fusion Middlewareコンポーネントで共有できる名前/値ペアのセット

次の3つのシナリオは、HTTPリクエストがリバース・プロキシとして動作するOracle HTTP ServerからOracle WebLogic Serverに送信され、Oracle WebLogic Serverから2つのリモートWebサービスの呼出しが必要になる場合のECIDおよびRIDの使用方法を示しています。

  1. Oracle HTTP Serverのルート・タスク

    • 新しいECID = B5C094FA...BE4AE8

    • ルートRID = 0

  2. Oracle WebLogic Serverの単一のサブタスク

    • 同じECID = B5C094FA...BE4AE8

    • サブタスクRID = 0:1

  3. Webサービスごとの合計2つのサブタスク

    • 起動される最初のWebサービス

      同じECID = B5C094FA...BE4AE8

      サブタスクRID = 0:1:1

    • 起動される2番目のWebサービス

      同じECID = B5C094FA...BE4AE8

      サブタスクRID = 0:1:2

5.6.2 DMS実行コンテキストの使用

サーバー間のログ・メッセージを関連付けると、DMS実行コンテキストの最も直接的な利点がわかります。ロギングのOracle標準形式には、ECID専用フィールドが含まれます。エラー・レベルのログ・メッセージからの読込みなどでECIDを確認した後、そのECIDを含むメッセージのログ・ファイルを問い合せて、タスクに関連する他のすべてのログ・メッセージを検索できます。

コマンドを使用する非常に特殊なケースの例を次に示します。

displayLogs(ecid="B5C094FA...BE4AE8");

この例では、ECID B5C094FA...BE4AE8を含むメッセージのログ・ファイルが表示されます。

5.6.3 DMS実行コンテキストの通信

図5-2は、DMS実行コンテキストを相互に通信するために連携するコンポーネントを示しています。コンポーネントを参照する矢印は、受信コンテキスト情報を検証するプロトコルを示します。外側の矢印は、コンテキスト情報が追加されるプロトコルを示します。単一のコンポーネントが自身にリクエストを送信し、そのリクエストにコンテキスト情報を渡すことできます。

図5-2 DMS実行コンテキストの通信プロトコル

図5-2の説明が続きます
「図5-2 DMS実行コンテキストの通信プロトコル」の説明

5.7 DMSトレースおよびイベント

Oracle Fusion Middleware 11gリリース1 (11.1.1.3.0)以降、DMSは次のイベントを選択的にトレースできます。

これらのタイプのイベントのトレースおよび処理方法を制御する構成がdms_config.xmlファイルに記録されます。DMSトレース構成は、次の3つに分類されます。

  1. フィルタ構成

    特定のイベントを選択するルールを定義します。

  2. 宛先構成

    イベントの使用方法を定義します。

  3. イベント・ルート構成

    使用するフィルタおよび接続する宛先を定義します。

フィルタを1つ以上の宛先に関連付けることができるので、管理者は一度フィルタ・ルールを定義して1つ以上の異なる宛先で処理されるすべての使用可能なイベントの結果サブセットを利用できます。

実行時にDMS構成MBeanまたはWLSTコマンドを使用して、構成を変更できます。このため、特定の期間に発生する問題の診断や特定の基準セットを使用した特定の時間の特定のデータの収集にDMSトレース機能が非常に役立ちます。

詳細は、『Oracle Fusion Middleware管理者ガイド』のWLSTを使用した選択的トレースの構成に関する項を参照してください。

次のタイプのフィルタ・ルールがサポートされます。

5.7.1 DMSイベント・システムの構成

構成は、各サーバーのdms_config.xmlファイルに記録されます。コマンドライン・インタフェース(CLI)コマンドおよびイベント構成Mbeanを使用して、実行時にMBeanを更新できます。スレッド・セーフの非アトミックの方法で構成の更新が実行中のシステムに適用されます。

DMSイベント構成MBeanのオブジェクト名は、oracle.dms.event.config:name=DMSEventConfigMBean,type=JMXEventConfigです。

システムのDMSイベント構成の現在の状態を確認するには、次のコマンドを使用します。

listDMSEventConfiguration([server=<server>])

出力結果は次のようになります。

Event routes:
        FILTER      :  auto662515911
        DESTINATION :  destination1
        ENABLED     :  true
        FILTER      :  filter0
        DESTINATION :  q
        ENABLED     :  true
Filters with no event route:
  Fred
 
Destinations with no event route:
  des4
 

5.7.1.1 フィルタの追加および編集

フィルタは、トレースに検討するイベントを選択するルールを定義します。

次の例は、JDBC操作に関連するすべてのイベントを選択するフィルタの追加方法を示しています。

addDMSEventFilter(id='myJDBCFilter', props={'condition': 'NOUNTYPE sw JDBC_'})

または

addDMSEventFilter(id='myJDBCFilter', props={'condition': 'NOUNTYPE startsWith JDBC_'})

このフィルタは、JDBC操作に関連するすべてのDMSセンサーの更新が名前が「JDBC_」で始まるタイプのナウンに実行されると仮定します。

ルールを変更する必要がある場合、次の例のようにフィルタを更新できます。

updateDMSEventFilter(id="myJDBCFilter", props={'condition': 'NOUNTYPE startsWith JDBC_ OR NOUNTYPE startsWith MDS_'});

Oracle Fusion Middleware 11.1.1.6.0から、次の短縮された便利な演算子が追加されています。演算子は、短縮名または詳細名のいずれかを使用して指定できます。

アンダースコアが付いている演算子は非推奨になっているため、大文字と小文字の両方を使用するODL形式をお薦めします。たとえば、not_equalsnotEqualsまたはneになります。古い形式でも機能しますが、非推奨です。

ナウン・タイプ演算子

equals、eq

notEquals、ne

contains

in

startsWith、sw



コンテキスト演算子

equals、eq

notequals、ne

isnull

isnotnull

startswith、sw

contains

lt

gt


例:

addDMSEventFilter(id='mdsbruce', name='MyFilter', props={'condition':
'NOUNTYPE eq MDS_Connections AND CONTEXT user ne bruce'})
 
addDMSEventFilter(id='mdsbruce', name='MyFilter', props={'condition':
'NOUNTYPE equals MDS_Connections AND CONTEXT user notequals bruce'}) 

フィルタのルール(条件プロパティ)を示すために使用される構文の詳細は、WebLogic Scripting Toolコマンド・リファレンスまたはコマンド・ヘルプを参照してください。

5.7.1.2 宛先の追加および編集

宛先は、イベントに対応するロジックをカプセル化します。たとえば、基本の宛先でイベントのログを記録し、異なる宛先でイベントを変換して別のシステムに渡して追加処理を実行できます。

次の例は、イベントのログを記録する宛先の追加方法を示しています。

addDMSEventDestination(id="myLoggerDestination", class="oracle.dms.trace2.runtime.LoggerDestination", props={"loggerName":"myLogger"});

宛先の追加だけではイベントのログを記録できないので、イベント・ルートを使用してフィルタと宛先を関連付け、イベント・ルートを有効(デフォルト)にする必要があります。

使用できる宛先のタイプおよび構成オプションを第5.7.2項に示します。次の例は、既存の宛先の編集方法を示しています。

updateDMSEventDestination(id="myLoggerDestination", props={"loggerName":"myTraceLogger"});

5.7.1.3 イベント・ルートの追加および編集

次の例は、上記で作成されたフィルタおよび宛先の結合方法を示しています。

addDMSEventRoute(filterid='myJDBCFilter', destinationid='myLoggerDestination') 

明示的なフィルタIDを使用しないでaddDMSEventRouteを起動できます。これらのシナリオでは、すべてのイベントがフィルタなしで宛先に渡されます。

フィルタまたは宛先を削除するには、フィルタまたは宛先に関連するイベント・ルートを無効になっていても最初に削除する必要があります。たとえば、myJDBCFilterを削除する場合、次の例に示すように、前の例で作成したイベント・ルートを最初に削除してからフィルタを削除する必要があります。

removeDMSEventRoute(filterid='myJDBCFilter', destinationid='myLoggerDestination') 
removeDMSEventFilter(id='myJDBCFilter')

5.7.1.4 複合操作

第5.7.1.3項のように2つの個別のコマンドではなく単一のコマンドを使用して、フィルタおよびそのフィルタに基づくイベント・ルートを作成できます。ただし、イベント・ルートで使用される宛先が事前に定義されている必要があります。

enableDMSEventTrace (destinationid='myLoggerDestination', condition='NOUNTYPE starts_with JDBC_')

前述の例で、enableDMSEventTraceは、指定された条件でフィルタを自動的に作成し、新しいフィルタおよび指定された宛先を使用してイベント・ルートを作成および有効化できます。次に、出力例を示します。

Filter "auto605449842" using Destination "myLoggerDestination" added, and event-route enabled for server "AdminServer"

5.7.2 宛先の構成

DMSは、次のタイプの宛先を提供します。

5.7.2.1 LoggerDestination

説明

LoggerDestinationは、各イベントを関連するロガーに書き込みます。

実装クラス

oracle.dms.trace2.runtime.LoggerDestination

プロパティ


loggerName

イベントが書き込まれるODLロガーの名前。


ロガー宛先のインスタンスは、イベントをFINERログ・レベルの名前が付いたロガーに書き込みます。

loggerNameプロパティにロガーの名前を指定しますが、必ずしもロガーをlogging.xmlに示す必要はありません。ロガー名がlogging.xmlで明示的に名前が付けられているロガーを示す場合、そのロガーは静的ロガーと呼ばれます(第5.7.2.1.1項を参照してください)。ロガー名がlogging.xmlで明示的に名前が付けられていないロガーを示す場合、そのロガーは動的ロガーと呼ばれます(第5.7.2.1.2項を参照してください)。

デフォルト構成の使用: デフォルト構成は、LoggerDestinationを確認してロガー宛先を定義します。この特定のインスタンスはイベント・ルートの一部を構成しないので、アクティブではありません。便宜上提供され、動的ロガーを使用します。

5.7.2.1.1 静的ロガーおよびハンドラ

ロガーは、ログの記録が示されるオブジェクトです。ログ・ハンドラは、ログの記録がログ・ファイルに書き込まれるオブジェクトです。

DMSトレース・データが書き込まれるログ・ファイルを完全に制御するには、logging.xmlのロガー宛先の名前のロガーを定義します。これを実行すると、ログ・ファイルの名前、最大サイズ、形式、ファイル・ローテーションおよびポリシーを明示的に定義できます。

次の例のようなコマンドを使用して構成を更新することをお薦めします。

setLogLevel(logger="myTraceLogger", level="FINER", addLogger=1);
 
configureLogHandler(name="my-trace-handler", addToLogger=["myTraceLogger"], path="/tmp/myTraceLogFiles/trace", maxFileSize="10m", maxLogSize="50m", handlerType="oracle.core.ojdl.logging.ODLHandlerFactory", addHandler=1, useParentHandlers=0);
 
configureLogHandler(name="my-trace-handler", propertyName="useSourceClassandMethod", propertyValue="false", addProperty=1);

ロギング構成の詳細は、『Oracle Fusion Middleware管理者ガイド』の「ログ・ファイルおよび診断データの管理」を参照してください。

オプションのプロパティuseSourceClassandMethodを使用してFALSEに設定すると、「SRC_CLASS」および「SRC_METHOD」が各メッセージに表示されなくなり、ファイルの出力時間が短縮されてパフォーマンスがわずかに改善します。

静的ロガーの場合、useParentHandlersパラメータをFALSEに設定することを検討してください。そうしない場合、重複したイベント・メッセージが[server]-diagnostics.logにログとして記録され、ログの問合せに表示されます。

ロガーの出力の解釈の詳細は、第5.7.3項「DMSイベント出力の理解」を参照してください。

5.7.2.1.2 動的ロガーおよびハンドラ

名前が付いたロガーにlogging.xmlに定義されたハンドラが関連付けられていない場合、サーバーのデフォルトのログ出力ディレクトリにあるファイルに書き込むハンドラ・オブジェクトがロガー宛先によって動的に作成されます。(ロガー宛先のインスタンスは、イベントをFINERログ・レベルの名前が付いたロガーに書き込みます。)ファイル名は、ロガー名の後に「-event.log」が付きます。たとえば、第5.7.2.1.1項の例では、DMSイベントは「myTraceLogger-event.log」に書き込まれます。

5.7.2.1.3 logging.xmlファイルのデフォルトの場所

logging.xmlファイルは、一般的に次のプラットフォームの場所のいずれかにあります。

プラットフォーム サーバー 場所

Oracle WebLogic Server

AdminServer

ORACLE_HOME/Middleware/user_projects/domains/base_domain/config/fmwconfig/servers/AdminServer/logging.xml

WAS ND

OracleAdminServer

ORACLE_HOME/Middleware/was_profiles/DefaultTopology/DefaultServer/config/cells/DefaultCell/nodes/<nodename>/servers/OracleAdminServer/fmwconfig/logging.xml


5.7.2.1.4 CLIコマンドを使用したトレース・ログ・ファイルの問合せ

ロガー宛先のロガーおよびハンドラがlogging.xmlに定義されている場合、displayLogs()コマンドを利用して、手動で特定または検索することなくログに記録されたトレース・データに適切にアクセスできます。

例:

  • myTraceLoggerのすべてのログ・メッセージを表示するには、次のコマンドを実行します。

    displayLogs(query='MODULE equals myTraceLogger')
    
  • ECIDが「0000HpmSpLWEkJQ6ub3FEH194kwB000004」のmyTraceLoggerのログ・メッセージのみを表示するには、次のコマンドを実行します。

    displayLogs(query='MODULE equals myTraceLogger and ECID equals 0000HpmSpLWEkJQ6ub3FEH194kwB000004')
    
  • 最後の10分のECIDが「0000HpmSpLWEkJQ6ub3FEH194kwB000004」のmyTraceLoggerのログ・メッセージのみを表示するには、次のコマンドを実行します。

    displayLogs(query='MODULE equals myTraceLogger and ECID equals 0000HpmSpLWEkJQ6ub3FEH194kwB000004', last=10)
    
  • 動的ロガーのすべてのログ・メッセージを表示するには、ログのファイル名を含める必要があります。

    displayLogs(disconnected=1, log=DOMAIN_ROOT+"/servers/AdminServer/logs/myTraceLogger-event.log")
    

5.7.2.2 MBean Creatorの宛先

説明

MBean Creatorの宛先を使用すると、WLDF、JConsoleなどを使用したアクセスのためにナウンがMBeanとしてアクセス可能になり、属性としてそのメトリックを公開します。

実装クラス

oracle.dms.jmx.MetricMBeanFactory


デフォルト構成の使用: MBean Creatorの宛先のインスタンスが構成されてデフォルトでアクティブになり、サーバーに作成されたすべてのナウンのMBeanが作成されます。

この宛先タイプのインスタンスをナウン・タイプのルールに基づくフィルタに関連付けると、管理者が指定するナウン・タイプのみをMBeanとして公開できます。

実行時にMBean Creatorの宛先に関連付けられた構成を変更できますが、このタイプの宛先の再初期化プロセスがパフォーマンスに影響する可能性があることを理解する必要があります。そのため、頻繁な実行時の再構成は推奨されていません。

WebLogic診断フレームワーク(WLDF)を使用すると、MBean Creator宛先で公開されるDMSメトリックを収集できます。WLDFの詳細は、『Oracle Fusion Middleware Oracle WebLogic Server診断フレームワークの構成と使用』を参照してください。

5.7.2.2.1 メトリックMBeanのオブジェクト名

ナウン名およびナウン・タイプは、メトリックMBeanオブジェクト名の名前およびタイプ・プロパティとして公開されます。MBeanドメイン名はoracle.dmsです。オブジェクト名はDMSナウン階層も反映します。

たとえば、ナウンのフルパス名は次のとおりです。

/oracle/dfw/ofm/base_domain/AdminServer

ナウン・タイプはDFW_Incidentで、ナウンを表すMBeanのオブジェクト名は次のとおりです。

oracle.dms:Location=AdminServer,name=/oracle/dfw/ofm/base_domain/AdminServer,type=DFW_Incident

5.7.2.3 HTTPリクエスト・トラッカの宛先

説明

HTTPリクエスト・トラッカの宛先は、アクティブなHTTPリクエストのリストを保持し、リクエストを他の診断フレームワーク(DFW)コンポーネントでアクセス可能にします。

実装クラス

oracle.dms.event.HTTPRequestTrackerDestination

プロパティ


excludeHeaderNames

追跡から除外されるヘッダー名のカンマ区切りのリスト


デフォルト構成の使用: HTTPリクエスト・トラッカ宛先のインスタンスはデフォルトで有効です。生成されるDFWインシデントの場合、アクティブなHTTPリクエストのリストが自動的にダンプされるので、管理者は障害と特定のリクエストを相互に関連付けることができます。

HTTPリクエストごとに次の情報がダンプされます。

  • URI(/webcenter/homeなど)

  • リクエストの開始時間

  • ECID

  • 問合せ文字列

  • HTTPヘッダー

HTTPリクエスト・トラッカが有効ではない場合、HTTPリクエスト・ダンプが次の内容を出力します。

HTTP Requests are not being tracked. To enable HTTP request tracking enable the DMS oracle.dms.event.HTTPRequestTrackerDestination in dms_config.xml
5.7.2.3.1 HTTPリクエスト・トラッカのダンプの実行

HTTPリクエスト・トラッカに保持される情報に手動でアクセスできます。HTTPリクエスト情報を報告するダンプを実行するには、サーバーの接続時に次のようにWLST executeDumpコマンドを使用できます。

> executeDump(name="http.requests")
Active Requests:
 
StartTime: 2009-12-14 02:24:41.870
ECID: 0000IMChyqEC8xT6uBf9EH1B9X9^000009,0
URI: /myApp/Welcome.jsp
QueryString: 
Headers:
   Host: myHost.myDomain.com:7001
   Connection: keep-alive
   User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.30 Safari/532.5
   Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
   Accept-Encoding: gzip,deflate
   Cookie: ORA_MOS_LOCALE=en%7CGB; s_nr...
   Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
   Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

5.7.2.4 JRockitフライト・レコーダの宛先

JRockitフライト・レコーダ(JFR)は、JRockit JVM.の実行時ステータスおよび動作に関する情報を記録します。JFRは、サード・パーティ・イベントを報告できるAPIも公開します。JFRは、JRockit R28以上で使用できます。

DMSは独立してトレースし、JFRはサーバーで実行されているアクション全体の表示部分のみをトレースします。JFRとDMSの統合は、次に示すように管理者と開発者が使用できる診断情報を拡張します。

  1. アプリケーション・レベル・イベントおよびJVMレベル・イベントを1つの手順として報告できるので、タイムスタンプだけに基づいて個別のログ・ファイルからこのようなイベントを結合する必要がなくなります(同時に作成されるイベントを正確に順序付けできるほど迅速に動作しない場合があります)。

  2. 任意にJVMから遡及して最近のDMSアクティビティをダンプできます。

  3. JVMを正常に終了させる致命的なエラーの場合、最近のDMSおよびJVMイベントをディスクにダンプできます。

  4. DMS ECIDを使用すると、JFR記録期間に同じリクエストに関連するアクティビティ(作業単位)を相互に関連付けることができます。

  5. DMS ECIDを使用すると、JFRで記録される単一および一連のイベントに関連するすべてのシステムの診断情報を収集できます。

5.7.2.4.1 動的に導出されたJFRイベント・タイプ - 名前、値および説明

DMSナウン・タイプは、JFR InstantEventイベント・タイプに関連付けられます。

  • ナウン・タイプのJFRイベント・タイプの名前は、接尾辞「 state」の付いたナウン・タイプの名前になります。

  • ナウン・タイプのJFRイベント・タイプのパスは、「dms/」、プロデューサ名、イベント・タイプ名の順に付けられます。

  • イベント・センサーは、値をナウン・タイプのJFRイベント・タイプに提供しません。

  • ナウン・タイプのJFRイベントの値を表5-6に示します。

    表5-6 ナウン・タイプのJFRイベントの値

    値の名前 説明 リレーショナル 注意

    ECID

    アクションに関連付けられた実行コンテキストID (ECID)。

    はい


    RID

    アクションに関連付けられたRID。

    はい


    <ナウン・タイプ>名

    ナウンのフルパス。


    このフィールドは、ナウンのフルパスに移入されます。フィールドの名前は、noun_typeを使用してそのタイプのナウンで測定されているすべてのオブジェクトが適切に分類されていると仮定します。

    <state-sensor-name>

    状態センサーの値。

    いいえ

    ナウンに属する各状態センサーは、これらの値のいずれかを即時イベントに提供します。各ナウンに複数の値が存在する場合があります。

    イベント名

    更新されたイベント・センサーの名前(それ以外の場合はnull)。

    いいえ

    DMSイベント・センサーが更新された回数を記録するには、イベント名フィールドが必要です(イベント・センサーは値をイベント・タイプに提供しません)。


DMSフェーズ・センサーは、JFR DurationEventイベント・タイプに関連付けられます。

  • 特定のナウン・タイプのナウンに属しているフェーズ・センサーのJFRイベント・タイプの名前は、後にフェーズ・センサーの名前が付けられるナウン・タイプの名前になります。

  • ナウン・タイプのJFRイベントのパスは、「dms/」、プロデューサ名、イベント・タイプ名の順に付けられます。

  • 期間イベントの値は前述のようになります(sensorName値を除きます)。たとえば、フェーズ・イベントの「停止」がフェーズ・イベントの親ナウンの状態情報を含むJFRに報告されるJFR期間イベントになります。

いくつかのDMSオブジェクトにより、インテグレータで説明を追加できます。DMSオブジェクトの説明は、次のように使用されます。

  • ナウン・タイプの説明は、JFRイベント・タイプの作成に使用されます。

  • 状態およびイベント・センサーの説明は適用されず、適用される場所はありません。

  • フェーズ・センサーの説明がJFRイベント・タイプに適用されます。

5.7.2.4.2 動的に導出されたプロデューサおよびイベントの例

表5-7は、第5.7.2.4.1項で説明されているルールの例を示しています。

表5-7 動的に導出されたプロデューサおよびイベントの例

DMS JRockitフライト・レコーダ(JFR)

ナウン・タイプ:

JDBC_Connection

ナウン・パス:

/JDBC/Driver/CONNECTION_7

センサー:

CreateStatement (P)

CreateNewStatement (P)

DBWaitTime (P)

JDBC_Connection_Url (S)

JDBC_Connection_Username (S)

各値の説明は次のとおりです。

P: フェーズ・センサー

S : 状態センサー

E : イベント・センサー

プロデューサ名: JDBC

プロデューサ名は、ナウン・パスの先頭のコンポーネントに基づいています。

イベント・タイプ1

イベント・タイプ名: JDBC_Connection State

<ナウン・タイプ> State

イベント・タイプ・パス: dms/JDBC/JDBC_Connection_State

dms/<ナウン・パスの先頭のコンポーネント>/<ナウン・タイプ>/_State

フィールド:

  • ECID

  • RID

  • JDBC_Connection名

    値は、ナウンのフルパスになります。

  • JDBC_Connection_Url

    値は、イベントの実行時のこの名前の状態センサーの値になります。

  • JDBC_Connection_Username

    値は、イベントの実行時のこの名前の状態センサーの値になります。

  • イベント名

    値は次のいずれかになります。

    • アクティブ化によってこのJFRイベント・インスタンスを発生させるDMSイベント・センサーの名前

    • 状態センサーの更新にこのJFRイベント・インスタンスが作成された場合はnull


プロデューサ名: JDBC

イベント・タイプ2

イベント・タイプ名: JDBC_Connection CreateStatement

イベント・タイプ・パス:

dms/JDBC/JDBC_Connection_CreateStatement

フィールド:

  • ECID

  • RID

  • JDBC_Connection名

  • JDBC_Connection_Url

  • JDBC_Connection_Username


プロデューサ名: JDBC

イベント・タイプ3

イベント・タイプ名: JDBC_Connection CreateNewStatement

イベント・タイプ・パス:

dms/JDBC/JDBC_Connection_CreateNewStatement

フィールド:

  • ECID

  • RID

  • JDBC_Connection名

  • JDBC_Connection_Url

  • JDBC_Connection_Username


プロデューサ名: JDBC

イベント・タイプ4

イベント・タイプ名: JDBC_Connection DBWaitTime

イベント・タイプ・パス:

dms/JDBC/JDBC_Connection_DBWaitTime

フィールド:

  • ECID

  • RID

  • JDBC_Connection名

  • JDBC_Connection_Url

  • JDBC_Connection_Username

ナウン・タイプ:

webcenter_lifecycle

ナウン・パス:

/oracle/webcenter/webcenter/lifecycle

センサー:

ProcessingTime (P)

status (S)

successCount (E)

各値の説明は次のとおりです。

P: フェーズ・センサー

S : 状態センサー

E : イベント・センサー

プロデューサ名: webcenter

イベント・タイプ1

イベント・タイプ名: webcenter_lifecycle State

フィールド:

  • ECID

  • RID

  • webcenter_lifecycle名

  • ステータス

  • イベント名

プロデューサ名: webcenter

イベント・タイプ2

イベント・タイプ名: webcenter_lifecycle ProcessingTime

フィールド:

  • ECID

  • RID

  • webcenter_lifecycle名

  • ステータス


5.7.3 DMSイベント出力の理解

表5-8は、DMSイベントを構成するフィールドを示しています。フィールド要素は「:」で区切られますが、いくつかの例外があります。実際のイベント文字列のフィールドの位置を示すため、サンプルのイベントが用意されています。

表5-8 イベント・フォーマットの説明

アプリケーション・イベント フィールド番号 名前 説明

すべて

1

バージョン番号

イベント形式のバージョン番号

例:

v1:1280737384058:HTTP_REQUEST:STOP:/MyWebApp/emp

すべて

2

イベント時間

イベントが発生した時間

例:

v1:1280737384058:HTTP_REQUEST:STOP:/MyWebApp/emp

すべて

3

ソース・オブジェクト・タイプ

次の項目を含むイベントを生成するためにアクションが実行されたオブジェクトのタイプ

  • NOUN

  • EVENT_SENSOR

  • STATE_SENSOR

  • PHASE_SENSOR

  • EXECUTION_CONTEXT

  • HTTP_REQUEST

例:

v1:1280737384058:HTTP_REQUEST:STOP:/MyWebApp/emp

すべて

4

アクション・タイプ

このイベントを生成したアクションのタイプ。特定のソース・オブジェクト・タイプは、次の各アクション・タイプのイベントを必ずしも生成しません。

  • CREATE

  • UPDATE

  • DELETE

  • START

  • STOP

  • ABORT

例:

v1:1280737384058:HTTP_REQUEST:STOP:/MyWebApp/emp

ナウン

5

ナウン・タイプ

ナウン・タイプの名前

例:

v1:1281344803506:NOUN:CREATE:JDBC_Connection:/JDBC/JDBC Data Source-0/CONNECTION_1

6

ナウン・パス

センサーが属するナウンを識別するフルパス

例:

v1:1281344803506:NOUN:CREATE:JDBC_Connection:/JDBC/JDBC Data Source-0/CONNECTION_1

すべてのセンサー・タイプ

5

ナウン・タイプ

このセンサーが属するナウン・タイプの名前

例:

v1:1280503318973:STATE_SENSOR:UPDATE:JDBC_Connection:LogicalConnection:/JDBC/JDBC Data Source-0/CONNECTION_1:State.ANY:LogicalConnection@13bed086

6

センサー名

センサーの名前

例:

v1:1280737383069:PHASE_SENSOR:STOP:JDBC_Connection:DBWaitTime:/JDBC/JDBC Data Source-0/CONNECTION_1:1280737382950:1280737383069

7

ナウン・パス

センサーが属するナウンを識別するフルパス

例:

v1:1280737383069:PHASE_SENSOR:STOP:JDBC_Connection:DBWaitTime:/JDBC/JDBC Data Source-0/CONNECTION_1:1280737382950:1280737383069

フェーズ・センサー・タイプ

8

開始トークン

フェーズの開始トークン。

例:

v1:1280737383069:PHASE_SENSOR:STOP:JDBC_Connection:DBWaitTime:/JDBC/JDBC Data Source-0/CONNECTION_1:1280737382950:1280737383069

9

停止トークン

フェーズの終了トークン。

例:

v1:1280737383069:PHASE_SENSOR:STOP:JDBC_Connection:DBWaitTime:/JDBC/JDBC Data Source-0/CONNECTION_1:1280737382950:1280737383069

状態センサー・タイプ

8

状態値タイプ

次の項目を含む状態センサーで保持される値のタイプ

  • State.DOUBLE

  • State.INTEGER

  • State.LONG

  • State.OBJECT

  • State.ANY

例:

v1:1280503318973:STATE_SENSOR:UPDATE:JDBC_Connection:LogicalConnection:/JDBC/JDBC Data Source-0/CONNECTION_1:State.ANY:LogicalConnection@13bed086

9

状態値

文字列形式で表される状態の値。

例:

v1:1280503318973:STATE_SENSOR:UPDATE:JDBC_Connection:LogicalConnection:/JDBC/JDBC Data Source-0/CONNECTION_1:State.ANY:LogicalConnection@13bed086

HTTPリクエスト

5

URI

Uniform Resource Identifier (URI)は、リクエストを適用するリソースを識別します。

例:

v1:1280737382889:HTTP_REQUEST:START:/myWebApp/showEmployees

v1:1280737384058:HTTP_REQUEST:STOP:/myWebApp/showEmployees

実行コンテキスト

5

ECID、RID

カンマで区切られたECIDおよびRIDで構成されるコンテキスト識別子。

実行コンテキスト・イベントでは、4番目のイベント・フィールド・セパレータ(「:」)の後の最初の文字から始まる完全な部分文字列にECIDおよびRID識別子を記録します。コンテキスト識別子に「:」が含まれる可能性があるので、イベント・フィールド・セパレータとして解釈しないようにしてください。

例:

v1:1280737384058:EXECUTION_CONTEXT:STOP:bc4fd0668f79d507:367c127f:12a23f2013c:-8000-0000000000000f73,0


5.7.4 DMSイベント・アクションの理解

表5-9は、ソース・オブジェクト・タイプで実行できるアクション・タイプを示しています。

表5-9 ソース・オブジェクト・タイプで実行されるアクション


作成 更新 削除 開始 停止 中断

ナウン

はい

-

はい

-

-

-

イベント・センサー

はい

はい

はい

-

-

-

フェーズ・センサー

はい

-

はい

はい

はい

はい

状態センサー

はい

はい

はい

-

-

-

実行コンテキスト

-

-

-

はい

はい

-

HTTPリクエスト

-

-

-

はい

はい

-


5.8 DMSのベスト・プラクティス

DMSメトリックを使用すると、アプリケーションのパフォーマンスに影響を与える可能性があります。メトリックを追加する場合、次の内容を検討してください。