17 BPELプロセスのサービス・コンポーネントとエンジンの監視
この章の内容は次のとおりです。
サービス・コンポーネントとサービス・エンジンの概念の詳細は、次の項を参照してください。
ノート:
「フロー・インスタンス」ページでは、任意のタイプのフォルトを表示できます(フォルト・ポリシー・フォルト、BPELメッセージ・リカバリ、拒否メッセージ、EDNフォルトなど)。すべてのフォルトは、ビジネス・フロー・インスタンスの詳細の一部です。詳細は、「SOAインフラストラクチャまたはSOAフォルダ・レベルでのビジネス・フロー・インスタンスのトラッキング」を参照してください。
ビジネス・フロー・インスタンスのフロー・トレースの監視
この項では、ビジネス・フロー・インスタンスのフロー・トレースの監視方法について説明します。フロー・トレースは、メッセージ・フローの実行時証跡です。1つのビジネス・フロー・インスタンスは、1つのエンドツーエンド・ビジネス・トランザクションに相当します。ビジネス・フローは、単一のSOAコンポジット・アプリケーションまたは特定のビジネス・プロセスを実現するために組み合された複数のSOAコンポジット・アプリケーションで構成されます。ビジネス・フロー・インスタンスのフロー・トレースは、フロー・インスタンス検索の起動後に、「フロー・インスタンス」ページの「検索結果」表に表示される一意のフローID値によって識別されます。
ノート:
この項では、ビジネス・フロー・インスタンスが起動されていることを前提としています。そうでない場合は、「ビジネス・フローのテスト・インスタンスの起動」を参照してください。
ビジネス・フロー・インスタンスのフロー・トレースを監視するには:
次のいずれかのオプションを使用して、「フローのトレース」ページにアクセスします。
-
すべてのSOAフォルダのビジネス・フロー・インスタンスにアクセスするには:
SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから... -
「ホーム」を選択します。
-
「フロー・インスタンス」タブを選択します。
-
「検索」アイコンをクリックして、「検索結果」表にビジネス・フローIDを移入します。
-
「フローID」列で、特定のビジネス・フロー・インスタンス番号をクリックします。
-
「SOA」フォルダを展開します。
-
「soa-infra」を右クリックします。
-
「ホーム」→「フロー・インスタンス」の順に選択します。
-
「検索」アイコンをクリックして、「検索結果」表にビジネス・フローIDを移入します。
-
「フローID」列で、特定のビジネス・フロー・インスタンス番号をクリックします。
-
-
個々のSOAフォルダ内のビジネス・フロー・インスタンスにアクセスするには:
SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから... -
「SOAフォルダの管理」を選択します。
-
「SOAフォルダ」列で特定のSOAフォルダをクリックします。
-
「フロー・インスタンス」タブをクリックします。
-
「検索」アイコンをクリックして、「検索結果」表にビジネス・フローIDを移入します。
-
「フローID」列で、特定のビジネス・フロー・インスタンス番号をクリックします。
-
「SOA」→「soa-infra」の順に展開します。
-
特定のSOAフォルダをクリックします。
-
「フロー・インスタンス」タブをクリックします。
-
「検索」アイコンをクリックして、「検索結果」表にビジネス・フローIDを移入します。
-
「フローID」列で、特定のビジネス・フロー・インスタンス番号をクリックします。
-
「フローのトレース」ページは2つのセクションで構成されます。選択したタブに応じて、上部のセクションには、選択したフロー・トレースの「フォルト」、「コンポジット・センサー」、「値」、「コンポジット」または「リシーケンサ」(コンポジットにOracle Mediatorのリシーケンサが組み込まれている場合)タブが表示されます。下部セクションには、ビジネス・フローのトレースが表示されます。
「フローのトレース」ページの「フォルト」タブには、次の詳細が表示されます。
-
「フォルト」表。エラー・メッセージ、フォルトを処理したコンポーネント、フォルトの発生時間およびリカバリ・ステータス(「リカバリ不能」、「リカバリが必要」など)が表示されます。表にその他の列を表示するには、「表示」→「列」の順に選択します。「フロー・インスタンス」ページで列を変更すると、「フローのトレース」ページの「フォルト」表の列も変更されます。
-
「トレース」表。SOAコンポジット・アプリケーションを構成するサービス、サービス・コンポーネントおよび参照間での一連のメッセージ・フローが表示されます。「フローのトレース」ページで選択したタブ(「フォルト」、「コンポジット」、「センサー値」、「コンポジット」または「リシーケンサ」(コンポジットにOracle Mediatorのリシーケンサが組み込まれている場合))に関係なく、「トレース」セクションは常に表示されます。表にその他の列を表示するには、「表示」→「列」の順に選択します。フロー・トレースをXML形式で表示するには、「アクション」リストを選択します。
「監査レベル」が「オフ」に設定されている場合、トレース詳細は取得されず、トレース表は表示されません。ただし、一部のコンポーネントのインスタンスの詳細は取得されます。これらのコンポーネントの場合は、インスタンスの詳細のフラット・リストが表示されます。このリストには一部のコンポーネントのインスタンス詳細のみがあり、フローに参加しているすべてのコンポーネントはない可能性があります。
イベントによってトリガーされた中間プロセスの受信アクティビティは、フロー・トレース内に表示されます。中間プロセスの受信アクティビティは、複数のフローIDを相関させることができます。相関するBPELノードのフロー・トレースでは、そのノードによって相関させられたすべてのフローIDを表示できます。
次のフロー・トレース管理タスクを実行できます。
フロー・トレースでのフォルトからのリカバリ
「フローのトレース」ページの「フォルト」タブからフォルト・リカバリを実行できます。実行するフォルト・リカバリ・タスクは、SOAインフラストラクチャまたは個々のSOAフォルダの「フロー・インスタンス」ページの「フォルト」タブから実行するタスクと同じです。
「フォルト」セクションには、「トレース」セクションに表示されているSOAコンポジット・アプリケーションのサービス、サービス・コンポーネントおよび参照で発生しているフォルトが表示されます。いずれかのフォルトを選択すると、そのフォルトが発生した「トレース」セクションの1つ以上の行が強調表示されます(同じフォルト・チェーン内に存在する場合、その同じフォルトに複数の行が対応していることがあるため)。たとえば、BPELコンポーネント上のリカバリ可能なフォルトにより、ダウンストリームのその他のコンポーネントおよびエンドポイントのインスタンスに障害が発生する可能性があります。そのBPELプロセス・フォルトを「フォルト」表で選択すると、「トレース」セクションの影響を受けるノードがすべて強調表示されます。
フロー・トレースでフォルトからリカバリするには:
フロー・トレースでのコンポジット・センサー値の表示
ビジネス・フロー・インスタンスのフロー・トレースに含まれているコンポジット・センサーの詳細を表示できます。コンポジット・センサーは、メッセージにトラッキング可能なフィールドを実装する手段を提供します。コンポジット・センサーは、設計時にOracle JDeveloperで、サービス・バインディング・コンポーネント、参照バインディング・コンポーネントおよびビジネス・イベントをサブスクライブしているサービス・コンポーネントに追加できます。
フロー・トレースでコンポジット・センサー値を表示するには:
フロー・トレースでのSOAコンポジット・アプリケーションの表示
ビジネス・フロー・インスタンスのフロー・トレースに含まれている開始SOAコンポジット・アプリケーションと参加SOAコンポジット・アプリケーションを表示できます。
フロー・トレースでSOAコンポジット・アプリケーションを表示するには:
フロー・トレースでの監査証跡およびプロセス・フローの表示
ビジネス・フロー・インスタンスのフロー・トレースに含まれている監査証跡およびプロセス・フローを表示できます。監査証跡およびフロー・トレースは監査証跡データのグラフィック表示です。監査証跡には、BPELプロセス内のアクティビティに関する実行の詳細が表示されます。プロセス・フローには、プロセス内のペイロードのフローが表示されます。
フロー・トレースで監査証跡およびプロセス・フローを表示するには:
フロー・トレースでのフォルト、アクティビティおよび変数の各センサーの監視
BPELプロセス・サービス・コンポーネントのフォルト、アクティビティおよび変数の各センサー・データを表示できます。Oracle JDeveloperでBPELプロセスのセンサーを設計します。センサーを使用すると、実行時にBPELプロセスのアクティビティ、変数およびフォルトを監視できます。
BPELプロセスのフォルト、アクティビティおよび変数の各センサー・データを監視する手順は、次のとおりです。
その他のフロー・トレース動作のシナリオの理解
この項では、その他のフロー・トレース動作のシナリオについて説明します。
BPEL 2.0のCompensateおよびCompensateScopeアクティビティ内でのアクティビティ・センサーの動作
BPEL 2.0 compensateScopeアクティビティ内に、評価時間を完了時に設定したアクティビティ・センサーがあり、かつ、アクティビティの変数センサーが変数を指すように構成したとします。センサーがトリガーされると、compensationアクティビティが完了し、compensationアクティビティが完了した状態であることが変数によって示されると予想されます。
ただし、compensateScopeアクティビティ(およびcompensateアクティビティ)は、制御がcompensationアクティビティに渡された直後に終了します。その結果、アクティビティの変数センサーには、compensationアクティビティが終了でなく開始した状態だということが示されます。
これは予想された動作です。
補正の完了時に変数状態が取得されないようにするために、compensateまたはcompensateScopeアクティビティの後に空のアクティビティを追加し、この空のアクティビティに対して、評価時間をアクティブ化に設定したアクティビティ・センサーを設定します。
BPELプロセス・アクティビティの時間の分散とインスタンスおよびフォルトのスループットのメトリックの監視
BPELプロセス・アクティビティの時間の分散とBPELプロセス・サービス・コンポーネントに関するインスタンスおよびフォルトのスループットのメトリックのグラフィック表示を監視できます。
BPELプロセス・アクティビティの時間の分散とインスタンスおよびフォルトのスループットのメトリックを監視するには:
-
次のいずれかのオプションを使用して、このページにアクセスします。
SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから... -
「ホーム」を選択します。
-
「デプロイ済コンポジット」タブを選択します。
-
「コンポジット」セクションで、特定のSOAコンポジット・アプリケーションを選択します。
-
soa-infraの下にあるSOAフォルダを展開します。
-
特定のSOAコンポジット・アプリケーションを選択します。
「ダッシュボード」ページが表示されます。
-
-
「コンポーネント」セクションで、BPELプロセス・サービス・コンポーネントを選択します。
「ダッシュボード」ページに、次の詳細が表示されます。
-
アクティビティについての時間分布の詳細(アクティビティ名、すべてのインスタンスについてのアクティビティの合計数、平均実行時間など)が表示されます。
-
特定時間帯におけるBPELプロセス・サービス・コンポーネントの成功、失敗および受信(保留中)のインスタンス数のグラフィカル表示。
-
-
「表ビュー」をクリックすると、成功したインスタンスのスループット、合計フォルトのスループットおよびインスタンスのスループットなどの過去5分間のスループットの詳細が表形式で表示されます。
詳細は、「ビジネス・フロー・インスタンスの概要」を参照してください。また、ログ・ファイルの表示および検索の詳細は、『Oracle Fusion Middlewareの管理』を参照してください。
BPELプロセス・サービス・エンジンのリクエスト統計とスレッド・パフォーマンス統計の監視
サービス・エンジンで実行しているすべてのBPELプロセス・サービス・コンポーネントのリクエスト統計とスレッド・パフォーマンス統計を監視できます。
BPELプロセス・サービス・エンジンのリクエスト統計とスレッド・パフォーマンス統計を監視するには:
-
次のいずれかのオプションを使用して、このページにアクセスします。
SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから... -
「サービス・エンジン」→「BPEL」の順に選択します。
-
「soa-infra」を右クリックします。
-
「サービス・エンジン」→「BPEL」の順に選択します。
-
-
「統計」をクリックします。
「統計」ページの「保留中のリクエスト」セクションと「アクティブ・リクエスト」セクションには、次の詳細が表示されます。「ヘルプ」アイコンをクリックすると、追加情報が表示されます。
-
サービス・エンジン内の保留中のリクエスト数
-
サービス・エンジン内のアクティブ・リクエスト数
「統計」ページの「スレッド統計」および「リクエストのブレークダウン」の部分には、サービス・エンジンのアクティブ・スレッド数と件数、最小、最大および平均のリクエスト処理時間に関する詳細が表示されます。
BPELプロセスのチューニングとパフォーマンスの詳細は、パフォーマンスのチューニングを参照してください。
-
「リクエストのブレークダウン」表の下位レベルの詳細の表示
「統計」ページの「リクエストのブレークダウン」の部分は、リクエストが処理中に様々なサービス・エンジン・レイヤーで費やす時間に関する下位レベルの詳細を表示するように構成できます。この部分を表示するには、「統計」ページを下にスクロールすることが必要な場合があります。
「BPELサービス・エンジン・プロパティ」ページの「詳細BPEL構成プロパティ」リンクの「StatsLastN」プロパティを構成します。デフォルトでは、このプロパティは-1
に設定されています。このプロパティをより適切な値に設定できます(たとえば、1000
)。このプロパティは、問題を生じる可能性のある領域を分析して隔離するための情報を提供します。
このプロパティへのアクセスと構成の詳細は、「BPELプロセス・サービス・エンジン・プロパティの構成」を参照してください。
「StatsLastN」プロパティの構成後に「統計」ページの「リクエストのブレークダウン」の部分に表示される情報は、システムMBeanブラウザの次のプロパティを使用しても表示されます。
-
AsyncProcessStats: 下位レベルの非同期プロセス統計を提供します。
-
SyncProcessStats: 下位レベルの同期プロセス統計を提供します。
-
RequestStats: 下位レベルのリクエストのブレークダウンを提供します。
これらのプロパティへのアクセスの詳細は、「BPELプロセス・サービス・エンジンでのリクエストの所要時間に関する統計の表示」を参照してください。
サービス・エンジンのデプロイ済BPELプロセス・サービス・コンポーネントの監視
サービス・エンジンで実行しているBPELプロセス・サービス・コンポーネントで構成されたすべてのデプロイ済SOAコンポジット・アプリケーションを監視できます。
サービス・エンジンにデプロイされたBPELプロセスを監視するには:
-
次のいずれかのオプションを使用して、このページにアクセスします。
SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから... -
「サービス・エンジン」→「BPEL」の順に選択します。
-
「soa-infra」を右クリックします。
-
「サービス・エンジン」→「BPEL」の順に選択します。
「デプロイ済コンポーネント」ページに、次の詳細が表示されます。
-
デプロイ済の特定のSOAコンポジット・アプリケーションを検索するためのユーティリティ。基準を指定して「検索」をクリックします。この検索では大文字と小文字が区別されます。コンポーネントまたはコンポジットの正確な名前を(リビジョン部分なしで)入力する必要があります。検索後に、フィルタ処理されていないすべてのコンポーネントのリストを表示するには、「リセット」をクリックします。
-
サービス・エンジンで実行しているBPELプロセス・サービス・コンポーネントで構成されたデプロイ済SOAコンポジット・アプリケーションの詳細。サービス・コンポーネント名、SOAコンポジット・アプリケーションおよび現在のステータス(稼働中または停止中)が表示されます。
-
-
「名前」列で、特定のサービス・コンポーネントをクリックし、そのホーム・ページにアクセスします。
-
「コンポジット」列で、特定のSOAコンポジット・アプリケーションをクリックし、そのホーム・ページにアクセスします。
BPELプロセス・サービス・エンジンでのリクエストの所要時間に関する統計の表示
システムMBeanブラウザのいくつかのプロパティを使用して、処理中にリクエストが様々なサービス・エンジン・レイヤーで費やす時間に関する下位レベルの詳細を表示できます。
「BPELサービス・エンジン・プロパティ」ページの「StatsLastN」プロパティを使用してこの情報を構成する方法の詳細は、「BPELプロセス・サービス・エンジン・プロパティの構成」を参照してください。