ヘッダーをスキップ
Oracle® Enterprise Manager Business Transaction Managementオンライン・ヘルプ
リリース12.1.0.6
E59455-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

5 トランザクションの使用

トランザクションは、1つの単位として監視する一連の操作です。この章では、トランザクションを使用する利点、トランザクションを定義および監視する方法、JVM診断およびインスタンス診断リクエストにアクセスする方法、トランザクションのトラブルシューティング方法について説明します。内容は、次のとおりです。

5.1 トランザクションについて

トランザクションに参加する操作を指定することによって、トランザクションを論理レベルで定義します。Business Transaction Managementでは、個別のエンドポイントを調べることによってトランザクションが監視され、必要なレベルの情報が表示されます。提供される詳細レベルの範囲は、最小の集約パフォーマンス情報から、最大のメッセージ・コンテンツ・ロギングまでです。Business Transaction Managementを使用したトランザクションの監視は反復プロセスであり、最初は最大限のエンドポイントを調べて、サービス使用状況およびトラブルの可能性がある箇所の概要を把握します。これらを識別しながら、より狭い範囲の要素をより詳細に調べます。この方法を使用することで、システム・リソースを多く使用しないで、必要な情報を確実に取得できます。

次のことを実行するためにトランザクションを定義および監視できます。

  • ビジネス・トランザクションのパフォーマンスを評価します。Business Transaction Managementでは、完了、失敗およびスタックしているトランザクションに関する情報が提供されます。また、トランザクションが完了するまでにかかる全体的な時間と、その時間のどれだけの部分がトランザクションの各処理で使用されるかも示されます。

  • メッセージ・コンテンツに基づいてトランザクション・インスタンスを検索します。

  • トランザクションの問題をトラブルシューティングします。ボトルネックを分析し、パフォーマンスの低下またはトランザクションの失敗の理由を診断します。

役割が異なるユーザーは、トランザクション・パフォーマンスに関するサマリー情報を次のように使用できます。

  • 業務担当者は、サーバーまたはコンポーネントの停止時間の影響を受けるトランザクションを判別する必要があります。これは、作業に優先順位を付け、メンテナンスをスケジュールするのに役立ちます。

  • 開発者は、コンポーネントに対する実装の変更の影響を受けるトランザクションを理解する必要があります。

  • ビジネス・アプリケーション所有者は、トランザクションのパフォーマンスおよびスループットを示すグラフを監視する必要があります。

操作フローを識別する検出プロセスを使用して、トランザクションを定義します。検出で明らかになる依存性に基づいて、目的の相互作用を備えたサービスを含めるようにトランザクションを定義できます。次に、デフォルトのトランザクション定義を変更して、パフォーマンスおよび使用状況に関して必要な詳細レベルが提供される監視機能を有効にできます。機能には、ユーザーまたはホスト・アドレス別のセグメント情報、インスタンスとプロパティのロギングおよびメッセージ・コンテンツ・ロギングが含まれています。

この項では、トランザクション定義のこの反復プロセスおよび各機能を有効にしたときに使用可能になる詳細レベルについて説明します。内容は、次のとおりです。

5.1.1 トランザクションを定義するもの

トランザクションは次のものによって定義されます。

  • プライマリ操作フロー。これは、フローをトリガーする開始メッセージを示すことによって指定されます。開始メッセージは、通常はフローの最初の操作のリクエスト・メッセージです。

  • 追加操作フロー(必要な場合)。これは、プライマリ・フローと手動で相関させる必要があります。

  • トランザクションの終了メッセージ。デフォルトでは、これはプライマリ操作フローの最初の操作からのレスポンス・メッセージです。ただし、より複雑なトランザクションをモデル化するために変更できます。

フローから1つ以上の操作を削除することによって、操作フローのトランザクションのビューを変更できます。

Business Transaction Managementでは、同じ操作を複数のトランザクションに含めることができますが、唯一の制限は同じ操作を複数のトランザクションの開始操作にすることはできないということです。操作を複数のトランザクションに含める場合、Business Transaction Managementでは各トランザクションの全体的なレスポンス時間の正確な測定の集計を保持でき、共有される操作がそれを所有する各トランザクションによってコールされるたびに、操作の呼出しを適切にカウントします。Business Transaction Managementではサービスがレプリケートされる状況も処理でき、フェイルオーバーまたはロード・バランシング・アーキテクチャでなんらかのレプリケートが使用されたときにパフォーマンス情報を正確に収集します。

あるトランザクションが特定の期間内に数多く実行されます。Business Transaction Managementでは、トランザクションに含まれるメッセージのフローを追跡し、これらを特定のトランザクション・インスタンスにマップできます。

  • トランザクション・インスタンスは、プライマリ操作フローのインスタンスが開始すると開始します。

  • トランザクション・インスタンスは、インスタンスの開始メッセージに相関する終了メッセージのインスタンスがシステムで認識されると終了します。

含まれている操作フロー以外に、トランザクションは次の情報を指定する設定によっても定義されます。

  • トランザクションのスコープ: 1つのトランザクションがどれくらいの時間実行されることが予想されるか。Business Transaction Managementでは、この値を使用して特定のトランザクション・インスタンスのメッセージの検索をいつ停止するかを識別します。

  • トランザクションの特定のインスタンスを表示できるように、アセンブルする可能性のあるログ・メッセージをどれくらいの時間保持するか。

  • トランザクション監視を有効にするかどうか、およびフリー・テキスト検索を有効にするかどうか。

  • セグメンテーション、インスタンス・ロギングおよびメッセージ・コンテンツ・ロギングを有効にするかどうか。

5.1.2 プロパティ

ユーザーがすべてのメッセージのコンテンツをログに記録しなくてもメッセージから情報を抽出できるように、Business Transaction Managementではトランザクション操作に関連付けられたプロパティを使用できます。プロパティは、メッセージ・ヘッダーまたはメッセージ・ペイロードの一部と関連付けることができます。次の方法で使用できます。

  • トランザクション内の操作を相関させるために使用されるメッセージ・キーの値の指定

  • メッセージのコンテンツをログに記録しないメッセージ要素の値の表面化

  • 特定のトランザクション・インスタンスの検索

  • 条件の定義

5.1.3 自動相関および手動相関

トランザクションの開始操作と終了操作を定義すると、デフォルトでは、Business Transaction Managementにより介在する操作がトラフィック・フローに基づいて決定され、トランザクション・インスタンスの操作を結合する(相関させる)メッセージ・フィンガープリントが作成されます。トランザクション・メッセージの相関にかわる方法として、手動キーを定義することもできます。

次の場合には操作を手動で相関させる必要があります。

  • トランザクションへのセカンダリ操作フローの追加。これは、JMSなどの非同期システムの場合に必要になることがあり、基礎となるデータを共有するが因果関係としては接続されない2つの操作フローを接続する場合に望ましいことがあります。たとえば、受注の入力によって定義されるフローと、受注の終了によって定義される別のフローがあります。同じ受注が2つの別々のプロセスに関与します。

  • 終了メッセージがフローを開始した操作の終了メッセージとは異なるトランザクションの定義。

  • 欠落メッセージ条件の定義。

それぞれの場合に何を相関させる必要があるかの詳細は、「手動キーを使用したトランザクション内のメッセージの相関」を参照してください。

1つのトランザクション定義に、自動的に相関される操作と手動で相関される別の操作を含めることができます。

5.1.4 デフォルトのトランザクション定義

操作を選択し、トランザクションを作成することを選択すると、Business Transaction Managementによって、デフォルト値がすでに入力されたトランザクション定義の作成ツールが表示されます。このデフォルトの定義は、次のとおりです。

  • トランザクションの開始メッセージは選択した操作のリクエスト・メッセージであり、終了メッセージはその操作のレスポンス・メッセージです。

  • トランザクション監視は有効です。つまり、Business Transaction Managementによって、開始済トランザクションと完了済トランザクションの数、スループット、平均レスポンス時間、最大レスポンス時間およびフォルトの測定の計算および表示を可能にするデータが収集されます。

  • トランザクション内のメッセージは、(Business Transaction Managementによって計算される)メッセージ・フィンガープリントを使用して相関されます。

  • セグメンテーション、インスタンスとプロパティのロギングおよびメッセージ・コンテンツ・ロギングは無効です。

トランザクションの概要を最初に把握するには、デフォルト構成で十分です。速度の遅いリンク、障害のあるサービスおよび予期しないトラフィック急増を識別するのに役立ちます。また、全体的なトランザクション・パフォーマンスが低下しているか、または時間どおりに完了していないかも示されます。トランザクションに対して収集された測定に基づいて、固定値およびベースラインのサービス・レベル合意(SLA)を作成することもできます。

デフォルトのトランザクション定義は次の方法でカスタマイズできます。

  • トランザクションに含まれている操作を変更し、終了操作を変更します。これは、トランザクションに一方向操作が含まれているため、全体的なリクエスト・フローよりも少ない操作数にトランザクションを制限するため、またはサービスの呼出しがまれであって検出期間内で見つからない場合にサービスを追加するために行う場合があります。

  • メッセージ・キーを使用してメッセージを相関させます。

  • トランザクションに関する詳細情報を表示する機能をオンにします。

次の各項では、トランザクション定義に追加できる機能について説明します。

5.1.5 その他の機能

次に示すのは、トランザクション・パフォーマンスとメッセージ・コンテンツのより詳細な状況を表示するために追加できる機能です。

5.1.5.1 セグメンテーション

トランザクションの測定値は、ホスト・アドレスに基づいて切り分けることも、個々のコンシューマごとに切り分けることもできます。コンシューマ・セグメンテーションは、特定の顧客との使用契約がある場合、またはサービスの使用が特に多いか少ない顧客を識別する場合に有用なことがあります。

ホスト・アドレスによるセグメンテーションは、ネットワークにおけるリクエストの分散を把握するのに役立ちます。一部のネットワーク・セグメントまたはホストでトランザクションの不均衡な負荷が発生しているかどうか、または問題のあるトランザクションがすべて特定のホストで実行されていることを検出できます。

5.1.5.2 インスタンスとプロパティのロギング

インスタンス・ロギングを有効にすると、指定した時間間隔に取得されたトランザクション・インスタンスのリストを表示できます。指定したインスタンスをアセンブルおよび検査し、そのインスタンスにプロパティ値がある場合はそれを表示し、これらのプロパティ値に基づいて各種条件を作成できます。

ログに記録されたプロパティに対して検索を行い、関連するトランザクション・インスタンスを見つけることもできます。

5.1.5.3 メッセージ・コンテンツ・ロギング

メッセージ・コンテンツ・ロギングを有効にすると、指定した操作のメッセージ・コンテンツを表示でき、そのリクエストまたはレスポンス・メッセージのコンテンツに基づいて操作を検索できます。

5.1.6 サービス・レベル合意および条件

トランザクションに対して有効にした機能によって、トランザクション全体および選択した操作の情報が記録されます。結果を分析してパフォーマンスの問題を検出する必要があるこの継続的な監視以外に、条件およびサービス・レベル合意を使用して、特別な状況についてアラートを出すようにBusiness Transaction Managementを構成することもできます。

  • サービス・レベル合意は、測定の集計に基づいてトランザクションのパフォーマンス標準を定義します。その後、Business Transaction Managementはこれらの標準からの差異を監視し、差異が発生するとアラートが発行され、管理コンソールに表示されます。

  • 指定したメッセージ・プロパティの値が発生したとき、または障害が発生したときに、予期されるメッセージが到着しない場合に、条件によりアラートを出すようにできます。これらは、特定のトランザクション・インスタンスにおける問題を検出できるようにするツールです。条件がトリガーされ、満たされると、Business Transaction Managementは該当するトランザクション・インスタンスをアセンブルし、これによってユーザーはその内容を表示し、トラブルシューティングまたはその他のパフォーマンス評価に必要な分析を実行できます。

5.2 プロパティについて

プロパティは、操作のリクエストまたはレスポンス・フェーズに関連付けられる値を保持する変数です。プロパティ値は、メッセージ要素、要素のフラグメント、同じメッセージの複数の要素を組み合せた値、またはメッセージ要素を使用する式に対応します。メッセージ・ヘッダーまたはボディのメッセージ要素を使用してプロパティ値を定義できます。

プロパティは一般的に、検索の簡素化、メッセージ・コンテンツのログを記録しないメッセージ要素の表面化、条件の定義などに使用されます。

この項では、プロパティを定義および使用できる様々な方法について説明します。また、任意の操作用にBTMによって定義されている標準プロパティについても説明します。

プロパティ定義は、プロパティが定義されたサービス操作が含まれているトランザクションの「プロパティ」タブに表示されます。プロパティ定義は、サービス操作、エンドポイント操作、サービスおよびエンドポイントの「プロパティ」タブにも表示されます。ただし、プロパティの変更または削除は、トランザクションの「プロパティ」タブからのみ可能です。

5.2.1 プロパティの使用方法

プロパティを使用すると、次のことを実行するのに役立ちます。

  • ドリルダウンしないと表示できないようなメッセージの様々な側面を表面化します。プロパティを使用すると、メッセージ・コンテンツをログに記録しなくてもメッセージ要素の値を表示できるようになり、パフォーマンスを向上させることができます。

  • トランザクションを構成する操作を手動で相関させることができるキーを定義します。

  • コンシューマ別にトランザクションをセグメント化します。

  • メッセージ・プロパティの値に応じた条件を定義します。

たとえば、顧客IDを含むサービス要素があるとします。操作を含むトランザクションで例外を経験した顧客を知りたい場合は、顧客ID要素の値を保持するプロパティを作成できます。そうすると、パフォーマンス結果を調べたときに、そのトランザクションで例外を経験した顧客のIDが明確に表示されます。

次の項で説明する標準プロパティは、Business Transaction Managementによって定義されており、ユーザー定義プロパティはその名前が示すとおり、5.2.3項「ユーザー定義プロパティ」で説明するようにユーザーによって定義されます。

5.2.2 標準プロパティ

次の表に示すプロパティは、BTMによって任意のメッセージ用に定義されています。標準プロパティは、メッセージのフェーズ(リクエスト、レスポンスおよびフォルト)ごとに定義されています。aggregateCountaggregateFaultCountおよびECIDベースのプロパティを検索で使用できます。ECIDベースのプロパティは手動キーに対して使用できます。

表5-1 標準プロパティ

メッセージ・フェーズ プロパティ名 説明

リクエスト

aggregateCount

このexecute文に関連付けられたコール数。詳細は、4.1.4.1項「JDBCサマリー・データの表示の理解」を参照してください。


aggregateFaultCount

指定したexecute文に関連付けられたフォルト数。詳細は、4.1.4.1項「JDBCサマリー・データの表示の理解」を参照してください。


arrivalTime

1970年1月1日00:00:00 UT以降に経過したミリ秒として測定された、リクエスト・メッセージの着信時刻。


count

リクエストされた操作が現在のトランザクション・インスタンスで呼び出された回数。操作が正常に実行されなかった場合でも、各リクエストによってカウントは増分されます。


exists

リクエスト・メッセージが現在のトランザクション・インスタンスの一部として着信した場合にtrueとなるブール式。


interactionId

内部でのみ使用されます。


requestECID

選択した操作のリクエスト・フェーズに関連付けられたECID。詳細は、5.9.2.1項「ECIDの基本」を参照してください。


sender

非推奨。使用しないでください。このプロパティは将来のリリースで削除されます。

リクエスト・メッセージの送信者を識別する文字列。これは通常、受信側サービスがデプロイされているアプリケーション・サーバーに送信側アプリケーションから提供される資格証明のユーザー名部分です。このプロパティは、アプリケーション・サーバーによってユーザーが認証された場合にのみ設定されます。

レスポンス

arrivalTime

1970年1月1日00:00:00 UT以降に経過したミリ秒として測定された、レスポンス・メッセージの着信時刻。


exists

レスポンス・メッセージが現在のトランザクション・インスタンスの一部として着信した場合にtrueとなるブール式。


interactionId

内部でのみ使用されます。


responseECID

選択した操作のレスポンス・フェーズに関連付けられたECID。詳細は、5.9.2.1項「ECIDの基本」を参照してください。


responseTime

ミリ秒として測定された、リクエスト・メッセージの着信とそれに対応するレスポンス・メッセージの着信との間の時間間隔。


sender

非推奨。使用しないでください。このプロパティは将来のリリースで削除されます。

フォルト

actor

フォルト・メッセージのfaultactor要素の値。メッセージのパス内で誰がフォルトを発生させたかに関する情報が提供されます。


arrivalTime

1970年1月1日00:00:00 UT以降に経過したミリ秒として測定された、フォルト・メッセージの着信。


code

フォルト・メッセージのfaultcode要素の値。フォルトを識別するためのアルゴリズム・メカニズムが提供されます。


detail

フォルト・メッセージのdetailcode要素の値。Body要素に関連するアプリケーション固有のエラー情報が提供されます。


exists

フォルト・メッセージが現在のトランザクション・インスタンスの一部として着信した場合にtrueとなるブール式。


responseTime

ミリ秒として測定された、リクエスト・メッセージの着信とそれに対応するフォルト・メッセージの着信との間の時間間隔。


sender

非推奨。使用しないでください。このプロパティは将来のリリースで削除されます。


string

フォルト・メッセージのfaultstring要素の値。人間が読めるフォルトの説明が提供され、アルゴリズム処理用ではありません。


5.2.3 ユーザー定義プロパティ

プロパティは、メッセージ・コンテンツまたはメッセージ・ヘッダー(SOAPヘッダー、HTTPヘッダー、JMSメッセージ・プロパティなど)を含むリクエストまたはレスポンス・メッセージに対して定義された任意のXPath式に基づくことができます。

最も単純なタイプのプロパティは、単一のメッセージ要素の値を保持します。たとえば、次のようなメッセージ要素があります。

OrcerServiceImpl.submit.request.order.orderId

この要素の値を値として持つOrder_IDという名前のプロパティを作成できます。

1つ以上のメッセージ要素を含む計算の結果を格納するプロパティを作成することもできます。たとえば、価格を保持する要素に定数を乗算して税を計算する場合があります。

OrderServiceImpl.submit.request.order.grandTotal *.0825

その結果をTax_Dueという名前のプロパティに格納できます。

必要なデータをメッセージから直接は抽出できない場合もあります。そのような場合は、XPath式に基づくプロパティを作成してメッセージからデータを抽出し、計算を実行できます。

たとえば、メッセージに数が不定の<item>要素が含まれている場合、プロパティを作成してメッセージ内の<item>要素の数をカウントし、その値を格納できます。

また、XPath式を使用して、エンコードされたXMLドキュメントを含むXML要素からデータを抽出する場合もあります。

最後に、WSDLがないサービスがある場合があります。Business Transaction Managementを使用すると、このサービスからのメッセージをログに記録し、XMLビューを使用して必要な要素を取得して目的のプロパティを定義できます。

次の各項では、プロパティの作成、変更、複製および削除の詳細について説明します。

5.3 プロパティの使用

プロパティは、操作(メッセージ)のリクエストまたはレスポンス・フェーズに関連付けられる値を保持する変数です。この項では、Business Transaction Managementを使用してプロパティを使用する方法について説明します。内容は、次のとおりです。

5.3.1 プロパティの定義

メッセージ・プロパティを定義するために使用するプロセスは、プロパティが単一のメッセージ要素、要素のフラグメント、要素の組合せ、要素を含む式のいずれに対応するかによって異なります。

任意のビューでサービス、操作またはエンドポイントを選択し、次に、「作成」メニューから「メッセージ・プロパティの作成: Nameを選択して、メッセージ・プロパティの作成ツールにアクセスできます。

作成するプロパティの種類に関係なく、(プロパティ値を入力するメッセージ要素を指定する以外に)次の情報を指定する必要があります。

  • プロパティの「名前」

  • プロパティ値を定義するためにそのコンテンツを使用する「操作」(メッセージ)。

  • プロパティの目的またはこのプロパティについて保持するその他のノートを説明するオプションの「説明」

  • プロパティの値が取得される「プロパティ・ソース」

  • 特定の属性を介してプロパティをコンシューマにマップする必要があるかどうか。プロパティを特定のコンシューマ属性に関連付ける場合は、「コンシューマ・マッピング」チェック・ボックスを選択します。デフォルトでは、システムで定義されているユーザー属性は「コンシューマ名」のみです。必要に応じて他のコンシューマ属性を定義できます。

  • プロパティの値にアクセスできるのは、機密情報の表示がロールで許可されているBusiness Transaction Managementユーザーのみかどうか。アクセスを制限するには、「秘密として扱う」チェック・ボックスを選択します。

メッセージが収集された後で新しいプロパティを定義した場合、新しく定義されたプロパティはログ・メッセージには含まれません。

次の手順では、単一の要素、要素のフラグメントまたは複数のメッセージ要素に基づいてプロパティを作成する方法について説明します。

単一要素に基づくプロパティの定義

  1. 任意のビューで、サービス、操作またはエンドポイントを選択します。

  2. 「作成」メニューから「メッセージ・プロパティの作成: Nameを選択します。

  3. プロパティの名前を指定します。名前を指定しない場合は、メッセージ要素名がプロパティ名に使用されます。

  4. プロパティ・ソース: 当該の要素がメッセージ・コンテンツの一部かメッセージ・ヘッダーの一部かを指定します。

    「ヘッダー」を選択した場合、ヘッダー名、フェーズ(リクエスト、レスポンス、フォルト)およびデータ型を指定するために使用する必要がある小さいダイアログがBusiness Transaction Managementによって表示されます。次に、手順8にスキップします。手順5から8は、「メッセージ・コンテンツ」を選択した場合に適用されます。

  5. 「メッセージから選択」リンクをクリックして、メッセージ要素を表示します。

  6. 「メッセージ」ドロップダウン・リストを使用して「リクエスト」または「レスポンス」を選択します。

  7. メッセージ要素をダブルクリックして選択します。

  8. このプロパティをコンシューマ属性にマップする場合は、「コンシューマ・マッピング」チェック・ボックスを選択します。

  9. 複数ある場合は、属性を選択します。

  10. プロパティ値へのアクセスを制限する場合は、「秘密度」チェック・ボックスを選択します。

  11. 「OK」をクリックします。

算術式に基づくプロパティの定義

  1. 任意のビューで、サービス、操作またはエンドポイントを選択します。

  2. 「作成」メニューから「メッセージ・プロパティの作成: Nameを選択します。

  3. プロパティの名前を指定します。名前を指定しない場合は、Business Transaction Managementによって要素名がプロパティ名に使用されます。

  4. プロパティ・ソース: 「メッセージ・コンテンツ」を選択します。

  5. 「メッセージから選択」リンクをクリックして、メッセージ要素を表示します。

  6. 「メッセージ」ドロップダウン・リストを使用して「リクエスト」または「レスポンス」を選択します。

  7. メッセージ要素をダブルクリックして選択します。

  8. 「XPathに変換」項目をクリックします。要素のXPath定義が表示されます。

  9. 「XPath」ボックスで、目的の式を作成します。たとえば、税を計算する税プロパティを定義する場合は、Price要素の元のXPath式を使用できます。

    /soapenv:Envelope/soapenv:Body/*[local-name(.)='submit']/^*
    [1]/^tns1:OrderItems/^tns1:Price
    

    次に、10%の税を計算するように次のように定義します。

    /soapenv:Envelope/soapenv:Body/*[local-name(.)='submit']/^*
    [1]/^tns1:OrderItems/^tns1:Price * .10
    
  10. このプロパティをコンシューマ属性にマップする場合は、「コンシューマ・マッピング」チェック・ボックスを選択します。

  11. 複数ある場合は、属性を選択します。

  12. プロパティ値へのアクセスを制限する場合は、「秘密度」チェック・ボックスを選択します。

  13. 「OK」をクリックします。

要素の部分的なコンテンツに基づくプロパティの定義

これは、ネストされたxmlドキュメントがあり、ネストされた要素をプロパティの値に含める場合に役立つことがあります。

  1. 任意のビューで、サービス、操作またはエンドポイントを選択します。

  2. 「作成」メニューから「メッセージ・プロパティの作成: Nameを選択します。

  3. プロパティの名前を指定します。名前を指定しない場合は、Business Transaction Managementによって要素名がプロパティ名に使用されます。

  4. プロパティ・ソース: 「メッセージ・コンテンツ」を選択します。

  5. 「メッセージから選択」リンクをクリックして、メッセージ要素を表示します。

  6. 「メッセージ」ドロップダウン・リストを使用して「リクエスト」または「レスポンス」を選択します。

  7. メッセージ要素をダブルクリックして選択します。

  8. 「XPathに変換」項目をクリックします。要素のXPath定義が表示されます。

  9. XPath式を編集して、ネストされた要素にプロパティ値を制限します。

  10. このプロパティをコンシューマ属性にマップする場合は、「コンシューマ・マッピング」チェック・ボックスを選択します。

  11. 複数ある場合は、属性を選択します。

  12. プロパティ値へのアクセスを制限する場合は、「秘密度」チェック・ボックスを選択します。

  13. 「OK」をクリックします。

同じメッセージの複数の要素を組み合せたコンテンツに基づくプロパティの定義

これは、手動キーを指定してメッセージを相関させる必要があるが、サービスに対して一意の単一メッセージ要素がない場合に役立つことがあります。2つのメッセージ要素(顧客IDと郵便番号など)を組み合せた一意の値のプロパティを作成できます。

次の手順では、2つの要素を組み合せることを想定します。このケースを拡張して要素を追加できます。

  1. 任意のビューで、サービス、操作またはエンドポイントを選択します。

  2. 「作成」メニューから「メッセージ・プロパティの作成: Nameを選択します。

  3. プロパティ・ソース: 「メッセージ・コンテンツ」を選択します。

  4. 「メッセージから選択」リンクをクリックして、メッセージ要素を表示します。

  5. 「メッセージ」ドロップダウン・リストを使用して「リクエスト」または「レスポンス」を選択します。

  6. メッセージ要素をダブルクリックして選択します。

  7. 「XPathに変換」項目をクリックします。要素のXPath定義が表示されます。

  8. XPath定義をコピーし、「取消」ボタンを押してメッセージ・プロパティの作成ツールを終了します。

  9. 同じ操作を再度選択します。

  10. 「作成」メニューから「メッセージ・プロパティ: Nameを選択します。

  11. プロパティの名前を指定します。

  12. プロパティ・ソース: 「メッセージ・コンテンツ」を選択します。

  13. 「メッセージから選択」リンクをクリックして、メッセージ要素を表示します。

  14. 「メッセージ」ドロップダウン・リストを使用して「リクエスト」または「レスポンス」を選択します(フェーズは、最初の要素のコピー元のメッセージと同じである必要があります)。

  15. メッセージ要素をダブルクリックして選択します。

  16. 「XPathに変換」項目をクリックします。要素のXPath定義が表示されます。

  17. 最初の要素からコピーしたXPath定義を貼り付けます。要素タイプに応じて、適切な演算子を使用して有効なXPath式を構成します。

  18. このプロパティをコンシューマ属性にマップする場合は、「コンシューマ・マッピング」チェック・ボックスを選択します。

  19. 複数ある場合は、属性を選択します。

  20. プロパティ値へのアクセスを制限する場合は、「秘密度」チェック・ボックスを選択します。

  21. 「OK」をクリックします。

5.3.2 WSDLがないか不完全なサービスのプロパティ

Business Transaction Managementでは、コンポーネント・タイプが何であっても、相互接続されたコンポーネントを表すために同じモデルが使用されます。モデルでは、リクエストおよびレスポンスXMLメッセージを送信することによって対話するサービスが示されます。また、モデルでは、各サービスが、サービスの場所およびそのインタフェースを指定するWSDLで記述されていることを想定しています。ただし、検出されたすべてのコンポーネントがこのモデルによって正確に表されるわけではありません。コンポーネントが実際のWebサービスではない場合、対応するWSDLがないか不完全であることがあります。そのような場合は、追加アクションを実行して、このコンポーネントのメッセージ要素のプロパティを作成する必要があります。基本的には、当該の要素を含むメッセージをログに記録し、XMLをプロパティ定義にコピーします。

プロセスは次のとおりです。

  1. プロパティを作成する対象の要素を含むトランザクション操作のメッセージ・ロギングを有効にします。

  2. システムを介してトラフィックを実行し、トランザクション・インスタンスを少なくとも1つ取得します。

  3. コンソールのメイン領域で当該のトランザクションを選択します。

  4. 「メッセージ・ログ」タブを開き、メッセージをログに記録した操作を選択します。

  5. 拡大鏡アイコンをクリックして「メッセージ・コンテンツ」インスペクタを開きます。

  6. 当該の要素がどちらに含まれているかに応じて、リクエストまたはレスポンス・メッセージの「XMLの表示」を選択します。

  7. メッセージのXMLをコピーします。

  8. 任意のビューで、サービス、操作またはエンドポイントを選択します。(サービスには当該の操作が含まれている必要があります。)

  9. 「作成」メニューから「メッセージ・プロパティの作成: Nameを選択します。

  10. プロパティ・ソース: 「メッセージ・コンテンツ」を選択します。

  11. 「メッセージから選択」リンクをクリックして、メッセージ要素を表示します。すでに入力されている要素ツリー(ある場合)は無視します。

  12. 操作フェーズ「リクエスト」または「レスポンス」を選択します。

  13. XMLの取得ボタンをクリックして、XMLドキュメントを貼付けウィンドウを開きます。

  14. ウィンドウでテキストを貼り付け、「OK」をクリックします。

  15. 要素ツリーにメッセージ要素が表示されます。

  16. 当該の要素を選択します。

  17. このプロパティをコンシューマ属性にマップする場合は、「コンシューマ・マッピング」チェック・ボックスを選択します。

  18. 複数ある場合は、属性を選択します。

  19. プロパティ値へのアクセスを制限する場合は、「秘密度」チェック・ボックスを選択します。

  20. 「OK」をクリックします。

5.3.3 プロパティ定義の表示

操作、エンドポイント、サービスまたはトランザクションの「プロパティ」タブで、プロパティ定義の一部を表示できます。プロパティ名、フェーズ、タイプおよび説明が表示されます。プロパティの秘密度およびコンシューマにマップされた属性も表示されます。

すべての定義を表示するには、「編集」ボタンをクリックして「変更」を選択します。

5.3.4 プロパティ値の表示

次のビューでプロパティ値を表示できます。

  • 選択したエンドポイント、操作、サービスまたはトランザクションの「メッセージ・ログ」タブ

  • 選択したエンドポイント、操作、サービスまたはトランザクションの「アラート」タブ

  • 「トランザクション」ビュー、「インスタンス」タブ

  • 「トランザクション・インスタンス」インスペクタ

5.3.5 プロパティの変更

プロパティの定義を変更できます。既存のプロパティのXPath定義を変更した場合、ランタイムによって着信メッセージに基づく新しいXPath定義の計算が開始されます。以前に記録されたメッセージは、古いXPath定義に基づいて計算された値を保持し続けます。

プロパティの名前を変更するには、複製を作成して新しい名前を割り当ててから、元のプロパティを削除する必要があります。

プロパティはトランザクション定義、セグメンテーション、条件およびロギングで重要な役割を果たすため、プロパティ定義の変更によって次のような結果が生じる場合があります。

  • プロパティがトランザクション定義でキーとして使用されている場合、トランザクションは無効になります。

  • プロパティがトランザクション定義でキーとして使用されている場合、トランザクションは無効になります。

  • プロパティが条件で使用されている場合、条件は無効になります。

ユーザーが作成したプロパティを変更するには

  1. 当該の操作、エンドポイント、サービスまたはトランザクションの「プロパティ」タブを選択します。

  2. 「編集」ボタンをクリックして「変更」を選択します。

  3. プロパティ定義を変更します。プロパティの作成の詳細を参照してください。

  4. 「OK」をクリックして新しい定義を保存します。

5.3.6 プロパティ定義の複製

プロパティ定義の複製を考慮する理由は2つあります。

  • 同様の複雑な式が必要な別のプロパティまたはこのプロパティによって抽出されるコンテンツの一部を含む別のプロパティを作成するための開始点として、元のプロパティを使用する場合があります。この場合は、プロパティを複製して、その定義を部分的に変更します。

  • プロパティ名を変更する必要があります。この場合は、プロパティを複製して目的の名前を割り当ててから、元のプロパティを削除できます。プロパティを削除すると重大な悪影響が生じる可能性があります。詳細は、5.11項「トランザクションのトラブルシューティング」を参照してください。

ユーザーが作成したプロパティを複製するには

  1. 当該の操作、エンドポイント、サービスまたはトランザクションの「プロパティ」タブを選択します。

  2. 「編集」ボタンをクリックして「複製」を選択します。

  3. プロパティ定義を変更します。プロパティの作成の詳細を参照してください。

  4. 必要に応じて複製の名前を変更します。

  5. 「OK」をクリックして、変更したコピーを保存します。

5.3.7 プロパティの削除

プロパティはトランザクション定義、セグメンテーション、条件定義およびロギングで重要な役割を果たすため、プロパティの削除によって重大な結果が生じる場合があります。

  • プロパティが相関キーとして使用されている場合、トランザクション定義にとって必須とみなされます。これらのプロパティのいずれかが削除されると、トランザクション全体が無効になり、システム・アラートが生成されます。

  • トランザクション・コンシューマ・セグメンテーションに使用されるプロパティが削除されるか、コンシューマとしてマークされなくなるように変更されると、トランザクション・セグメンテーションは取得されなくなります。トランザクションがコンシューマによってセグメント化に対して有効としてマークされている場合、システム・アラートが生成され、コンシューマ・セグメンテーションは無効になります。

  • 条件定義で使用されているプロパティが削除されると、条件は無効になり、システム・アラートが生成されます。

  • トランザクション内の操作に対して定義され、ログに記録されている(ただし、他の目的では明示的には使用されていない)プロパティが削除されると、ユーザーは、ログ・メッセージのインスタンスを表示したときに、そのプロパティおよび関連付けられたコンテンツを表示できなくなります。

ユーザーが作成したプロパティを削除するには

  1. 当該の操作、エンドポイント、サービスまたはトランザクションの「プロパティ」タブを選択します。

  2. 「編集」ボタンをクリックして「削除」を選択します。

  3. 「OK」をクリックして新しい定義を保存します。

5.4 トランザクションの定義、変更および削除

トランザクションは、1つの単位として監視および管理する一連のサービス操作です。この項では、Business Transaction Managementを使用したトランザクションの定義、トランザクション定義の変更およびトランザクションの削除の方法について説明します。

トランザクションに対してオンにする機能の数が多くなるほど、Business Transaction Managementのパフォーマンスへの影響も大きくなる点に注意してください(特にボリュームが大きい場合)。たとえば、メッセージ・ロギングは、トランザクション内のすべての操作に対して有効にするよりも、関連する狭い領域に制限するのが最適です。次のガイドラインは、トランザクション監視のオプションの相対的なパフォーマンス・コストを示しています。

  • : 開始メッセージと終了メッセージが同じ場合のコア測定

  • : セグメンテーション、条件評価

  • : インスタンス・ロギングおよびメッセージ・ロギング

5.4.1 トランザクションの定義

トランザクションの定義では、次の情報を指定します。

  • トランザクションに参加する操作と、トランザクションの開始および終了メッセージ。

  • トランザクションをアクティブに監視する必要があるか、または一時的に休止する必要があるか。

  • 情報をIPアドレスまたはコンシューマ別にセグメント化するか。

  • トランザクション・インスタンスまたはメッセージ・コンテンツをログに記録するか。

  • メッセージをどのように相関させるか(フィンガープリントの使用または定義した手動キーの使用)。

  • トランザクション・メッセージをどれくらいの期間保持する必要があるか。

次の各項では、トランザクション定義の各側面を指定する方法について説明します。

5.4.1.1 操作の選択およびトランザクションの有効化

トランザクションに参加する操作を定義し、トランザクション監視を有効にすると、「トランザクション」ビューでのトランザクションおよび関連サービスの表示、固定値およびベースラインのサービス・レベル合意(SLA)の作成、「サマリー」タブでのリンク測定のサマリーの表示および適切なビューでのその他の測定の表示を行うことができます。測定については、開始済トランザクションと完了済トランザクションの数、スループット、平均レスポンス時間、最大レスポンス時間およびフォルトを表示できます。

  1. トランザクションに含める操作を選択します。任意のビュー(サービス・グラフ、依存性ダイアグラム、データ・グリッドまたはメッセージ検索ツール)から操作を選択できます。

  2. 「作成」メニューから「トランザクション」を選択します。Business Transaction Managementによって「トランザクション」ツールが表示され、トランザクションのすべての側面を定義できます。

  3. 「定義」タブを選択します(まだ選択していない場合)。このタブに表示されている、定義に必要な基本的な要素(開始メッセージ、終了メッセージおよび最大トランザクション期間)に注意してください。「トランザクション監視の有効化」チェック・ボックスはデフォルトで選択されています。ボックスの選択を解除すると、監視を一時的にオフにしてトランザクション定義を保持できます。

    上部ペインには、選択した操作に依存するすべての操作がツールによって表示されます。デフォルトでは、依存性チェーンの最も左にある操作のリクエスト・メッセージが開始操作に指定され、最も左にある操作のレスポンス・メッセージが終了メッセージに指定されます。ツールでは、指定された開始操作が結果の依存性チェーン内のすべてのサービス操作とともに表示されます。デフォルトでは、トランザクションでメッセージを相関させるためにメッセージ・フィンガープリントが使用されます。これらは、トランザクション・マップ内ではフィンガープリント・アイコンで表されます。必要に応じて、Business Transaction Managementで手動キーを使用してメッセージを相関させることもできます。

  4. デフォルトでは、トランザクション名は開始操作に基づきます。別の名前を割り当てるには、「トランザクション名」テキスト・ボックスで指定します。

  5. デフォルトで選択された開始メッセージおよび終了メッセージを変更する場合は、「開始メッセージ」または「終了メッセージ」ドロップダウン・リストをクリックして、別の開始メッセージおよび終了メッセージを選択します。

    開始メッセージと終了メッセージが同じ操作のリクエスト/レスポンス・メッセージではない場合、Business Transaction Managementでパフォーマンスを測定するためには共通のコンテンツを持つキーを指定する必要があります。必要な情報を入力するよう要求されます。ECID値を共通キーとして指定できます。

  6. トランザクションをさらにカスタマイズするには、グラフの右にあるボタンを使用して、操作の追加、既存の操作への接続、メッセージ・フローの方向の指定または操作の削除を行います。また、追加した操作をトランザクション内の既存の操作に接続するための手動キーを指定する必要もあります。

  7. 新しいトランザクションは、デフォルトで有効になっています。つまり、Business Transaction Managementによってトランザクション・パフォーマンスの監視、測定の収集、トランザクションに条件が定義されている場合は条件の評価が行われています。

    トランザクションを無効にするには、「トランザクション監視の有効化」チェック・ボックスをクリックします。これにより、測定収集(セグメント化および非セグメント化)、条件評価、インスタンス・ロギングおよびコンテンツ・ロギングがオフになります。ただし、トランザクションに適用されているSLAは明示的に無効にしないかぎり評価を継続し、起動する可能性があります。トランザクションの無効化は、トランザクション定義を保持したままトランザクション監視を休止する方法の1つです。

  8. デフォルトでは、トランザクションのスコープ(完了するまでにかかる時間)は1分に設定されます。Business Transaction Managementでは、トランザクション・メッセージの検出においてこの値がガイドラインとして使用され、一意のコンテンツの出現が予期される時間枠が定義されます。トランザクションの特性に応じて、「最大トランザクション期間」に対して、この値を長い期間に変更できます。(1分という値は、最小設定とデフォルト設定の両方です。)ここでの目的は、正常に完了しそうにないトランザクションを閉じて、必要なリソースを解放することです。

トランザクションの作成後にJDBCサマリー・モードの設定を変更する場合は、さらにトラフィックを実行してからトランザクション定義を更新する必要があります。詳細は、4.1.4.2項「サマリー・オプション変更後のトランザクション定義の更新」を参照してください。

5.4.1.2 セグメンテーションの有効化

Business Transaction Managementでは、IPアドレスに基づいてトランザクションの測定値を切り分けることも、個々のコンシューマごとに測定値を切り分けることもできます。セグメンテーションを有効にするには、「トランザクション」ツールの「セグメンテーション」タブを使用します。セグメンテーションを有効にすると、トランザクションの使用状況SLAを作成し、トランザクション使用状況をクライアントIPアドレスごとに表示し、トランザクション測定結果をコンシューマ別に表示できます。「プロファイル」タブでは、有効化されているセグメントおよびコンシューマ・プロパティとして使用されているプロパティを確認できます。

セグメンテーション・オプションのいずれか、または両方を有効にすることができます。次の図に、セグメンテーションを有効にして特定のプロパティをコンシューマにマップした後のタブの表示を示します。コンシューマ・アイコンに注意してください。

セグメンテーションを有効にするには:

  1. 「トランザクション」ツールの「セグメンテーション」タブを選択します。

  2. クライアント・アドレス(IP)セグメンテーションを有効にするには、チェック・ボックス「クライアント・アドレスのセグメンテーションを有効化」を選択します。

  3. コンシューマ・セグメンテーションを有効にするには、チェック・ボックス「コンシューマ・セグメンテーションを有効化」を選択します。

    コンシューマ・セグメンテーションは、トランザクションの開始メッセージのプロパティの定義に依存します。このプロパティは、コンシューマ・ビジネス・オブジェクトにマップするメッセージ要素を示します。トランザクションを定義する前にこのプロパティを定義していない場合は、手順4から9に示すように定義を実行できます。プロパティを定義した場合は、ここでそれを選択します。

  4. 「新規プロパティ」ボタンをクリックします。Business Transaction Managementによって「プロパティの作成」ツールが表示されます。

  5. プロパティの名前を指定し、必要に応じて説明を入力します。

  6. プロパティ・ソース: プロパティ値のソースを「メッセージ・コンテンツ」または「ヘッダー」から選択します。

  7. 「メッセージから選択....」リンクを選択し、コンシューマ・ビジネス・オブジェクトにマップする要素を選択します。

  8. コンシューマ・マッピング: チェック・ボックス属性コンシューマ名を通じてコンシューマにマップを選択します。必要に応じて後で選択内容を変更できますが、複数のプロパティをコンシューマ・オブジェクトにマップすることはできません。

  9. 機密情報が含まれているためコンシューマ名をそのまま表示しない場合は、「秘密として扱う」チェック・ボックスを選択します。

  10. 「OK」をクリックします。

5.4.1.3 インスタンス・ロギングおよびメッセージ・コンテンツ・ロギングの有効化

インスタンス・ロギングを有効にすると、指定した時間間隔に取得されたトランザクション・インスタンスのリストを表示できます。これらは、「トランザクション」ビューの「インスタンス」タブに表示されます。指定したインスタンスを検査し、そのインスタンスにプロパティ値がある場合はそれを表示し、プロパティ値に基づいて各種条件を作成できます。これらの任意のインスタンスをアセンブルすることもできます。

インスタンス・ロギングを有効にするには:

  1. 「ロギング」タブを選択します。

  2. 「インスタンスとプロパティのロギングを有効化」というタイトルのチェック・ボックスを選択します。

メッセージ・コンテンツ・ロギングを有効にすると、指定した操作のメッセージ・コンテンツを表示できます。(この場合、Business Transaction Managementによって、この特定のトランザクション・フローに属しているメッセージではなく、指定した操作のすべてのメッセージがログに記録されます。)メッセージ・コンテンツには様々な方法で到達できます。メッセージ・ログ検索ツールを使用してフリー・テキスト検索に基づいて操作を見つけ、関連するトランザクション・インスタンスを開くか、または「分析」タブおよびアラートからメッセージ・ログにドリルできます。

メッセージ・コンテンツ・ロギングを有効にするには:

  1. 「ロギング」タブを選択し、「選択した操作に対するメッセージ・コンテンツ・ロギングを有効化」というタイトルのチェック・ボックスを選択します。

  2. コンテンツをログに記録する操作(メッセージ)を選択します。メッセージ・コンテンツのロギングは負荷の高い操作です。メッセージのロギングを開始する前に、対象のメッセージのスコープを限定することをお薦めします。

前述の例は、CreditServiceサービスの操作checkCreditに対してメッセージ・コンテンツが有効であることを示しています。

5.4.1.4 手動キーを使用したトランザクション内のメッセージの相関

デフォルトでは、各メッセージのコンテンツに基づいてフィンガープリント(ハッシュ値)を計算することによって、およびコール・チェーンの最後まで着信メッセージを送信メッセージと組み合せることによって、Business Transaction Managementでトランザクション内のメッセージが相関されます。手動キーを定義することは、メッセージの相関にかわる方法です。手動相関は、トランザクションへのセカンダリ操作フローの追加、終了メッセージと開始メッセージが同じ操作に属していないトランザクションの定義、および欠落メッセージ条件の定義のために使用されます。

トランザクション・メッセージは1つの方法で相関させる必要はなく、一部のメッセージを自動相関させ、他のメッセージを手動キーを使用して相関させることができます。手動キーを定義するには、メッセージ・プロパティにマップする必要があり、そのプロパティによって次に説明する特定の要件が満たされている必要があります。

手動キーはメッセージ・プロパティにマップされます。

プロパティは、メッセージ内の単一要素、要素の組合せ、または要素のフラグメントに対応します。プロパティを定義してから手動キーを定義できます。

手動キーに対して定義するプロパティは、次の2つの要件を満たしている必要があります。

  • その値は、相関させているメッセージと同じである必要があります。

  • その値は、トランザクションのスコープに対して一意である必要があります(スコープは「最大トランザクション期間」の値によって定義されます)。

たとえば、ショッピング・タイプ・アプリケーションでは、受注IDが手動キーに適した選択肢である場合があります。

次の場合には操作を手動で相関させる必要があります。

  • トランザクションへのセカンダリ操作フローの追加。これは、JMSなどの非同期システムの場合に必要になることがあり、基礎となるデータを共有するが因果関係としては接続されない2つの操作フローを接続する場合に望ましいことがあります。たとえば、受注の入力によって定義されるフローと、受注の終了によって定義される別のフローがあります。同じ受注が2つの別々のプロセスに関与します。

    この場合、リンクする2つの操作を識別し、メッセージ・プロパティにマップできるそれら2つの操作の共通の要素を見つける必要があります。プロセスとしては、操作をトランザクションに追加し、トランザクション内の既存の操作に接続し、リクエストが進む方向を指定します。2つの操作は「メッセージ・キー」タブに表示され、ここで手動キーを使用してそれらを接続できます。

  • 終了メッセージがフローを開始した操作の終了メッセージとは異なるトランザクションの定義。

    この場合、メッセージ・プロパティにマップできる開始メッセージと目的の終了メッセージ内の共通の要素を見つける必要があります。終了メッセージを指定すると、開始メッセージと終了メッセージを接続する手動キーの入力を求められます。

  • 欠落メッセージ条件の定義。

    欠落メッセージ条件では、開始メッセージの発生後、指定した時間内に指定したターゲット・メッセージが着信しない場合にアラートが生成されます。この場合、開始メッセージとターゲット・メッセージに共通の要素に対してキーを定義する必要があります。欠落メッセージ条件を定義すると、開始メッセージとターゲット・メッセージを接続するキーの入力を求められます。

「トランザクションの作成」ツールの「メッセージ・キー」タブを使用して、セカンダリ・フローを追加するときにBusiness Transaction Managementによって操作が相関される方法を定義します。指定した操作が依存性フロー内の複数の操作と相関する場合は、相関ごとに手動キーを作成するオプションがあります。同じキーを使用して3つの異なる操作に相関させる必要も、同じ相関方法を使用する必要もありません。

メッセージを相関させる手動キーを作成するには:

相関を定義する前に必要なプロパティを定義するか、または「メッセージ・キー」タブからプロパティ・ツールにアクセスして、相関を定義するのと同時にプロパティを定義できます。

  1. 「メッセージ・キー」タブを選択します。

  2. 相関させる操作の組合せの開始操作を選択します。

  3. 当該の開始操作の「メッセージ・フィンガープリント」項目をクリックして、キー・ドロップダウン・リストを表示します。Business Transaction Managementによって操作のプロパティのリストが表示され、そこから手動キーとして使用するものを1つ選択できます。

  4. キーとして使用するプロパティを選択します。

  5. 操作の各呼出しに対して一意の値を持つプロパティが表示されない場合は、ドロップダウン・リストから「新規プロパティ」を選択してプロパティ・ツールを開き、そのツールを使用してメッセージ・キーとして使用するプロパティを定義します。

  6. キーを作成した開始操作に対応する終了操作を選択します。

  7. 手順4から5を繰り返して、終了操作のキーを選択および定義します。(プロパティ名は異なる場合がありますが、プロパティの値は同じである必要があり、トランザクション・インスタンスに対して一意である必要があります。)

  8. 相関させる操作の各組合せに対して手順4から7を繰り返します。(手動キー用に作成したプロパティは、選択したトランザクションの「プロファイル」タブの「プロパティ」ペインに表示されます。)トランザクションの定義が終了すると、手動キーを使用して相関されるすべての操作について、トランザクションを表すグラフィックはフィンガープリント・アイコンではなくキー表示アイコンに変わります。

5.4.1.5 記憶域設定の定義

トランザクションの定義の最後の手順は、アーカイブ設定の定義とメッセージ・コンテンツの索引付けの有効化です。

「記憶域設定」タブを使用してこれらの値を定義します。次の表にデフォルト設定を示し、設定の意味を説明します。

項目 デフォルト値 説明
アーカイブされた条件インスタンスを維持 30日 Business Transaction Managementで、アーカイブされた条件インスタンスをトランザクション・サーバーのデータベースに維持する必要がある時間。

アーカイブされた条件インスタンスは、トランザクションに属している操作のいずれかに対して設定された条件がtrueと評価されたときにアセンブルされて維持されるトランザクション・インスタンスです。(インスタンス・ロギングがオンになっていない場合は、条件を定義するときにオンにする必要があります。)

個々のメッセージを維持 24時間 Business Transaction Managementで、ログ・メッセージをトランザクション・サーバーのデータベースに維持する必要がある最小時間。
メッセージ・ログの切替え 720分 メッセージ・ロギングをオンにした場合は、これによってログ・メッセージの切替え間隔を指定します。切り替えられたメッセージは、「個々のメッセージを維持」に対して定義された時間、メッセージ・ログ・データベースに保持されます。
テキスト索引のメッセージ・コンテンツ オン キーワードベースの検索を高速化するテキスト索引をOracleデータベースに作成します(記憶域と初期処理時間が必要になります)。この機能を無効にした場合でもコンテンツベースの検索を実行できますが、時間がかかります。

5.4.2 トランザクション定義の変更

トランザクション定義を変更すると、環境内のトランザクションの定義が変更されます。トランザクション定義の任意の部分を変更できますが、Business Transaction Managementでは定義のバージョンは追跡されないことに注意してください。そのため、定義を変更する部分によっては混乱が発生する場合があります。たとえば、トランザクション定義に対して操作を追加または削除した場合、または操作を相関させるために使用するキーを変更した場合で、変更した定義に先行していたトランザクション・インスタンスをアセンブルしようとすると、予期せぬ結果が生じる場合があります。一方、トランザクションの有効化または無効化や記憶域オプションの変更では、問題は発生しません。

トランザクション定義を変更するには:

  1. 「エクスプローラ」→「トランザクション」サマリー・ビューで、対象のトランザクションを選択します。

  2. 「変更」メニューから、TransactionNameの編集」を選択します。

  3. トランザクション変更ツールを使用して、トランザクション定義を変更します。定義要素の詳細は、5.4.1項「トランザクションの定義」を参照してください。

  4. 「OK」をクリックします。

Business Transaction Managementには、定義を編集しなくてもトランザクションを有効または無効にするために使用できるショートカットがあります。

トランザクションを有効または無効にするには:

  1. 「エクスプローラ」→「トランザクション」サマリー・ビューで、対象のトランザクションを選択します。

  2. 「変更」メニューから、TransactionNameの有効化」またはTransactionNameの無効化」を選択します。選択したトランザクションの現在のステータスに応じて、適切なアクションを使用できます。

5.4.3 トランザクション定義の削除

トランザクション定義を削除すると、環境から定義が削除されます。このトランザクションに対して定義されている条件アラートはトリガーされません。このトランザクションの既存のインスタンスはすべて削除されます。

トランザクションを削除するには:

  1. 「エクスプローラ」→「トランザクション」サマリー・ビューで、対象のトランザクションを選択します。

  2. 「変更」メニューから、TransactionNameの削除」を選択します。

  3. 削除を確定します。

5.5 トランザクション・パフォーマンスの表示および監視

トランザクションの定義後、トランザクションの監視が有効な場合は、Business Transaction Managementによってデフォルトのトランザクション測定ポリシーが適用されます。また、トランザクションのインスタンス・ロギングまたはメッセージ・コンテンツ・ロギングが有効な場合は、適切な情報のロギングが開始されます。

トランザクションに参加しているサービスをトラフィックが通過すると、Business Transaction Managementによって、選択したトランザクションのコア測定がメイン領域に表示されます。これには、開始済トランザクションと完了済トランザクションの数、スループットおよび平均レスポンス時間が含まれています。タブ領域には、トランザクション・パフォーマンスとその定義に関する詳細情報が表示されます。次の情報が含まれます。

  • トランザクションのパフォーマンス情報およびトランザクションに含まれる操作のマップを示す「サマリー」タブ。

  • 時間の経過に伴うトランザクション・パフォーマンスのグラフィカル・ビューと、条件、コンシューマ使用状況またはクライアント・アドレスごとにセグメント化されたパフォーマンス、および違反アラートのサマリー情報を示す「分析」タブ。このタブには、独自のカスタム・チャートおよび内訳を作成するオプションもあります。

  • 指定した期間にこのトランザクションについてトリガーされたアラートを示す「アラート」タブ。

  • 「インスタンス」タブ。インスタンス・ロギングを有効にした場合、このタブを使用してインスタンスをアセンブルし、インスタンスのパフォーマンス情報を表示できます。

  • 「メッセージ・ログ」タブ。メッセージ・ロギングを有効にした場合、このタブを使用して、ログに記録された操作の任意のリクエストまたはレスポンス・メッセージのコンテンツを表示できます。

  • このトランザクションに現在関連付けられているサービス・レベル合意のステータスおよび定義を表示する「SLA準拠」タブ。

  • 定義タブ。これらのタブには、トランザクションに関連付けられているトランザクション定義とポリシー、条件およびプロパティに関する情報が含まれています。

この項では、トランザクション属性を使用してトランザクション表示をフィルタ処理する方法、トランザクションのサマリーおよび分析パフォーマンス情報を表示する方法およびアラートを表示して応答する方法について説明します。

トランザクション・パフォーマンスの測定に使用されるインスツルメントの詳細は、6.3項「インスツルメントについて」を参照してください。

5.5.1 トランザクションのメイン・ビューのフィルタ処理

デフォルトでは、ナビゲータから「トランザクション」を選択すると、すべてのトランザクションがメイン領域に表示されます。「フィルタ」リンクまたはドロップダウン・リストを使用して、現在定義されているトランザクションのサブセットが表示されるようにBusiness Transaction Managementを設定できます。フィルタを使用すると、ビューをカスタマイズでき、目的の特性に焦点を当てることができます

5.5.2 パフォーマンス情報のサマリーおよび分析

Business Transaction Managementでは、「トランザクション」ビューの「サマリー」および「分析」タブを使用して、トランザクション・パフォーマンスのサマリーおよび詳細分析が表示されます。この項では、これらの表示について説明します。

5.5.2.1 「サマリー」タブ

「サマリー」タブでは、4つのペインと1つのグリッド・ビューを使用して、トランザクション・サマリー・ダッシュボードにパフォーマンス情報を表します。これらのほとんどは説明不要ですが、「遅延分析」ペインは例外であり、これについては次に詳細に説明します。

トランザクション・サマリー・ダッシュボードには、次のものが含まれています。

  • トランザクションのコンプライアンス全体を示す「ステータス」ペイン。

  • 開始済トランザクションと完了済トランザクションの数、平均レスポンス時間および最大レスポンス時間を示す測定とベースライン・ペイン。ベースラインが定義してある場合、これらは図でグレーの線で示されます。

  • トランザクション・リンクごとに平均レスポンス時間を示すトランザクションのマップ。カーソルを各サービス・アイコンに置くと、そのサービスのパフォーマンスの詳細情報が取得されます。矢印の厚みはスループットを示します。

  • マップ・ペインと一緒に使用できる「遅延分析」ペインでは、トランザクションの各ホップ(リンク)で消費されるレスポンス時間全体の割合が図で示されます。

    グリッドの色付けされた各領域はトランザクション・リンクに対応します。色付きの領域内をクリックすると、マップ内の対応するリンクがハイライト表示され、そのホップでの所要レスポンス時間の割合が表示されます。

    このペインの下部のグラフには、平均レスポンス時間と最大レスポンス時間および開始済トランザクションが表示されます。ペイン内をクリックすると、縦の赤線が表示され、色付けされた割合がメッセージ・トラフィック・フローにどのように対応しているかが示されます。

  • トランザクションを構成する論理および物理操作と、違反アラート、平均レスポンス時間、最大レスポンス時間、スループットおよびフォルトのそれぞれに関するインスツルメントを示すグリッド・ビュー。

5.5.2.2 「分析」タブ

「トランザクション」ビューの「分析」タブでは、「サマリー」タブの測定を時間の経過に伴う傾向として図で表示できます。「分析」タブには、トランザクション・パフォーマンス・データの6個のビューがあります。これらについて、次の表で説明します。

ビュー 説明
パフォーマンス 2色に分けられたチャートが表示され、一方は開始済トランザクション、完了済トランザクションおよび条件を追跡し、もう一方は平均レスポンス時間と最大レスポンス時間を追跡します。
条件 指定期間にトリガーされた条件に関する情報(満たされた条件の名前、条件アラートがトリガーされたエンドポイント、トリガーされた条件アラートの数)が表示されます。
コンシューマ使用状況 コンシューマ別にセグメント化することを選択した場合: サービス・コンシューマとそれらが関連した開始済トランザクションと完了済トランザクションの数、各コンシューマの平均レスポンス時間および最大レスポンス時間が表示されます。
クライアント・アドレスによるブレークダウン IPアドレス別にセグメント化することを選択した場合: トランザクションに関連するサービスのホスト、それぞれで開始および完了したトランザクションの数、各ホストの平均レスポンス時間および最大レスポンス時間が表示されます。
カスタム・チャート カスタム・チャートのパフォーマンス結果が表示されます。選択したインスツルメントでカスタマイズされたチャートや表を設定できます。

「インスツルメントの選択」をクリックして、チャートや表に表示するインスツルメントを選択します。複数のインスツルメントを選択できます。

カスタム内訳 測定するカスタム・パフォーマンス情報および測定が実行される対象セグメントを定義します。

「インスツルメントの選択」をクリックして、表に表示するインスツルメントを選択します。複数のインスツルメントを選択できます。「セグメントの選択」をクリックして、測定をセグメント化する方法を選択します。複数のセグメントを選択できます。


5.5.3 アラートの表示および応答

アラートは、選択したトランザクションの「アラート」タブに表示されます。そのタブの「フィルタ」ボタンを使用して、アラートが表示される時間範囲を設定できます。

次のいずれかの状況が発生した場合、システムにより自動的にアラートが生成されます。

  • SLA施行ポリシーによって、失敗アラート、警告アラートまたはコンプライアンス・アラートが発行されます。

  • 条件がtrueに評価されます。

アセンブルされたトランザクション・インスタンスを調べ、適切なアクションを実行することで、条件によってトリガーされたアラートに応答できます。

5.6 「上位10件のトランザクション」ダッシュボード

「上位10件のトランザクション」ダッシュボードを使用すると、システム内で最も負荷がかかっているコンポーネントの状態をすばやく識別および評価できます。

ダッシュボードを表示するには、「ダッシュボード」「上位10件のトランザクション」を選択します。

ダッシュボードには4つの表が表示されます。各表は特定のインスツルメントに基づいており、そのインスツルメントで測定が最も高い(稼働時間のみは最も低い)10件のトランザクションが表示されます。

トランザクションに対して表示されるデータのデフォルトの評価期間は7日間です。評価期間を変更するには、一番上に表示されている「時間間隔」コントロールをクリックします。期間は、過去1日間、過去1時間または過去10分間に変更できます。

「上位10件のトランザクション」ダッシュボードには、次の特性を持つ10個のトランザクション・タイプを表示する表があります。

  • 最も多い開始済トランザクション数(「最多開始済」表)

  • 最も多い完了済トランザクション数(「最多完了済」表)

  • 最も遅い平均レスポンス時間(「最遅平均レスポンス時間」表)

  • 最も多い条件アラート数(「最多条件アラート」表)

各表には、インスツルメントの数値とチャートが表示されます。カーソルをチャートに合わせて、特定の時間区分の詳細情報を表示します。

詳細な情報および分析を参照するには、トランザクションまたはサービスをダブルクリックしてタブ領域を表示し、「分析」タブを選択します。

5.7 トランザクション・インスタンスの表示

トランザクションは、通常、指定期間に何度か実行されます。トランザクション・インスタンスのロギングを有効にしているか、フォルト監視を有効にしている場合、Business Transaction Managementは、トランザクションに含まれるメッセージのフローを追跡し、これらを特定のトランザクション・インスタンスにマップします。これは、次の場合、トランザクション・インスタンスのメッセージをアセンブルします。

  • フォルトの結果アラートが生成される場合、または条件が満たされる場合

  • アセンブリを明示的に要求する場合

トランザクション・インスタンスをアセンブルすると、「インスタンス」タブを使用して、そのインスタンスのパフォーマンスの詳細情報を表示できます。「メッセージ・ログ」タブを使用して、特定のプロパティ値を含むメッセージを検索することもできます。メッセージのコンテンツを表示するには、メッセージ・コンテンツ・ロギングを有効にする必要もあります。

この項では、次のことを実行する方法を説明します。

  • すべてのトランザクション・インスタンスのサマリーの表示とこれらのサブセットの検索

  • インスタンスのアセンブルおよび検査

5.7.1 取得したトランザクション・インスタンスの表示

トランザクションのタブ領域の「インスタンス」タブでは、取得したトランザクション・インスタンスを表示できます。

表のID列に、アセンブルされたインスタンス(ID値が割り当てられている)とアセンブルされていないインスタンス(「アセンブル」ボタンがある)の両方が表示されます。

各インスタンスの情報により、インスタンスの取得時間、トランザクション・インスタンス全体の応答時間、プロパティの値(プロパティを作成した場合)が示されます。

「インスタンスの表示」フィルタ処理制御では、指定期間に発生したインスタンスをリストしたり、アセンブルしたインスタンスのみを表示したりすることができます。

どのインスタンスをアセンブルするかは、目的によって異なります。たとえば、レスポンス時間が異常に遅いインスタンスをアセンブルする場合や、プロパティ値が予想外のインスタンスをアセンブルする場合などがあります。

大量のメッセージを取得している場合、「メッセージ・ログ」タブを使用し、プロパティ値に基づいて検索対象となるメッセージの量を減らしてから、インスタンスを1つ以上アセンブルできます。

5.7.2 インスタンスのアセンブルおよびインスタンス・インスペクタの使用方法

インスタンスをアセンブルするには、「インスタンス」タブでインスタンス・インスペクタ・アイコン(拡大鏡)をクリックします。

Business Transaction Managementによって「トランザクション・インスタンス・インスペクタ」が表示されます。このビューは、トランザクション・インスタンスの識別情報(上部)、マップ・ビュー(中央)およびトランザクション・インスタンスに含まれているすべての操作を表示するグリッド・ビュー(下部)という3つの部分で構成されています。

インスペクタの上部には、トランザクションの名前、アセンブルしたインスタンスの実行開始時間、そのID、メッセージ交換の数、交換したメッセージの総数、開始メッセージから終了メッセージまでのレスポンス時間が表示されます。この領域には警告またはフォルトも表示されます。

それに続くインスタンス・マップでは、トランザクション・インスタンス全体と、リクエスト/レスポンス・リンクごとに指定されたレスポンス時間を表示できます。カーソルを操作名に移動すると、サービス・タイプ、エンドポイント名およびホスト名とポートが表示されます。コールされなかった操作およびJDBCコールを非表示にするオプションがあります。JDBCコールを非表示にすると、データベースをコールする操作が多数ある複雑なトランザクションのコール・グラフを大幅に簡素化できます。

インスペクタ・ウィンドウの一番下にあるグリッド・ビューには、トランザクション・インスタンスに含まれる各メッセージの詳細が表示されます。プロパティ値を定義してある場合、ビューにはプロパティ値を表示する列が含まれています。表示される情報は、JDBCサマリー・モードの設定の影響を受ける場合があります。詳細は、4.1.4.1項「JDBCサマリー・データの表示の理解」を参照してください。

操作の拡大鏡(ティアオフ・コントロール)をクリックすると、「メッセージ・コンテンツ」インスペクタ・ウィンドウが開き、その操作に対してメッセージ・コンテンツ・ロギングを有効にしている場合、選択したメッセージのコンテンツが表示されます。

5.8 ログ・メッセージおよびプロパティの表示

トランザクションの「メッセージ・ログ」タブを使用して、次の情報を表示できます。

  • インスタンス・ロギングが有効な場合、指定期間にログに記録された各メッセージに関する情報と、メッセージに関連付けられたプロパティの値を表示できます。メッセージ・ログ検索ツールを使用して、関連するプロパティ値を含んでいるか、メッセージに関連付けられたECID値に基づくメッセージを検索することもできます。

  • メッセージ・コンテンツ・ロギングが有効な場合、指定期間にログに記録された各メッセージに関する情報と、そのコンテンツを表示できます。この場合、プロパティ値およびECID値に基づいてメッセージを検索する以外に、メッセージ要素のコンテンツに基づいて検索することもできます(フリー・テキスト検索)。

Business Transaction Managementは、次の操作を行った場合のみ、メッセージ・コンテンツまたはインスタンス、およびプロパティ値のログを記録します。

  • トランザクションに対して監視を有効化しました。

  • トランザクションに対して適切なタイプのロギング(インスタンスまたはメッセージ)を有効化しました。

  • メッセージ・ロギングの場合、1つ以上の操作を選択しました。

ログが記録された情報は、トランザクションの作成時に定義する記憶域設定に従って保存されます。

この項では、メッセージに関する情報の表示、メッセージ・ログでのメッセージの検索、およびロギングの有効化または無効化を行う方法について説明します。

5.8.1 ログ・メッセージおよびプロパティに関する情報の表示

指定したトランザクションの「メッセージ・ログ」タブには、メッセージのリストを表示するグリッド・ビューを使用して情報が表示され、リクエスト・メッセージの着信時刻、選択した操作を含むサービス、サービスを実装するエンドポイントの場所、操作(メッセージ)および操作のタイプが表示されます。操作にプロパティが関連付けられている場合、その値は、タイトルがプロパティ名になる追加列に表示されます。

メッセージ・コンテンツのロギングが有効な場合、メッセージをダブルクリックすると、メッセージのコンテンツが表示されます。

グリッドに表示されるメッセージのセットは、タブの上部に表示されるフィルタの設定によって異なります。これを使用して次のものを表示できます。

  • すべての操作、またはドロップダウン・リストから選択した特定の操作

  • すべてのレスポンス、成功した操作のみ、障害のみ

  • 最後に指定された期間で示される時間間隔内、特定の時間以降、または特定の時間と時間の間に到着したメッセージ。

これらの制御を使用して、グリッドに表示されるメッセージの選択を絞り込むことができます。フィルタ設定を変更したら、「検索」を再度クリックしてグリッドに再移入します。

検索をさらに限定するには、「コンテンツの選択...」リンクからアクセスするメッセージ検索ツールを使用します。これにより、プロパティ値やメッセージ・コンテンツに基づいて(メッセージ・コンテンツが有効な場合)メッセージを検索できます。このツールについては、次の項で説明します。

5.8.2 メッセージ・ログ検索ツールの使用方法

メッセージ・ログ検索ツールを使用すると、(ビュー・フィルタによって定義される制限以外に)検索のスコープおよび基準をさらに絞り込むことができます。このツールを起動するには、「表示」メニューから「メッセージ・ログの検索」を選択します。これにより、ロギングが有効になっている監視対象トランザクションに属するメッセージを検索できます。

トランザクションの「メッセージ・ログ」タブから「コンテンツの選択...」リンクをクリックして、現在選択されているトランザクションに属するメッセージを検索することもできます。ただし、このより制限された検索には、検索結果を取得したときに関連トランザクションを検索する追加オプションはありません。

メッセージ・ログ検索ツールには検索基準を定義するために使用できる4つのメイン領域があり、それらはユーザー定義プロパティを使用した検索用の領域、ECIDベースの検索用の領域、プロパティaggregateCountおよびaggregateFaultCountに関連する検索用の領域、「フリー・テキスト検索」というラベルの付いた領域です。これらの領域内のコントロールを使用して、基準と一致するメッセージのセットを検索します。基準を指定すると、ツールの上部にあるテキスト・ボックス内で検索式が構成されます。ボックスをクリアしてやりなおすには、「クリア」ボタンを押します。

Oracle問合せ言語を使用して問合せを構成する方法の詳細は、次の場所を参照してください。

http://download.oracle.com/docs/cd/B28359_01/text.111/b28304/cqoper.htm#BABBJGFJ

検索で使用される式を定義したら、「OK」ボタンをクリックします。次に、「検索」ボタンをクリックして、新たに定義された検索基準に従ってグリッドに再移入します。

次の各項では検索のタイプごとに詳細を説明しますが、1つのタイプに制限されず任意の組合せで使用できることに注意してください。たとえば、特定のプロパティとECID値を持つメッセージを検索できます。

5.8.2.1 ECIDベースの検索

メッセージ(操作)にリクエストまたはレスポンスECIDが割り当てられている場合は、特定のECID値が割り当てられているそれらのメッセージを検索できます。ECIDの意味および割当ての詳細は、5.9項「その他の診断ツールへのアクセス」を参照してください。

ECIDベースの検索を実行するには、ECIDフィールドで一致基準を選択し、ECID入力フィールドにECID値を入力するか貼り付けます。ECID値は、それが表示されている任意の場所からコピーできます。列からコピーする場合は、列を拡張して文字列値全体を取得するようにします。メッセージ・ログ検索ツールによって、すべてのトランザクション・インスタンスでの指定したECIDのすべての操作がグリッド・ビューに表示されます。

図5-1 ECIDベースの検索

この図はテキストで説明します。

指定したECIDを含む特定のトランザクション・インスタンスを表示する場合は、メッセージ・ログ検索ツールのグリッド・ビューで当該の操作を選択し、メッセージ・ログ検索ツールで「表示」→「関連トランザクション」→「target_Transaction」を選択します。当該のインスタンスがインスタンス・インスペクタ・ウィンドウに表示されます。

5.8.2.2 プロパティ・ベースの検索

当該のトランザクションに対して定義されているプロパティが、「メッセージのプロパティ検索」領域に表示されます。ドロップダウン・リストを使用して、プロパティ・ベースの検索基準を指定します。

  • 数値の場合は、ドロップダウン・リストによって、プロパティがより小さい、等しい、より大きい、等しくないなどのメッセージを検索できます。

  • 文字列値の場合は、ドロップダウン・リストによって、同様の一致オプションのセットが提供されます。

5.8.2.3 フリー・テキスト検索

この検索オプションを使用するには、メッセージ・コンテンツ・ロギングを有効にしておく必要があります。

「メッセージに含まれるテキスト」というラベルが付いたボックスに、検索する文字列を入力します。引用符で囲まれた文字列を検索する場合以外は、文字列を引用符で囲まないでください。

5.8.3 メッセージ・ロギングおよびインスタンス・ロギングの有効化および無効化

メッセージ・ロギングおよびインスタンス・ロギングを有効または無効にするには、次の手順を実行します。

  1. 対象となるトランザクションを選択します。

  2. 「変更」→「TransactionNameの編集」を選択します。

  3. 次に表示されるダイアログで、「ロギング」タブを選択します。

  4. 表示されるチェック・ボックスを使用して、メッセージ・コンテンツ・ロギングおよびインスタンス・ロギングを有効または無効にします。

  5. メッセージ・ロギングを有効にする場合は、ログに記録する特定の操作を選択します。

5.9 その他の診断ツールへのアクセス

トランザクション、サービス、エンドポイントおよび操作に関して提供されるメトリック以外に、Business Transaction Managementでは、リクエストが実行されるJVMコンテキストの詳細を表示でき、分散JVM間で実行される場合のリクエストの詳細を表示できます。

追加のビューは次のとおりです。

  • JVMDビューでは、指定の操作が実行される期間内で、実行中のJava仮想マシン(JVM)プロセスの詳細を表示できます。スレッドを実行するためのスタック・フレーム、スレッド状態に関する情報、メソッド実行の頻度やコストに関する集計情報、JavaおよびDBロックの保持に関する情報、Javaヒープのオブジェクトに関する詳細を確認できます。JVMDでは監視する各JVMの履歴データも保存されるため、過去に発生した出来事に関連するデータを表示したり、履歴傾向の要点を取得することができます。

  • 「インスタンス診断リクエスト」ビューでは、WebLogicドメインでリクエストのパスをトレースしたり、リクエストの特定のインスタンスに関連するすべてのメトリックのレポートを生成することができます。

次の各項では、これらのビューがトランザクション操作に関連する場合にそこから取得できる情報について説明し、Business Transaction Managementコンソールからこれらのビューにアクセスする方法について説明します。

これらのビューにアクセスするようにBusiness Transaction Managementを構成する方法の詳細は、5.9.3項「JVMDおよびRIDビューへのアクセスの有効化」を参照してください。

5.9.1 JVMDビューの使用方法

JVMDを使用して追加情報にアクセスすることは、次のような状況で有用です。

  • トランザクションのサマリー情報を表示しているときに、特定の操作が異常に遅いか障害があることに気付きました。そのステップの実行に関する詳細を取得する必要があり、このポイントからJVMDへのドリルを開始します。

  • ログに記録されたトランザクション・インスタンスの詳細を表示しているときに、トランザクションのステップのいずれかが予期したとおりに動作しなかったことに気付きました。このステップの実行に関する詳細がJVMDから必要であり、このポイントからJVMDへのドリルを開始します。

  • メッセージ・ログ検索ツールでログ・メッセージのコレクションを表示しているときに、異常または通常以外のメッセージに気付きました。JVMDを使用してそのメッセージの処理の詳細を取得する必要があり、このポイントからJVMDへのドリルを開始します。

次のエントリ・ポイントからJVMDコンソールにアクセスできます。

  • サービス、エンドポイント、論理操作、物理操作またはトランザクションの「メッセージ・ログ」タブ。行を右クリックし、ドロップダウン・リストから「JVMDにドリルダウン」を選択します。

  • 「トランザクション・インスタンス・インスペクタ」。(グラフまたはグリッド・ビューで)操作を右クリックし、ドロップダウン・リストから「JVMDにドリルダウン」を選択します。ステップが繰り返し実行される場合は、それが実行された最初のエンドポイントが選択されます。

  • メッセージ・ログ検索ツール。メッセージ行を右クリックし、ドロップダウン・リストから「JVMDにドリルダウン」を選択します。

これらのいずれの場合も新しいウィンドウが開き、JVMDビューが表示されます。VMが複数台ある場合は、VMグループ・ターゲットと、そのグループの集計情報がJVMDに表示されます。

JVMDページへのアクセスを有効にする方法の詳細は、5.9.3項「JVMDビューおよびRIDビューへのアクセスの有効化」を参照してください。

5.9.2 「インスタンス診断リクエスト」ビューの使用方法

「インスタンス診断リクエスト」ビューで操作(メッセージ)に関する情報を表示するには、そのメッセージに実行コンテキスト識別子(ECID)が割り当てられている必要があります。この項では、ECIDとは何か、ECIDを割り当てる方法、トランザクションへのマップ方法、Business Transaction Managementコンソールから「インスタンス診断リクエスト」ビューにアクセスして使用する方法について説明します。

JRF 11.1.1.1.0以上のWebLogic (10.3.x)ドメインで実行されている操作についてのみ、「インスタンス診断リクエスト」ビューにデータが表示されます。(SOA 11g、OSB 11gおよびFusion Applicationsのインストールには、すでにJRFが含まれています。)

「インスタンス診断リクエスト」ページへのアクセスを有効にする方法の詳細は、5.9.3項「JVMDビューおよびRIDビューへのアクセスの有効化」を参照してください。

メッセージ・リクエストまたはレスポンスのECID情報は、JVMDエージェントのインストールまたはEMコンソールへの接続の構成を行っていなくてもBusiness Transaction Managementコンソールに表示されますが、これらの前提条件を満たしていないと、指定したECIDの「インスタンス診断リクエスト」ビューを開くことはできません。

メッセージ・ログ検索ツールを使用して、指定したECIDを持つすべてのメッセージを検索できます。詳細は、5.8.2項「メッセージ・ログ検索ツールの使用方法」を参照してください。

5.9.2.1 ECIDの基本

ECIDは、Oracleテクノロジ・スタックでコンポーネントに対するリクエストを追跡するための識別子です。通常はリクエストを処理する最も外側のOracleコンポーネントによって生成され、そのリクエストを処理するOracleコンポーネントによって伝播される場合があります(サーバーの境界を越える場合もあります)。ECIDの作成と伝播により、コンポーネント間でのコンテキストおよび診断データの共有ができるようになります。

実行コンテキスト対応コンポーネントによって処理されたトランザクション操作(メッセージ)は、すべてのリクエスト・ステップによって共有されるECIDが割り当てられた、リクエスト内のステップを表します。Business Transaction Managementによって、メッセージに関連付けられたECIDがあることが検出された場合、そのECIDはメッセージ・リクエストおよびレスポンスの固有のプロパティとして割り当てられ、ECIDの値はメッセージ・ヘッダーに書き込まれます。指定した操作およびフェーズのECID値は、標準プロパティrequestECIDおよびresponseECIDに格納されます。

トランザクションは複数のOracle実行コンテキストにわたる場合があるため、トランザクション内の異なるメッセージは異なるECIDを持つ可能性があります。また、同じECIDが異なるトランザクション内の操作によって共有されることもあります。次の項では、ECIDがトランザクション操作(メッセージ)にどのようにマップされるかについて説明します。

ECIDを使用してJVMDビューまたはRIDビューにドリルダウンする以外に、ECIDは次の状況でも有用です。

  • 開始メッセージと終了メッセージが異なるトランザクションを定義します。この場合、共通のECID値を使用して開始メッセージと終了メッセージを相関させることができます。これにより、BTMによってこのようなトランザクションのパフォーマンスを測定できます。

  • ECIDを共有されるキー値として使用して、接続されていない2つの操作を手動で相関させます。

  • 特定のECID値を持つメッセージを検索します。

5.9.2.2 ECIDとトランザクション操作間の対応

トランザクションがどのように定義およびデプロイされているかに応じて、含まれているメッセージに1つ以上のECIDがある場合があります。ECIDとトランザクション・メッセージ間のマッピングを理解することが重要です。この項では2つの可能性について説明します。

  • 複数のトランザクション定義、1つのECID

    A→B→C→D→というコール・チェーンについて考えます。ABCを含むトランザクションXおよびCDEを含むトランザクションYを定義した場合、単一の呼出しから発生したXのインスタンスおよびYのインスタンス内のメッセージは、同じECIDを持ちます。

  • 複数のECID、1つのトランザクション

    トランザクションXにコール・チェーンA→B→Cが含まれており、BがOracle以外のプラットフォームで実行される場合、操作Bに対応するメッセージにはECIDはなく、AとCのメッセージは異なるECIDを持ちます。

  • 特定の操作で、リクエストのECIDがレスポンスのECIDと異なる場合があります。

つまり、単一のトランザクションに複数のECIDがあること(またはその逆)は何かが誤っていることを意味するわけではなく、操作フローおよび呼出し境界に関する重要な情報が提供されます。

5.9.2.3 「インスタンス診断リクエスト」ビューへのアクセス

指定したECIDに関する情報が表示される「インスタンス診断リクエスト」ビューには、次の場所からアクセスできます。

  • 「トランザクション・サマリー」タブ。(グラフまたはグリッド・ビューで)操作を右クリックし、ドロップダウン・リストから「インスタンス診断リクエスト」を選択します。

  • サービス、エンドポイント、論理操作、物理操作またはトランザクションの「メッセージ・ログ」タブ。行を右クリックし、ドロップダウン・リストから「インスタンス診断リクエスト」を選択します。

  • 「トランザクション・インスタンス・インスペクタ」。(グラフまたはグリッド・ビューで)操作を右クリックし、ドロップダウン・リストから「インスタンス診断リクエスト」を選択します。

  • メッセージ検索ログ・ツール。メッセージ行を右クリックし、ドロップダウン・リストから「インスタンス診断リクエスト」を選択します。

「インスタンス診断リクエスト」ページに、指定したECIDの情報が表示されない場合があります。これは、JVM監視ツールのデフォルトのサンプル率がステップ期間よりも長く、指定したECIDがサンプル期間外に実行された可能性があります。

「インスタンス診断リクエスト」ページには、指定したECIDを持つリクエスト・ステップが実行されたJVMのリストが表示されます。各JVMに対して、次の詳細が表示されます。

  • リクエストが実行された1つ以上のターゲットJVM。

    リクエスト・ステップのRID (関係ID)が異なる場合、JVMは同じECIDで複数回表示される可能性があります。(RIDは、現在のステップの実行とリクエスト全体の実行との関係を表す連続的な数字です。)

  • リクエストの開始時間および期間。

  • リクエスト名、リクエスト内の個別のステップ(jsp、EJB、DBなど)。

  • JVMによるCPUおよびメモリーの使用。

  • ガベージ・コレクション統計(GCメジャー/マイナー)。

「インスタンス診断リクエスト」ビューの最下部に表示される棒グラフには、リクエストの期間内に取得された各JVMスナップショットのスレッドの状態が表示されます。色ごとに様々なスレッドの状態が表され、色分けは右側に表示されます。

棒グラフの任意の棒をクリックして、指定したスレッドおよびスレッド・スタックの詳細を示すペインを表示できます。

「リクエスト集計」タブには、トランザクションに関連する情報は含まれていません。

「インスタンス診断リクエスト」ページには、様々な方法でアクセスできます。たとえば、特定の操作で異常に時間がかかっていることに気付き、そのランタイム・コンテキストの詳細が必要になったとします。その操作にECIDがある場合、「インスタンス診断リクエスト」ページにドリルして詳細を取得できます。また、外部ソースからECIDを取得し、このECIDを持つメッセージがトランザクションに参加しているかどうかを確認します。メッセージ・ログ検索ツールを使用して、このECIDに関連付けられたすべてのメッセージを検索します。メッセージを見つけたら、対応するサービスおよび操作を確認し、関連インスタンスを表示して、当該のメッセージを含んでいたトランザクション・インスタンスを見つけることができます。

5.9.3 JVMDビューおよびRIDビューへのアクセスの有効化


注意:

JVMDがインストールされているマシンが完全修飾ドメイン名(FQDN)によってEnterprise Managerインスタンスで認識されている場合のみBTMからJVM診断にアクセスできます。マシンが短い形式(server1.oracle.comではなくserver1など)でEMに検出/登録されている場合、その特定のサーバーのJVM診断にアクセスできません。FQDNを持つマシンのJVM診断へは引き続きアクセスできます。

「JVM診断」ビューおよび「インスタンス診断リクエスト」ビューへのアクセスを有効にするには、次のことを実行する必要があります。

  • 監視対象のサービスをホストしているすべてのノードにJVMDエージェントをインストールします。

  • JVMDマネージャをEMにデプロイします。

  • 監視対象のサービスをホストしているすべてのノードにBusiness Transaction Managementオブザーバをインストールします。(トラフィックを監視できる場合は、すでにそうなっています。)

  • RIDのみ: インスタンス・ロギングを有効にします。メッセージ・コンテンツにアクセスするには、メッセージ・コンテンツ・ロギングも有効にする必要があります。

  • 次に説明するように、EMコンソールにアクセスするようにBusiness Transaction Managementを構成します。


注意:

ECID情報は、JVMDエージェントのインストールまたはEMコンソールへの接続の構成を行っていなくてもBusiness Transaction Managementコンソールに表示されますが、これらの前提条件を満たしていないと、指定したECIDの「インスタンス診断リクエスト」ビューを開くことはできません。

EMコンソールへの接続

次の手順では、EMコンソールへの接続方法について説明します。これは、「JVM診断」ページおよび「インスタンス診断リクエスト」ページへのドリルダウンを有効にするために必要です。

  1. ナビゲータから「システム・サービス」を選択します。

  2. 「AP_Sphere_Service」エントリを見つけて選択します。

  3. 「管理」→「設定データの編集: AP_Sphere_Service」を選択します

  4. 「XMLの編集」ボタンをクリックします。

  5. XMLドキュメントの下部までスクロールし、「emgcURL」要素を見つけます。

  6. EMコンソールのベースURLが含まれるように、このXML要素を編集します。たとえば、EMコンソールがhttps://adc2101158:4473/emで実行されている場合は、https://adc2101158:4473を入力し、編集したエントリは次のようになります。

    <pfx6:emgcURL>https://adc2101158:4473</pfx6:emgcURL> 
    

    ネームスペース接頭辞はpfx6以外の場合もありますが、XMLテキストに表示された値を使用します。

  7. 「適用」ボタンをクリックして、変更を保存します。

「JVM診断」コンソールにアクセスするときは、そのログイン情報を入力する必要があります。シングル・サインオンはサポートされていません。

5.10 トランザクションに関する情報の取得

トランザクションを定義すると、詳細領域のタブを使用して、トランザクションに適用されているポリシー、条件およびプロパティに関する情報を取得できます。トランザクションのプロファイルを表示することもできます。場合によっては、タブに表示されている要素の定義またはステータスを変更することもできます。

5.10.1 プロファイル情報の取得

「トランザクション」ビューの「プロファイル」タブを使用して、トランザクションのマップやその定義を確認します。

「プロファイル」タブでは、本質的には「変更」メニューからTxNameの編集」を選択してトランザクション定義を表示した場合に表示されるのと同じ情報が提供されます。かわりに「プロファイル」タブを選択すると、他のタブまたはビューへの切替えが容易になり、意図しない変更が防止され、次の3つの追加情報が提供されます。

  • 定義の最終変更日

  • トランザクションに定義されたユーザー属性

  • CLIコマンドでトランザクションを特定する場合に必要になることがあるトランザクション識別子

5.10.2 ポリシー情報の取得

「ポリシー」タブを使用して、トランザクションに関連付けられたポリシーに関する情報を表示します。

タブには、適用されるポリシーに関する情報がデフォルトで表示されます。フィルタ制御を使用して、変更されたポリシー、無効になったポリシー、保留中のポリシー、拒否されたポリシーおよび適用されなかったポリシーを表示できます。

適用されたポリシーの名前は、ツリー・ビューの「名前」列に表示されます。ポリシー・ノードを展開すると、次の情報が表示されます。

  • ポリシー・ステータス詳細は、ポリシーの適用で生じる問題をリストします。

  • 監視対象オブジェクト・タイプは、ポリシーの適用先ターゲットを指定します。

  • 「場所」は、ターゲット・エンドポイントのアドレスを指定します。

  • 管理の仲介は、ポリシーを適用するBusiness Transaction Managementエージェントを指定します。

「ポリシー」タブのポリシー名をダブルクリックすると、選択したポリシーのアラート、プロファイルおよびターゲット情報の表示に使用できる新しいウィンドウが開きます。

5.10.3 条件定義の取得および変更

「トランザクション」ビューの「条件」タブを使用して、トランザクションに対して定義した条件を表示します。このタブでは、次の操作を行うことができます。

  • フォルト監視のステータス(有効または無効)を表示および変更します

  • 条件の定義とステータスを表示します。

  • 条件ごとに表示される「編集」ドロップダウン・リストを使用して、条件定義の変更、条件の複製または条件の削除を行います。

5.10.4 プロパティ情報の取得

「トランザクション」ビューの「プロパティ」タブを使用して、指定したトランザクションに含まれるメッセージに定義されたすべてのプロパティのリストを表示します。このタブには、プロパティのリスト以外に、次の内容に関する情報が表示されます。

  • プロパティが定義されるサービスと操作。

  • 操作のフェーズ(リクエスト/レスポンス)。

  • プロパティ値のデータ型。

  • 値の大文字/小文字の区別。

  • コンシューマにマップされるかどうか(左側の人型アイコンで示される)、コンシューマにマップされるどの属性に関連付けられるか。

  • プロパティを作成したときに値を指定した場合の説明。

リストされる各プロパティの「編集」ドロップ・ダウン・リストで、プロパティ定義を変更、複製または削除できます。

5.11 トランザクションのトラブルシューティング

この項では、トランザクションの使用における問題を解決するのに役立つ情報を提供します。

トランザクションのパフォーマンス監視が予期したとおりに機能しない場合、考慮する必要がある最も一般的な2つの問題は次のとおりです。

  • 結果を予期している対象期間内に、サービスにトラフィック・フローがあったかどうか。Business Transaction Managementでは、非アクティブなサービスのパフォーマンスは測定できません。

  • 測定または分析が依存する機能が有効になっているかどうか。機能とは、コンシューマ・セグメンテーション、インスタンス・ロギング、メッセージ・コンテンツ・ロギングおよび最も基本的にはトランザクション監視のことです。トランザクションの「プロファイル」タブを確認して、目的の機能が有効であることを確認します。

トランザクションの監視が有効な場合、結果を得ようとする期間にトラフィック・フローがある場合、および必要な機能がアクティブ化されている場合は、完全で正しいデータが表示されます。そうならない場合は、次の考えられる問題と解決方法の説明を参照してください。


注意:

問題に関係している可能性がある情報について、「過去1時間のアラート」→「システム・アラート」を確認してください。

トランザクションを作成できない

Business Transaction Managementではトランザクション定義を検証できず、定義済トランザクションを作成できません。次の原因が考えられます。

  • トランザクション内の操作の名前に特殊文字が含まれています。Business Transaction Managementではピリオドが含まれた名前は処理できますが、その他の特殊文字では問題が発生する場合があります。

  • 別のトランザクションによって使用されている開始操作を選択しました。

  • 開始操作とは異なる終了操作を選択しましたが、開始メッセージと終了メッセージを相関させる手動キーを指定しませんでした。

  • 接続されていないフローがトランザクション定義内にあります。

  • 開始操作と終了操作が異なっており、異なるメッセージ・ログ・データベースが使用されています。

トランザクションが無効になっている

トランザクションの監視を明示的には無効にしていないが、測定が収集されず、ロギングおよび条件処理が無効です。「プロファイル」タブに表示されるステータスを確認すると、トランザクションのステータスが無効またはシステム無効です。

これには様々な理由があります。

  • トランザクション定義でキーとして使用されていたプロパティを変更または削除しました。

  • トランザクション定義に含まれていたサービスまたは操作を削除しました。

  • トランザクション定義に含まれていたサービスを無効にしました。

  • 開始操作と終了操作が異なるトランザクションについて、1つ以上の開始/終了操作エンドポイントが同じメッセージ・ログ・データベースを共有しなくなっています。

  • コンシューマ・セグメンテーションに使用されているプロパティを削除するか、ユーザーがコンシューマ・セグメンテーションに使用されているコンシューマ・プロパティを編集してコンシューマ・マッピング情報を削除します。

パフォーマンス測定が不完全または不正確である

これには様々な理由があります。

  • 「最大トランザクション期間」に対して指定した値が、トランザクションにとって短すぎます。

  • 1つの操作を共有する複数のトランザクションを定義しました。トランザクションそれぞれの合計レスポンス時間は正確ですが、共有操作へのリンク測定では各コール元からの呼出しの合計が表示されます。トランザクションABCおよびYBCを示す次の図では、BCリンクのレスポンス時間は合計になります。

    txs_w_shared_svc.gifの説明が続きます
    図txs_w_shared_svc.gifの説明

  • トランザクションの実行が終了していません。

  • Business Transaction Managementでは、レスポンス時間を定義するために開始操作と終了操作が使用されます。これらの操作は「最大トランザクション期間」に対して定義された期間内に1回のみコールされると想定されます。また、その期間に表示されるコンテンツは一意であることも想定されます。これらの要件が満たされない場合、トランザクションに対して生成されるパフォーマンス測定は正確でない場合があります。

セグメント化された情報がない

コンシューマ・セグメンテーションが有効ですが、コンシューマの情報が収集されません。

  • コンシューマ・セグメンテーションに使用されるプロパティが削除または変更されたため、コンシューマにマップされなくなっているかどうかを確認します。

  • トランザクション定義を以前のリリースからインポートした場合、コンシューマ・マッピング情報はインポートされません。トランザクション定義を変更してマッピング情報を再作成する必要があります。

ログに記録されたインスタンスまたはメッセージに予期した情報が含まれていない

ログに記録されたインスタンスについて、予期した情報に関連付けられているプロパティが削除されたかどうかを確認します。

1つのトランザクションのすべてのメッセージが同じデータベースに記録される必要があります。トランザクションがファイアウォールを越えるため、この要件が満たされない場合があります。この場合、Business Transaction Managementサポートの支援が必要になる場合があります。

ログに記録されたメッセージの問題については、ログ・ポリシー設定を確認し、その内容をBusiness Transaction Managementサポートに報告する必要がある場合があります。

条件が無効になっている

条件定義で使用されるプロパティが変更または削除されたかどうかを確認します。

インスタンス・ロギングを無効にしており、それに依存するトランザクションに対して有効な条件が少なくとも1つあります。

条件によってアラートがトリガーされない

条件を評価する必要があるときにトランザクション・サーバーが停止していました。サーバーのステータスを確認してください。

欠落メッセージ条件が誤ってトリガーされる

欠落メッセージ条件がトリガーされますが、メッセージは存在しており、収集されています。これは、監視処理が特に遅く、トランザクションの存続時間が期限切れになった後に欠落メッセージ条件が評価された場合に発生する可能性があります。まれな状況です。

5.11.1 ログ・ポリシー設定の表示

トランザクションの記憶域設定に基づいて、Business Transaction Managementによってトランザクションごとにログ・ポリシーが作成され、トランザクションの監視およびログ・メッセージの保存の際にこのポリシーが参照されます。ログ・ポリシー設定の一部は、トランザクションを定義するときに指定した情報から導出されます。次の表に、ログ・ポリシー設定とトランザクション定義ランタイム設定の間の対応を示します。

ログ・ポリシー・フィールド トランザクション定義ランタイム設定 説明
保証格納期間 個々のメッセージを維持

デフォルト: 24時間

Business Transaction Managementで、アセンブルしていないメッセージをトランザクション・サーバーのデータベースに維持する必要がある時間。したがって、これらのメッセージはアセンブリ可能です。
切替え間隔(分) メッセージ・ログの切替え

デフォルト: 720分

トランザクションを支援するログ・ポリシーの切替え間隔を指定します。切り替えられたメッセージは、「個々のメッセージを維持」に対して定義された時間、保持されます。
テキスト索引のメッセージ・コンテンツ テキスト索引のメッセージ・コンテンツ キーワードベースの検索(フリー・テキスト検索)の高速化を可能にするテキスト索引をOracleデータベースに作成します(追加記憶域と初期処理が必要になります)。

ログ・ポリシーの名前は、TransactionNameのシステム生成ログ・ポリシー」になります。このポリシーを表示する必要があるのは、ロギングの問題をトラブルシューティングするときのみです。

トランザクションのログ・ポリシー設定を表示するには

  1. ナビゲータで、「管理」→「システム・ポリシー」を選択します。

  2. メイン領域で、TransactionNameのシステム生成ログ・ポリシー」エントリを選択します。

  3. タブ領域が開いていない場合は開き、「プロファイル」タブを選択します。トランザクションのログ・ポリシーの設定が表示されます。