SOA 環境でトランザクション追跡を使用する
SOA Performance Management (SPM)では、サービスに関連するコンポーネントのパフォーマンス、オペレーション、および全体の稼働状況に関するメトリックの収集により、サービスおよびビジネス プロセスを監視できます。サービスに関する問題がある可能性があると固有のメトリックで提示されると、トランザクション追跡を使用して、実際のビジネス トランザクションに関する詳細を表示できます。これは、原因を見つけて問題を解決するのに役立ちます。
apmdevops104jp
SOA Performance Management (SPM)では、サービスに関連するコンポーネントのパフォーマンス、オペレーション、および全体の稼働状況に関するメトリックの収集により、サービスおよびビジネス プロセスを監視できます。サービスに関する問題がある可能性があると固有のメトリックで提示されると、トランザクション追跡を使用して、実際のビジネス トランザクションに関する詳細を表示できます。これは、原因を見つけて問題を解決するのに役立ちます。
プロセスにまたがるトランザクション追跡
SOA 環境では一般的に、複数の Java 仮想マシン(JVM)または共通言語ランタイム(CLR)インスタンスにわたってトランザクションが実行されます。あるサービスから別のサービスへ処理が渡されます。トランザクションの最初から最後までを参照するには、JVM と CLR の境界にまたがって同期および非同期の呼び出しを追跡できる必要があります。また、Java または .NET エージェントのいずれかを実行する複数のプラットフォームにわたって、トランザクションを追跡できることも必要になる場合があります。
SOA Performance Management を有効にすると、サポートされるプラットフォーム上で実行される、HTTP、HTTPS、または JMS トランスポート プロトコルを使用するビジネス トランザクションを、最初から最後まで追跡できます。トランザクション全体には、多種多様なプラットフォームで処理されるセグメントを含めることができます。たとえば、WebLogic 上で実行されているサービスを使用して、SAP NetWeaver または .NET サーバ上で実行されているサービスに渡されるトランザクションを追跡できます。追加の SOA 拡張機能を有効にすることで、以下のコンポーネントの任意のセグメントをトランザクションに含めることができます。
- Oracle Service Bus
- TIBCO BusinessWorks
- webMethods Integration Server
- WebSphere MQ
- Spring Web サービス
エージェントで Spring Web サービスをサポートすると、クライアントとサーバ両方の Web サービス内部メトリックおよび Web サービス転送メトリックが提供されます。
追跡するノードに対して SOA Performance Management が有効になっている限り、ビジネス トランザクションには、プラットフォームのあらゆる組み合わせを含めることができます。エージェントに対して SOA Performance Management を有効にすることにより、別のノード上で実行されている複数の JVM または CLR インスタンス上のサービスを呼び出すトランザクションの詳細にドリルダウンできます。
SOA Performance Management を有効にした後に、追加の構成は必要ありません。
注:
サポートについては「SOA Performance Management の互換性」を参照してください。トランザクションのセグメントがリンクされる仕組みについて
通常、トランザクションは、あるプロセスから別のプロセスへ渡される一連の呼び出しおよび応答で構成されます。多くの場合、トランザクションのさまざまなセグメントは別々の論理または物理サーバ上で実行されるか、別々のコンポーネントまたはバックエンド システムに分散される場合があります。
したがって、完全なトランザクションをアセンブルするには、どの処理セグメントが同じトランザクションの一部か、いつトランザクション内の 1 つのプロセスが別のプロセスを呼び出すかを特定することが必要です。異なる JVM または CLR インスタンス上で実行できるプロセスを呼び出すトランザクションを最初から最後まで追跡するには、エージェントはトランザクションに相関識別子を追加します。 相関識別子は、同じトランザクションの一部であるセグメントを特定するために、あるプロセスから別のプロセスへ渡すことができます。
同じトランザクションの一部であるコンポーネントを特定することに加えて、相関識別子は、トランザクションのさまざまな部分が呼び出される順序を追跡するための、シーケンスの情報を提供します。 シーケンスの情報により、トランザクション セグメントが呼び出される順序を参照できます。同期トランザクションの場合、順序は、トランザクション セグメント間の呼び出し元と呼び出し先の関係の特定に役立ちます。非同期トランザクションの場合、順序は、複雑なクライアントおよびサーバ トランザクション セグメントの複数のプロセスにまたがる処理ワークフローの特定に役立ちます。
相関識別子データ セットは、エージェントによって自動的に管理され、Enterprise Manager に提供されます。この情報は、選択したトランザクションをトランザクション追跡ビューアでグラフィカル形式で表示するために使用されます。
プロセスにまたがるトランザクション追跡のコンテキストについて
サービスのネームスペースまたはオペレーション名に基づいてトランザクション追跡セッションを開始できます。ほとんどの場合、ネームスペースは、問題のあるサービスの特定に役立つ適切な情報を提供します。問題の原因である可能性があるオペレーションを特定した場合、そのオペレーションについてトランザクション追跡を開始することもできます。
ただし、オペレーション名を使用する場合、サービスのネームスペースがオペレーションのコンテキストを提供することに注意してください。たとえば、航空会社で座席を予約したり、レストランでテーブルを予約したり、病院で診察を予約したりするアプリケーションで、オペレーション名
makeReservation
を使用するとします。オペレーション名 makeReservation
についてトランザクション追跡を開始する場合、そのオペレーションが使用されるネームスペースに注目する必要があります。特定の追跡を選択すると、オペレーションに関するネームスペースの情報が[追跡ビュー]タブの[コンポーネントの詳細]に表示されます。たとえば、[追跡ビュー]タブで
makeReservation
オペレーションを選択する場合、[コンポーネントの詳細]をチェックして、そのオペレーションに関連付けられたネームスペースを確認することにより、このオペレーションが旅行代理店 Web サービスまたはホテル予約サービスの一部かどうかを調べることできます。トランザクション追跡を使用して問題を解決する
プロセスにまたがるトランザクション追跡がどのようにすばやく効果的に問題の評価に役立つかを確認するには、以下の例を考えます。トランザクション追跡セッションを実行した後に、アプリケーション サポートは 6 秒(6000 ミリ秒)の実行期間のトランザクションを見つけます。
トランザクションの追跡ビューから明らかになるのは、トランザクションにクライアント側 Web サービス(
dataservice.yourcompany.net/invoke
)からサーバ側 Web サービス(cics.mycompany.net/invoke
)への呼び出しが含まれること、サーバ側 Web サービスが CICS メインフレームへの多くの呼び出しを行っていることです。CICS の処理時間は追跡ビューに明示的に表示されません。トランザクションの該当する部分がインスツルメントされないためです。しかし追跡ビューには、高速に連続で繰り返される要求に CICS のバックエンドが応答していることが示されます。このトランザクション追跡から、アプリケーション サポート スペシャリストが確認できるのは、サーバ側サービスで、ネストされたループのようなロジックをプログラムすることにより、呼び出しが繰り返されている可能性が最も高いことです。また、サービスの呼び出しオペレーションが、トランザクションの実行時間の合計のほとんどの時間を占めていることです。 この情報を使用して、アプリケーション サポート スペシャリストは、サーバ側 Web サービスの所有者または開発者に直接問い合わせて、CICS のバックエンドを呼び出すアプリケーション ロジックの詳細な調査を依頼できます。
トランザクション追跡の開始と表示
ローカルまたはリモート コンピュータ上の別の JVM または CLR インスタンスへの呼び出しがビジネス トランザクションに含まれる場合、プロセスにまたがるトランザクション追跡を使用して Web サービスの問題を特定して解決できます。Enterprise Manager がクラスタの一部でない場合、トランザクションに参加する JVM または CLR 上のエージェントは同じ Enterprise Manager に情報をレポートする必要があります。そうしないと、相関する追跡が表示されません。エージェントが同じ Enterprise Manager に情報をレポートする場合、トランザクション追跡セッションを開始して、ビジネス プロセス全体に関する情報を収集できます。クラスタ環境では、Workstation が MOM に接続する限り、プロセスにまたがるトランザクションに参加するエージェントはコレクタのいずれかに接続でき、追跡が関連付けられます。
トランザクション追跡セッションは、以下のいずれかの方法で開始できます。
- SOA 依存マップ内のマップ ノードから直接開始する方法。
- [Workstation]-[新規トランザクション追跡セッション]をクリックして Workstation から手動で開始する方法。
以下の手順に従います。
- SOA 依存マップでマップ ノードを右クリックするか、[Workstation]-[新規トランザクション追跡セッション]をクリックして、[新規トランザクション追跡セッション]ダイアログ ボックスを表示します。
- SOA 関連のフィルタ オプションをアクティブにするために 4 番目のチェック ボックスをオンにします。以下の例では、SOA フィルタおよびネームスペース フィルタ定義をアクティブにするためにオンにするチェック ボックスを示しています。

- SOA 関連のフィルタ オプションの一覧から使用するトランザクション追跡フィルタのタイプを選択し、[追加]をクリックします。SOA Performance Management には、サービスのネームスペースまたは特定のオペレーション名に基づいてトランザクションを選択できる、SOA 固有のトランザクション追跡フィルタが含まれています。新しいトランザクション追跡を開始する前に選択したノードに応じて、デフォルトのフィルタおよび値が自動的に設定されます。指定した基準に一致するすべての Web サービスまたは Web サービス オペレーションがかかわるトランザクションを追跡するためのネームスペースまたはオペレーション名フィルタを選択できます。この基準には、TIBCO BusinessWorks や webMethods Integration Server のような、SOA プラットフォームによって提供される Web サービスが含まれる可能性があります。
- [フィルタを設定]をクリックします。
- [追跡セッション期間(分)]フィールドで、トランザクション追跡セッションの実行にかかる分数を入力します。
- [追跡エージェント]セクションで、トランザクションを追跡するすべてまたは特定のエージェントを選択します。
- [OK]をクリックします。トランザクション追跡セッションが開始されます。
サマリ ビューの使い方
トランザクション追跡セッションを開始した後、トランザクション追跡の結果はトランザクション追跡ビューアの上部に表示されます。この一覧には、追跡中のネームスペースまたはオペレーションについてトランザクションのすべてが表示されます。[継続時間]列見出しをクリックすると、継続時間に基づいてトランザクションを並べ替えることができます。
ビューアの上部でトランザクションを選択すると、[サマリ ビュー]タブに、他の JVM または CLR への呼び出しなど、トランザクションに含まれる呼び出しのすべてが表示されます。
トランザクションを選択した後、サマリ ビューには、呼び出しの数、呼び出しの長さ(ミリ秒単位)、最小、平均、最大の呼び出し数など、選択したトランザクションで呼び出されたサービスおよびオペレーションが一覧表示されます。
追跡ビューの使用
グラフィカル形式でトランザクションに関する詳細を表示するには、[追跡ビュー]タブをクリックします。
トランザクション追跡ビューには、バーとしてトランザクション内の各コンポーネントが表示されます。また、各コンポーネントがトランザクション実行時間の合計のどのくらいの時間を占めているかが示されます。同期トランザクションの場合、[追跡ビュー]タブには、表示しているトランザクションのセグメントにかかわるノードごとに、ノード上のコンポーネント間の呼び出し関係も示されます。
トランザクションに複数の JVM 処理が含まれる場合は、各 JVM 追跡は個別の行に表示されます。SOA トランザクションでは、複数の JVM 上で処理が発生するのが一般的です。
グラフでトランザクションのコンポーネントを選択すると、コンポーネントに関する追加の詳細がグラフの下の[コンポーネントの詳細]に表示されます。
ツリー ビューの使用
選択したトランザクションのコンポーネントの階層ビューを表示するには、[ツリー ビュー]タブをクリックします。
[ツリー ビュー]には、階層構造でトランザクションのコンポーネントが表示されます。さらに、コンポーネントがトランザクションの実行時間の合計のどれくらいの時間を占めているかに基づいて、赤色、黄色、または緑色のインジケータが表示されます。
コンポーネントを選択して展開すると、さらに詳細な情報を参照できます。コンポーネントを選択する場合、このタブの[コンポーネントの詳細]ペインに追加の情報が表示されます。
シーケンス ビューの使い方
SOA 環境の分散アプリケーションは複雑であり、一般的に、1 つのユーザ トランザクションは個別のエージェント JVM または CLR 上で実行されている複数のスレッドにまたがり、同期および非同期の呼び出しを含んでいます。これらの個々のトランザクション セグメントから、論理ユニットとしてトランザクションの最初から最後までを把握する必要があります。[シーケンス ビュー]タブには、トランザクションのセグメント間の呼び出し元と呼び出し先の関係が表示され、シーケンスの順序が視覚的に明らかになります。
シーケンス ビューは、トランザクションが以下のような場合に特に役立ちます。
- 非同期呼び出しを含んでいる。
- 相互に時刻同期されていないエージェント上で実行されているプロセスへの呼び出しを含んでいる。
- 複数の JVM または CLR にわたる複雑な同期呼び出しを含んでいる。
- 別のエージェント上のトランザクション追跡セッションから呼び出されたダウンストリーム エージェントに対して自動的に開始された追跡を含んでいる。
選択したトランザクション内のプロセスの呼び出し順序を表示するには、[シーケンス ビュー]タブをクリックします。このタブでは、矢印は呼び出されたプロセスを示します。棒グラフでは、継続時間に基づいて並べ替えられたプロセスが一覧表示されます。トランザクションの一部として特定されたが、正しい場所を決定できない追跡がある場合、それらは点線を使用してシーケンスに追加されます。グラフまたは棒グラフでプロセスを選択する場合、そのプロセスの追加の詳細が右のパネルに表示されます。
最も遅いプロセスが、棒グラフおよび遅いプロセスのアイコンで、それらのランキングに基づいて示されます。プロセスの実行中に何らかのエラーがある場合は、エラーのアイコンがそのプロセスに対して表示されます。
プロセス ノードにラベルを付ける方法を選択する
シーケンス ビューで一覧表示された各プロセスは、オペレーションの完了かかわるプロセスのコンポーネントの追跡を表します。追跡が同じサーバまたはエージェントから取得された場合、プロセスに表示されるラベルは識別しにくかったり、識別できなかったりすることがあります。
デフォルトでは、オペレーション名が含まれるコンポーネント名、EJB 文字列が含まれるコンポーネント名、または先頭エージェント名 + 一意コンポーネント リソース名を使用して、プロセス ラベルは自動的に選択されます。デフォルトの選択を使用しない場合は、先頭コンポーネント名、末尾コンポーネント名、スレッド名、または説明を使用するように、プロセス ラベルを変更できます。
プロセス ラベルとして末尾コンポーネント名を選択する場合、使用される名前は呼び出しスタック内の末尾の明確な名前です。呼び出しのシーケンスに応じて、および同期または非同期呼び出しがあるかどうかに応じて、名前がプロセスの末尾コンポーネントになるかどうかが決まります。
異なるプロセス ラベル付けスキームを選択するには、以下の手順に従います。
- [シーケンス ビュー]タブでプロセス ラベルのオプションを選択します。
継続時間の計算方法を選択する
[シーケンス ビュー]タブで、追跡について継続時間を計算するには、2 通りの方法があります。
- フル継続時間は、プロセスの開始と終了の時間を使用して計算されます。このアプローチは、継続時間が[追跡ビュー]タブにどのように表示されるかに似ています。この方法では、ルート追跡が同期トランザクションの中で最も遅くなります。これはデフォルトの計算です。
- 正味の継続時間は、全体の継続時間から追跡の非同期の子の継続時間を引くことで計算されます。このアプローチの主な利点は、同期トランザクションの最も遅いプロセスが容易に明らかになることです。フル継続時間から正味継続時間への切り替えにより、ランク付けされた継続時間に基づいて一覧表示されたプロセスの順序が変更されます。継続時間は実行時間の計算方法によって異なります。
継続時間の計算方法を変更するには、以下の手順に従います。
- [シーケンス ビュー]タブの[継続時間のタイプ]で、[フル]または[正味]を選択します。
シーケンス ビューと追跡ビューとの間を行き来する操作は、多くの場面で有用です。右クリック メニュー オプションにより、特定のプロセスまたはコンポーネントのコンテキストを失わずに、これらのビュー間ですばやく移動できます。
追跡ビュー内のプロセスからシーケンス ビューにジャンプするには、以下の手順に従います。
- グラフでプロセスを選択します。
- 右クリックし、[追跡ビューでスレッドを選択]をクリックします。
追跡ビュー内のコンポーネントからシーケンス ビューにジャンプするには、以下の手順に従います。
- グラフでコンポーネントを選択します。
- 右クリックし、シーケンス ビューで[Select Thread]をクリックします。
トランザクション内のプロセスに関する詳細を表示する
グラフまたは棒グラフでプロセスを選択する場合、右のパネルでそのプロセスに関する詳細を表示できます。選択したプロセスに応じて、以下の情報の一部またはすべてを使用できます。
- スレッド名呼び出しスタック内の選択したスレッドの名前。
- スレッド グループ名スレッド グループの名前。
- アプリケーション名アプリケーションに使用される表示名。
- クラスインスツルメントされたクラス。
- メソッドインスツルメントされたメソッド。
- メソッド記述子インスツルメントされたメソッド引数またはシグネチャ。
- リソース名アプリケーション リソースのタイプ。たとえば、リソース タイプはサーブレットまたは EJB の識別に使用できます。
- URLアプリケーション フロントエンドの識別に使用されるフル Uniform Resource Locator(URL)。
- 正規化された URLアプリケーション フロントエンドを識別する方法としてエージェント プロファイルで定義された Uniform Resource Locator (URL)の正規化された部分。
- 参照 URL参照ページの Uniform Resource Locator (URL)。
- サーバ名プロセスが実行されているサーバの名前。
- サーバ ポートプロセスが実行されているポートの番号。
- スキーム使用される Uniform Resource Identifier (URI)スキームのタイプ。URI スキームは、Uniform Resource Identifier の名前付け構造の最上位であり、スキーム名とその後のコロン文字(:)で構成されます。たとえば、ハイパーテキスト転送プロトコルを使用してアクセスされる Web サービスの URI スキームとして http を指定できます。
- HTTP メソッド使用される HTTP メソッドのタイプ。たとえば、最も一般的な HTTP メソッドは POST と GET です。
- プロセスにまたがるデータ同じトランザクションの一部であるプロセスを識別するために使用される一意の相関識別子。
- 追跡タイププロセスに対するトランザクション追跡のタイプ。追跡タイプは、プロセスがトランザクション追跡セッションの一部であるか、サンプリングされたトランザクション追跡で収集されたかどうかを示します。
トランザクション追跡用のフィルタの設定
SOA Performance Management を有効にすると、Workstation に
namespace
および operationname
フィルタが追加されます。これらは、関心のあるトランザクションをすばやく分離するのに役立ちます。たとえば、特定のサービスが重要なビジネス トランザクションで使用される場合、namespace フィルタにより、該当するネームスペースを含むトランザクションについて、すべての受信トランザクションをフィルタできます。問題が発生しているネームスペースを特定するときは、operationname フィルタを使用して、問題の切り分けに役立つ 1 つ以上の特定のオペレーションについて、トランザクションをフィルタできます。また、namespace および operationname フィルタを他のフィルタと組み合わせることにより、返されるトランザクション結果をさらに詳細に制御できます。たとえば、[ユーザ ID]または[エラー]フィルタと namespace フィルタとを組み合わせて、両方の基準を満たすトランザクションのみを収集できます。
以下の手順に従います。
- [Workstation] - [新規トランザクション追跡セッション]をクリックします。使用可能なフィルタはインストールしているコンポーネントによって異なります。
- 特定のフィルタをアクティブにするためのチェック ボックスをオンにします。たとえば、[最小トランザクション継続時間]チェック ボックスをオンにして、指定した時間より長く継続するトランザクションを検索します。また、特定のパラメータ フィルタ([ユーザ ID]や[セッション ID]など)を使用して、指定した条件に一致するトランザクションに絞り込みます。
- SOA Performance Management およびその他の SOA プラットフォーム用のフィルタをアクティブにするためのチェック ボックスをオンにします。
- フィルタ タイプとフィルタ条件を選択し、値を入力して、大文字/小文字の区別を選択します。[追加]をクリックして、使用可能なフィルタの一覧にこのフィルタを追加します。namespace と operationname のオプションは Web サービス用の標準のフィルタです。これらのフィルタは、Oracle Service Bus、TIBCO BusinessWorks、または webMethods Integration Server のような SOA プラットフォームを通じて公開される Web サービスに適用できます。ただし、その他の SOA プラットフォームを監視している場合、トランザクションを収集するために、以下の追加のフィルタ タイプを使用できます。
- ビジネス プロセスTIBCO BusinessWorks プロセス インスタンスwebMethods Integration Server ビジネス プロセス
- ビジネス サービスOracle Service Bus ビジネス プロセス
- メディエーション フローWebSphere Enterprise Service Bus メディエーション フロー
- メディエーション フロー オペレーションWebSphere Enterprise Service Bus メディエーション フロー オペレーション
- メッセージ サーバIBM WebSphere MQ メッセージ サーバ
- プロキシ サービスOracle Service Bus プロキシ サービス
- フィルタの一覧にさらなるフィルタを追加します。必要に応じて、フィルタを組み合わせてコンプレックス フィルタを作成します。たとえば、ネームスペース用のフィルタを追加し、次にオペレーション名用の別のフィルタを追加できます。定義したフィルタ リストで両方のフィルタを選択し、[AND]をクリックして、指定したネームスペースおよびオペレーション名の両方に基づいてトランザクションをフィルタできます。
- このセッションに使用するフィルタを選択し、[フィルタを設定]をクリックします。以前に設定したいずれかのフィルタが置き換えられます。一度に有効になるのは、1 つのフィルタのみです。
- [追跡セッション期間(分)]フィールドで、トランザクション追跡セッションの実行にかかる分数を入力します。
- [追跡エージェント]セクションで、トランザクションを追跡するすべてまたは特定のエージェントを選択します。
- [OK]をクリックします。トランザクション追跡セッションが開始されます。
フィルタを追加および保存する
フィルタを定義して[追加]をクリックすることにより、必要な数のさまざまなフィルタを追加できます。[追加]をクリックすると、使用可能なフィルタの一覧に新しいフィルタが追加されます。フィルタの重複は許可されません。
任意のトランザクション追跡セッションで使用するフィルタを指定するには、使用可能なフィルタの一覧でフィルタ定義を選択し、[フィルタを設定]をクリックする必要があります。
[OK]をクリックしてトランザクション追跡セッションを開始すると、定義したフィルタが保存されます。したがって次回、新しいトランザクション追跡セッションを開始すると、それらのフィルタは使用可能です。[OK]をクリックすると、フィルタはユーザ別に自動的に保存されます。次回、Workstation にログオンすると、以前に定義した独自のフィルタのセットから追跡用のフィルタを選択できます。
フィルタを削除する
使用可能なフィルタの一覧でフィルタを選択し、[削除]をクリックすることにより、そのフィルタを削除できます。[削除]をクリックすると、[新規トランザクション追跡セッション]ダイアログ ボックスで、使用可能なフィルタの一覧から、選択したフィルタが削除されます。[OK]をクリックして、選択したフィルタを永続的に削除する必要があります。[OK]をクリックしない場合、次回、新規トランザクション追跡セッションを開始すると、削除したフィルタが使用可能なフィルタの一覧に復元されます。
フィルタが別のフィルタのコンポーネントとして使用されている場合は、フィルタを削除することはできません。たとえば、
namespace filter1
と namespace filter2
を組み合わせて namespace filter1 AND namespace filter2
フィルタを作成する場合、この AND フィルタを削除するまで、namespace filter1
は削除できません。コンプレックス フィルタの使い方
AND または OR のいずれかの演算子を使用すると、フィルタのリストの 1 つ以上のフィルタを組み合わせたコンプレックス フィルタを作成できます。組み合せるフィルタは、定義済みのフィルタのリストにあらかじめ含められている必要があります。AND または OR の演算子を使用して、2 つの簡単なフィルタのステートメントを組み合せると、新しいフィルタを作成できます。そのフィルタを 1 つのフィルタとして使用したり、追加のフィルタを作成するための構成単位として使用することもできます。
AND 演算子を使用することは、追跡の際にフィルタのすべてのコンポーネントを通過する必要があることを意味しています。たとえば、
namespace contains demobank AND operationname
starts with process
フィルタでは、受信追跡の際に両方のフィルタ条件を満たす必要があります。一方、OR の演算子を使用する場合、その追跡は少なくとも 1 つのフィルタ コンポーネントを満たす必要があることを意味しています。たとえば、
namespace contains demobank OR namespace
contains creditcheck
フィルタでは、受信追跡の際に最初のフィルタ条件、2 番目のフィルタ条件、または両方のフィルタ条件を満たす必要があります。SOA サービスについてイベント データベースにクエリする
トランザクション追跡ビューアは主に、トランザクション追跡セッションからライブまたは最新のデータを表示するために使用します。トランザクション追跡セッションからの結果は、自動的にトランザクション イベント データベースに保存され、履歴クエリ ビューアを使用して表示できます。後で情報へのアクセスを必要とする場合、SOA 関連のサービスについて任意のビジネス トランザクションまたはエラーに関する情報を表示するために、トランザクション イベント データベースにクエリできます。
Web サービスに関連するすべてのトランザクションについてデータベースにクエリするには、以下の手順に従います。
- Workstation を開いた状態で、[Workstation] - [履歴イベントをクエリ]を選択します。
- [クエリ]フィールドで、該当する情報を取得するためのクエリ情報を入力します。たとえば、以下の通りです。
- Web サービスを含む任意のイベントのクエリを行う場合、「webservices」と入力します。
- 特定の Web サービス エンドポイントに関連する任意のイベントについてクエリするには、必要な URL を入力します。
- 必要に応じて、クエリについて時間範囲を選択します。
- [実行]をクリックして、Web サービスの情報が含まれるあらゆるビジネス トランザクションまたはエラーを表示します。
- 一覧で任意の行をクリックして、下部のペインでその詳細を確認します。たとえば、選択した行がトランザクション追跡(T)である場合、[サマリ ビュー]、[追跡ビュー]、[ツリー ビュー]、および[シーケンス ビュー]タブをクリックして、追加の情報を参照できます。これは、トランザクション追跡ビューアでの操作と同様です。
エラー イベントの情報を表示する
Web サービスに関連するエラーについてデータベースにクエリを実行できます。履歴イベントがエラー(E)である場合、下部のペインには[スタック ビュー]タブが表示されます。イベントがトランザクションである場合、下部のペインには[サマリ ビュー]、[追跡ビュー]、[ツリー ビュー]、および[シーケンス ビュー]タブが表示されます。表示された情報を操作して、Web サービスのどのコンポーネントが問題の原因になっているかを判断できます。
以下の手順に従います。
- [Workstation] - [履歴イベントをクエリ]を選択します。
- [クエリ]フィールドで、以下のように入力します。type:errorsnapshot AND webservices
- 一覧で行をクリックして、[スタック ビュー]タブでエラーの詳細を確認します。
- サーバ側のエラーは、赤のエラー メッセージで表示され、ここでエラーの根本原因を確認できます。
- クライアント側とサーバ側のエラーについては、SOAP 障害の例外に沿った根本原因を確認できます。
- SOAP 障害のエラー メッセージには、赤で表示されるエラー メッセージに[SOAP 障害]の接頭辞が付いています。
トランザクション追跡の相関イベントを表示できます。トランザクションに関する詳細を確認する場合、同じトランザクションの一部であるイベントのうち、トランザクション中に呼び出された他のプロセスまたは他のノード上で実行されているイベントがあるかどうかをチェックできます。
以下の手順に従います。
- トランザクション追跡ビューアまたは履歴クエリ ビューアに表示された一覧からトランザクション追跡を選択し、[追跡ビュー]タブをクリックします。
- [追跡] - [相関イベント]を選択して、選択したトランザクション追跡の一部である他のプロセスまたはノード上の追跡の一覧を表示します。その後、任意の相関追跡を選択して、その追跡についてサマリ ビュー、追跡ビュー、ツリー ビュー、またはシーケンス ビューを表示できます。