プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理
12c (12.1.3)
E54311-05
目次へ移動
目次

前
前へ
次
次へ

21 デシジョン・サービスのサービス・コンポーネントとエンジンの監視

この章では、デシジョン・サービスのサービス・コンポーネント(サービス・エンジンのパフォーマンス統計とデプロイ済コンポジット、ビジネス・ルールのトレースおよびログ・ファイルを含む)の監視方法について説明します。デシジョン・サービスのサービス・コンポーネントは、Oracle Fusion Middlewareドキュメントではビジネス・ルール・サービス・コンポーネントとも呼ばれます。

この章の内容は次のとおりです。

ビジネス・ルールのチューニングとパフォーマンス・パラメータの詳細は、パフォーマンスのチューニングを参照してください。

注意:

ビジネス・ルール・サービス・エンジンではユーザー・レベルの構成がサポートされていません。

21.1 ビジネス・ルール・サービス・エンジンのパフォーマンス統計の監視

ビジネス・ルール・サービス・エンジンのパフォーマンスとメトリックは、ビジネス・ルール・サービス・エンジンの「統計」ページを使用して監視できます。このページには、コンポーネント・レベルの詳細ではなく、サービス・エンジン・レベルの詳細が表示されます。ビジネス・ルール・サービス・コンポーネントは、Oracle Fusion Middlewareドキュメントではデシジョン・サービスのサービス・コンポーネントとも呼ばれます。

ビジネス・ルール・サービス・エンジン統計を監視するには、次の手順を実行します。

  1. 次のいずれかのオプションを使用して、ビジネス・ルール・サービス・エンジンの「統計」ページにアクセスします。


    SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから...

    「サービス・エンジン」→「ビジネス・ルール」の順に選択します。

    1. 「soa-infra」を選択します。

    2. 「サービス・エンジン」を右クリックして、「ビジネス・ルール」を選択します。


  2. 「統計」をクリックします。

    「統計」ページに、次の詳細が表示されます。

    • 平均リクエスト処理時間: このグラフには、サーバー起動時以降のビジネス・ルール・サービス・エンジンの平均リクエスト処理時間が表示されます。つまり、サービス・エンジンが処理した単位時間当たりのリクエスト数が表示されます。

    • ビジネス・ルールのキャッシュ統計: このセクションには、サービス・エンジン・キャッシュに関する詳細が表示されます。このセクションには、サービス・エンジンが使用したキャッシュのタイプと、各キャッシュ内のオブジェクト数がリストされます。これらすべてのメトリックは、サーバー起動時以降のオブジェクト数に基づきます。

    • 「ビジネス・ルールの操作統計」: この領域には、操作統計が表示されます。操作統計を使用すると、サーバー起動時以降のOracle Business Rulesのデシジョン関数へのコール数を確認したり、サーバー起動時以降のデシジョン関数で要した合計時間を確認できます。

      注意:

      Oracle Fusion Middleware 11g リリース1 (11.1.1)で作成したコンポジット・アプリケーションについてビジネス・ルールの操作統計を表示すると、callFunction操作のみが表示されます。このリリースでは、デシジョン・サービスのサービスはデシジョン関数を使用してOracle Business Rulesをコールするのみで、この操作はcallFunctionと呼ばれる操作の値(「件数」フィールドと「平均(ミリ秒)」フィールドを使用)で示されます。以前のリリースから移行したコンポジット・アプリケーションの場合、デシジョン・サービスのサービスは、callFunction操作と「ビジネス・ルールの操作統計」セクションにリストされている他の操作を実行します。これらの移行プロジェクトでは、サービス・エンジン内の様々な重要操作を使用してリクエストのフローをデバッグできます。また、長時間に及ぶ操作を検索して必要なアクションを実行できます。これらのメトリックもサーバー起動時以降を基にしています。

    ビジネス・ルールのチューニングとパフォーマンス・パラメータの詳細は、パフォーマンスのチューニングを参照してください。

21.2 ビジネス・ルール・サービス・エンジンのデプロイ済コンポーネントの監視

複数のSOAコンポジット・アプリケーションのデプロイ済デシジョン・サービスのサービス・コンポーネントはすべて、「デプロイ済コンポーネント」ページを使用して監視できます。デシジョン・サービスのサービス・コンポーネントは、Oracle Fusion Middlewareドキュメントではビジネス・ルール・コンポーネントとも呼ばれます。

ビジネス・ルール・サービス・エンジンのデプロイ済コンポーネントを監視する手順は、次のとおりです。

  1. 次のいずれかのオプション使用して、ビジネス・ルール・サービス・エンジンの「デプロイ済コンポーネント」タブにアクセスします。


    SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから...

    「サービス・エンジン」「ビジネス・ルール」の順に選択します。

    1. 「soa-infra」を右クリックします。

    2. 「サービス・エンジン」「ビジネス・ルール」の順に選択します。


  2. 「デプロイ済コンポーネント」をクリックします。

    「デプロイ済コンポーネント」ページに、次の情報が表示されます。

    • 特定のコンポーネントを検索するためのユーティリティ。基準を指定して「検索」をクリックします。

    • コンポーネントのリスト。名前、SOAコンポジット・アプリケーション名およびステータス(稼働中または停止中)が表示されます。

  3. 「名前」列で、名前をクリックしてコンポーネントのホーム・ページに移動し、コンポーネントの詳細を表示します。

  4. 「コンポジット」列で、特定のSOAコンポジット・アプリケーションをクリックし、そのホーム・ページにアクセスします。

詳細は、「サービス・コンポーネントの概要」を参照してください。

21.3 ビジネス・ルールのトレースの監視

Oracle Enterprise Manager Fusion Middleware Controlを使用してルール実行トレースを実行できます。Fusion Middleware Controlへのアクセスおよび使用の詳細は、「Oracle BPM Suiteの管理のスタート・ガイド」を参照してください。

ルール実行トレースは、ルールの評価中に発生するビジネス・ルール・サービス・エンジン・イベントのトレース・メカニズムです。トレースされるイベントのタイプは次のとおりです。

  • ファクト操作(アサート、撤回および変更)

  • ルール実行

  • ルールのアクティブ化

  • ルールセット・スタックの変更

  • ルールのコンパイル

  • リセット(分析中に状態を維持するために必要)

各トレースには、トレースするイベントに関する情報が含まれます。たとえば、実行されたルールのルール・トレース・エントリは次の内容で構成されます。

  • ルール名(RL名)

  • 実行順序番号

  • このルールに一致したファクトのファクトIDのリスト

  • ミリ秒単位のタイムスタンプ

ルール実行トレースの監査レベルは、SOAインフラストラクチャでサポートされている監査レベルと同じであり、次のものがあります。

  • オフ: ルール実行トレースは無効です。デシジョン・コンポーネント・インスタンスはまったく作成されません。

  • 開発: ファクト(リスト、変更やアサートなどの操作)、ルールのアクティブ化、ルールセットのポップまたはプッシュなどに関するすべての詳細情報を含む完全なルール実行トレース。実行されたルールが一致するファクトIDのリストも提供されます。例は、「開発監査レベルでのルール実行のトレース」を参照してください。

  • 本番: 実行されたルールがトレースされます。ファクト、ルールのアクティブ化、ルールセットのポップまたはプッシュに関する詳細はすべて使用できません。トレースには、一致するファクトIDのリストは含まれません。例は、「本番監査レベルでのルール実行のトレース」を参照してください。

監査レベルはSOAインフラストラクチャ・レベルまたはコンポジット・レベルのいずれかに設定できます。SOAインフラストラクチャの監査レベルの構成情報は、「SOAインフラストラクチャ・プロパティの構成」を参照してください。SOAインフラストラクチャ・レベルで設定された場合、およびコンポジット・レベルで設定された場合の監査レベルの優先順位の説明は、「監査レベル設定の優先順位の概要」を参照してください。

次の各項では、ルール実行トレースのために監査レベルをコンポジット・レベルに設定する場合について説明します。

21.3.1 開発監査レベルでのルール実行のトレース

監査レベルを「開発」に設定すると、実行されたルールに関連するすべての詳細情報を表示できます。

開発レベルのルール実行トレースを実行する手順は、次のとおりです。

  1. Oracle Enterprise Manager Fusion Middleware Controlでコンポジット・アプリケーションを開きます。

    コンポジットの「ダッシュボード」ページに、最近実行されたビジネス・フロー・インスタンスのリストが表示されます。

  2. 「設定」リストをクリックし、コンポジットの監査レベル「開発」の順に選択して、トレース・レベルをコンポジット・レベルとして「開発」に設定します。
  3. 「確認」ダイアログで「はい」をクリックします。
  4. 「テスト」をクリックした後に、サービスの名前をクリックしてビジネス・フローのテスト・インスタンスを起動し、様々な入力パラメータに対応するデシジョン・トレースを表示します。
  5. 「Webサービスのテスト」ページの「引数の入力」セクションの「値」フィールドに値を入力し、「Webサービスのテスト」ボタンをクリックします。

    「ペイロードのロード」フィールドを使用してペイロード・ファイルを追加します。「参照」をクリックしてファイルを検索した後、「ペイロードの保存」をクリックしてファイルを保存します。

    入力したOrder IDに基づいて、サービスはOrder IDの詳細を含むBPELプロセス・インスタンスを呼び出し、オーダー詳細に関連するルールが実行されます。

  6. 「レスポンス」タブの「フロー・トレースの起動」をクリックして、「フローのトレース」ページを開きます。
  7. 「トレース」セクションでRatingRulesというデシジョン・サービスのサービス・コンポーネント・インスタンスをクリックして、実際のルール実行トレースを表示します。

    注意:

    ビジネス・ルール・コンポーネントを起動する前後のコンポジット変数の値を表示することもできます。「フローのトレース」ページでBPELプロセス・コンポーネント・インスタンスをクリックしてから、該当する「ペイロード」をクリックする必要があります。この場合、BPELコンポーネント名はWlsRulesFaultProcessです。

    RatingRulesというデシジョン・サービスのサービス・コンポーネントの実行トレースを示しています。

  8. 「監査証跡内のルール・セット・スタック状態の表示」チェック・ボックスを選択すると、ルール実行の詳細が表示されます。

    このチェック・ボックスを選択すると、トレースのみが影響を受けます(右側にある「ルール・セット・スタック」パネルは影響を受けません)。このチェック・ボックスにより、プッシュまたはポップされたステップが表示または非表示になります。デフォルト・オプションは「非表示」で、監査証跡の表示が圧縮されます。

    開発レベルのトレース・レポートに、ファクト名、アクティブ化されているルール、プッシュおよびポップされたルールセット名が表示されます。

    次の表に、トレース・レポートのエントリをリストします。


    要素 説明

    呼び出されたデシジョン・サービス名

    呼び出されたデシジョン・サービスのサービス・コンポーネントの名前が表示されます。

    アサートされたファクト

    アサートされたファクトには次の3つのタイプがあります。

    • 入力ファクト

    • デシジョン関数の初期アクションの一部としてアサートされるファクト

    • ルールの実行中にアサートされるファクト

    アクティブ化されたルール

    アクティブ化されているルールの名前が、ルールをアクティブ化したファクトの名前とともに表示されます。

    プッシュされたルールセット

    ファクトがアサートされたときに呼び出されたルールセットの名前が表示されます。

    ルールセット内の起動されたルール

    ルールが実行されたルールセットの名前が表示されます。

    起動されたルール

    実行されたルールの名前が表示されます。

    変更されたファクト

    ルール実行によって変更されたファクトの名前が表示されます。この変更されたファクトは、デシジョン・サービスのサービス・コンポーネントからBPELサービスに渡されます。

    ポップされたルールセット

    実行が完了したため、ルールセットが実行キューから取り出されたルールセットの名前が表示されます。


    注意:

    呼び出されたデシジョン・サービス名のエントリは、異なるシナリオでは異なって表示されます。

    • AS10.1.3.xからAS11にアップグレードされた、AssertExecuteWatchパターンを持つルール・ディクショナリでは、トレース・レポートのエントリは「呼び出されたデシジョン・サービス」として表示されます。

    • AS10.1.3.xからAS11にアップグレードされた、CallFunctionパターンを持つルール・ディクショナリでは、トレース・レポートのエントリは「呼び出されたデシジョン関数」として表示されます。

    • AS11で作成されたディクショナリでは、エントリは「呼び出されたデシジョン関数」として表示されます。

    実行トレースのノードをクリックして、ページの「ビジネス・ルール・エンジンの状態」セクションで対応するエンジンの状態を確認します。このセクションは、次のパネルで構成されています。

    作業メモリー内のファクト: このパネルには、すでにアサートされ、現在サービス・エンジンによって推論されているオブジェクトのツリーが表示されます。このようなオブジェクトは、後続のルールのアクティブ化または起動につながる可能性があり、ルールの一部として変更または撤回できるオブジェクトです。

    ルール・セット・スタック: このパネルには、現在スタック状態のルールセットとそのスタックの最上位にあるルールセットが表示されます。そのルールセット内のアクティブ化されたルールがすべて起動されると、次のルールセットがスタックの最上位に移動し、そのルールセットで起動準備ができた最初のルールが次に起動されます。

    ルールのアクティブ化: このパネルには、起動されたルールとアクティブ化されているがまだ起動されていないルールのリストが表示されます。

    ルールを含むルールセットがスタックの最上位にない場合、またはサービス・エンジンの競合解決セマンティクスに従って優先度が高いと見なされているルールが同じルールセット内にある場合、ルールのアクティブ化はできますが、起動はできません。

21.3.2 本番監査レベルでのルール実行のトレース

監査レベルを「本番」に設定すると、ルール実行トレースに関する切り詰められたレポートが提供されます。ルールセットと起動されたルールのみ表示され、ファクトに関する詳細やルールのアクティブ化などは表示されません。

本番レベルのトレースのプロセスは、開発レベルのトレースに似ています。ただし、本番レベルのトレースでは、次の操作を実行する必要があります。

Fusion Middleware Controlで、コンポジットを開いた後、「設定」メニューのコンポジットの監査レベルから「本番」を選択します。

図21-1は、トレース・レポートを表示する「フローのトレース」ページを示しています。

図21-1 フロー・トレースの監査証跡 - 本番

図21-1の説明が続きます
「図21-1 フロー・トレースの監査証跡 - 本番」の説明

本番レベルのトレース・レポートに、ルールセットの名前と起動されたルールのみが含まれています。また、ドリルダウン詳細トレース・レポートを表示する「監査証跡内のルール・セット・スタック状態の表示」チェック・ボックスは、本番レベルのトレース・レポートでは使用できません。

21.4 デシジョン・サービスのサービス・コンポーネントのログの監視

デシジョン・サービスのサービス・コンポーネントのログを監視できます。デシジョン・サービスのサービス・コンポーネントは、Oracle Fusion Middlewareドキュメントではビジネス・ルール・サービス・コンポーネントとも呼ばれます。

21.4.1 デシジョン・サービスのサービス・コンポーネントのログの表示

デシジョン・サービスのサービス・コンポーネントのログを表示する手順は、次のとおりです。

  1. ナビゲーション・ツリーで、soa-infraを選択して右クリックします。
  2. 「ログ」「ログ・メッセージの表示」の順に選択します。「ログ・メッセージ」ページが表示されます。

    「ログ・メッセージ」ページが開きます。このページを使用して、ターゲット・ログ・ファイルを選択します。

21.4.2 ログ構成での診断ロギング・レベルの設定

「ログ構成」ページを使用してロギング・レベルを構成します。

ログ構成を使用して診断ロギング・レベルを設定するには、次の手順を実行します。

  1. 「soa-infra」を右クリックして、「ログ」「ログ構成」の順に選択します。
  2. デシジョン・サービスのサービス・コンポーネントのロギング・レベルを構成するには、「oracle.soa.service.rules」「oracle.soa.services.rules.obrtrace」ロガーの順に開いて、通知レベルを設定します。