プライマリ・コンテンツに移動
Oracle® Enterprise Manager Cloud Control Oracle Fusion Middlewareマネージメント・ガイド
リリース12.1.0.8
B66835-11
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

16 サービスの検出とトランザクションの操作

この章ではBusiness Transaction Management (BTM)スタンドアロン製品を紹介します。Enterprise Manager ConsoleからBTMの監視機能を使用する方法の詳細は、第18章「ビジネス・アプリケーションの監視」を参照してください。

ユーザー・エクスペリエンスの監視では、ページ・ヒットに続く一連の操作をブラック・ボックスとして処理します。ユーザーがリクエストをトリガーすると、リクエストが送られ、応答が返りますが、応答の遅延や無応答がWebページと直接関係していない場合は、その原因を特定することができません。(この一連のアクションを図14-1に示します。)アプリケーションのパフォーマンスを監視するもう1つの側面であるBusiness Transaction Management (BTM)では、最初のリクエストに続いて起こる一連の操作を検査できます。BTMはトランザクションの監視、これらの操作のサブセットを監視することにより、手順のどの操作がパフォーマンス上の問題やエラーをかかえているかを見つけることに重点を置いています。

この項では、BTMの操作に関連する基本的な概念とタスクを説明します。内容は次のとおりです。

BTMは、1つの章では説明できないほど豊富な機能を提供しています。使用法の詳細は、Oracle Business Transaction Managerオンライン・ヘルプを参照してください。BTMを使用する方法のデモンストレーションを表示するには、次のURLにアクセスして「Begin Video」をクリックします。

https://apex.oracle.com/pls/apex/f?p=44785:24:539253248237801::NO:24:P24_CONTENT_ID,P24_PREV_PAGE:6366,1

16.1 Does Business Transaction Managementの検出対象

Business Transaction Managementはトラフィック・フローに基づく動的検出を使用して、実行中のアプリケーションの必要不可欠な特性を検出します。これには次の要素が含まれます。

  • アプリケーション・コンポーネント: デプロイされたコンポーネントの種類を指定する論理サービス、エンドポイント(そのサービスのインスタンス)およびエンドポイントで呼び出すことができる各操作

  • コンポーネント間の依存関係

  • アプリケーションが実行されているコンテナ(アプリケーション・サーバー)

トラフィックの実行後にBTMは検出されたサービスと依存関係を依存関係グラフに表示します(図16-1を参照)。

BTMは様々な種類のコンポーネントを検出できますが、その実際の種類にかかわらず、Webサービス・モデルを使用してこれらのコンポーネントとその依存関係を表示します。このモデルに従い、各サービスは要求および応答XMLメッセージを送信して対話を行います。たとえば、JDBCを介してデータベースにアクセスするEJBを呼び出すWebサービスで構成されるコンポジット・アプリケーションがある場合、それは、XMLメッセージを使用して通信する3つのサービスとしてモデル化されます。検出されたコンポーネントをBusiness Transaction Managementコンソールを使用して表示すると、これらはサービスとしてリストされ、やり取りされるメッセージはこれらのサービスに属する操作としてリストされます。あるメッセージは、1つの操作のリクエスト・フェーズまたはレスポンス・フェーズのいずれかに相当します。次の図は、検出されたサービスをBTMにより表示したものです

図16-1 サービス依存関係グラフ

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

この図は、相互関係を持つ5つのサービスと、その間のトラフィックのフローを示しています。丸の付いているサービスは、トラフィックを開始したサービスです。サービス操作の依存関係はさらにドリルダウンできますが、この表示はトランザクション定義(次の項で説明します)の開始地点となります。

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

トラフィックを実行し、アプリケーションを構成しているサービスを検出したら、これらのサービスの一部または全部を含むトランザクションをフローで定義できます。通常、トランザクションはアプリケーションを構成する複数のサービスのフローのサブセットからなります。より詳細なパフォーマンス情報の入手や問題のトラブルシューティングのためには、複数のトランザクションを使用して対象エリアを絞り込みます。

デフォルトで、トランザクションは開始操作として選択する操作で始まり、その操作の応答メッセージで終了します。トランザクション定義に含まれる操作を変更したり、関連性が自動的に検出できないフローを含めたりして、定義をカスタマイズできます。次の図は、図16-1に示す依存関係グラフに基づく、トランザクション定義のグラフィカルな表示を示しています。

図16-2 トランザクション・グラフ

テキストで定義した図。

この図は、トランザクションの開始操作(OrderService:submit)に続く、一連の操作を示しています。(各操作間をつないでいる、矢印上にあるフィンガープリント・アイコンは、メッセージ・フィンガープリントを使用して、これらの操作が自動的に関連付けられたことを意味しています。手動で関連付けられた場合は、かわりに鍵のアイコンが使用されます。)

デフォルトでは、トランザクションに対して監視が有効になっています。BTMは、トランザクション・パフォーマンスの基本的な測定値(平均レスポンス時間、開始済トランザクション数、完了済トランザクション数および最大レスポンス時間)を取得します。次の追加機能を指定することにより、監視のレベルを深め、範囲を広げることができます。

  • トランザクションの測定値は、ホスト・アドレスに基づき、および個々のコンシューマごとに切り分けることができます。

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

  • メッセージ・ロギングを有効にすると、指定した操作のメッセージ内容を表示できます。操作のリクエスト・メッセージまたはレスポンス・メッセージの内容に基づき、ある操作を検索することもできます。

これらの各機能は、BTMのパフォーマンスおよびリソースに対してかなりのコストを強いることになります。たとえば、大量のデータを処理するアプリケーションの場合、インスタンス・ロギングは多くのデータベース領域を消費することがあります。監視ニーズとパフォーマンスの兼ね合いをとるために、BTMではメッセージの内容を記録する必要なく、メッセージの部分的な内容を取得するために、指定した操作のプロパティを定義できます。また、プロパティを使用して手動でメッセージを関連付け、特定のトランザクション・インスタンスを検索し、条件を定義できます。

トランザクションを定義するときに選択する機能は、その後の監視の種類および範囲を左右します。この種の監視に加え、条件およびサービス・レベル合意を使用して、特別な状況に関するアラートを出すように、BTMを構成することもできます。

  • サービス・レベル合意(SLA)は、測定の集計に基づき、トランザクションのパフォーマンス標準を定義します。その後、Business Transaction Managementはこれらの標準からの差異を監視し、差異が発生するとアラートが発行され、管理コンソールに表示されます。BTM関連の情報をEnterprise Managerコンソールに表示すると、SLAに一致するイベントはIncident Managerの「インシデントのないイベント」ビューに表示されます。これらのイベントを「ビジネス・アプリケーション」ページに表示するには、16.2.1項「SLA違反の「ビジネス・アプリケーション」ページへの昇格」を参照してください。

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

16.2.1 SLA違反の「ビジネス・アプリケーション」ページへの昇格

デフォルトでは、SLA違反イベントはインシデントに昇格されないため「ビジネス・アプリケーション」ページに表示されません。イベントをインシデントに昇格するには、次の手順を実行します。

  1. 「設定」メニューで「インシデント」「インシデント・ルール」の順に選択します。

  2. 「ルール・セットの作成」をクリックします。「ルール・セットの作成」ページの「ターゲット」リージョンで、「すべてのターゲットのタイプ」オプションを選択します。「ビジネス・アプリケーション」ターゲット・タイプを選択します。

  3. 「ルール」リージョンで「作成」をクリックし、「作成するルールのタイプを選択」ウィンドウで「受信イベントおよびイベントの更新」オプションを選択して「続行」」をクリックします。「新しいルールの作成: イベントの選択」ページが表示されます。「タイプ」ドロップダウンで、「アプリケーション・パフォーマンス管理のKPIアラート」を選択します。

  4. 「追加」をクリックします。「アクションの追加」ウィンドウが表示されます。「常にアクションを実行」オプションと「インシデントの作成」オプションを選択します。

  5. 「次」をクリックしてルールを確認し、「続行」をクリックしてルールを保存します。条件に一致するすべてのイベントはインシデントに昇格されて、「ビジネス・アプリケーション」ページに表示されます。

16.3 トランザクションの監視

あるトランザクションについてBusiness Transaction Managementが収集する情報量は、前述のトランザクション定義によって異なります。最小で、どの機能も有効にしなかった場合は、選択したトランザクションの基本測定値がBTMコンソールのメイン領域に表示されます。これには、開始済および完了済トランザクション数、スループット、平均レスポンス時間、最大レスポンス時間、および違反アラート件数があります。次の図は、図16-2に定義を示したトランザクションに対する監視情報を示しています。表示されている数値は、リンクの平均レスポンス時間を表します。リンクを右クリックすると、ポップアップ・ウィンドウにリンクのスループットが表示されます。図の他に、BTMでは前述の基本測定値をリストしたグリッド・ビューが表示されます

図16-3 トランザクションの監視

テキストで説明している図。

表示のタブ領域にはBTMにより、コンシューマ・アドレスまたはクライアント・アドレス、アラート、アセンブルされたトランザクション・インスタンス、記録されたメッセージ内容、SLA準拠およびトランザクション定義により切り分けられたパフォーマンス・データに関する情報が表示されます。このデータのどれだけが利用できるかは、トランザクション定義により異なります。たとえば、メッセージ・ロギングを有効にしなかった場合は、メッセージ内容を表示することはできません。

中心となる測定に加え、トランザクションについて、およびサービスと操作について、追加のインスツルメンテーションと監視を有効にできます。詳細は、Oracle Business Transaction Managementオンライン・ヘルプのインスツルメントに関する説明を参照してください。

16.4 Business Transaction Managementにより回答できる質問

トランザクション、プロパティ、サービス・レベル合意および条件を使用して、Business Transaction Managementはお使いのアプリケーションに関する次のような質問に答えることができます。

  • 使用しているアプリケーションの論理構造はどうなっているのか。アプリケーション・コンポーネントを構成する操作は何か。

    「サービス・マップ」ビューを開き、現在アクティブなサービスおよびその依存関係を表示します。

  • 環境インフラストラクチャと、その環境インフラストラクチャの要素間の依存関係はどこで見ることができるか。

    「コンテナ」ビューを選択します。ここから、指定のコンテナでホストされているアプリケーション・コンポーネントを表示でき、また、各コンポーネントを構成する操作も表示できます。

  • 現在の動作状態の概要を迅速に取得する方法は何か。

    「ダッシュボード」ビューから「操作状態サマリー」を選択します。これにより、現在の障害件数と警告件数、アラート件数および管理ステータスがわかります。

  • トランザクション・フローのパフォーマンスとトラフィック量を知りたい。

    「トランザクション」ビューでトランザクションを選択し、トランザクションのスループットおよび平均レスポンス時間の数値の監視データを選択します。

  • 最も頻繁に使用されるのはアプリケーションのどの部分か。

    「上位10件のサービス」ダッシュボードの「最大の負荷」項目を選択します。

  • どのサービスに最もエラーが発生しやすいか。

    「上位10件のサービス」ダッシュボードの「最多フォルト」項目を選択します。

  • どのトランザクションが最も遅いか。

    「上位10件のトランザクション」ダッシュボードの「最遅」の「平均レスポンス時間」表を選択します。

  • これまでの基準と比較して現在のパフォーマンスはどうか。

    重要なパフォーマンス・メトリックのベースラインを定義し、選択した操作に対するSLAの警告およびアラート・レベルを定義します。ベースラインを定義すると、「トランザクション・サマリー」ページと「分析」タブに基準として表示されます。SLAを構成した場合はアラートを表示させることもできます。結果は「SLA準拠」タブに表示されます。

  • 最も遅いサービスを取得しているのはどの顧客か。

    コンシューマ・セグメンテーションを定義し、「分析」タブの結果を表示します。

  • トラフィック・フローにボトルネックはあるか。ロード・バランサを追加する必要はあるか。

    サービスで異常に高いスループット数値および異常に遅い平均レスポンス時間を調べます。

  • 先週$10,000を超える注文は何件あったか。

    請求額合計を指定するメッセージ要素のプロパティを定義します。次に、このプロパティを使用して、その金額を超えるすべての注文の発生についてアラートを出す条件を定義します。条件の数は、そのトランザクションの「分析」タブに表示されるインスツルメントとして追跡されます。

16.5 Enterprise Manager ConsoleからのBTMへのアクセス

トランザクションに関する監視情報および定義情報には、Enterprise Manager Consoleからアクセスできます。トランザクションの編集、プロパティの作成、条件の定義またはサービス・レベル合意の設定は、Enterprise Manager Consoleではできません。必要なすべての操作はBusiness Transaction Managerのコンソールで行います。

もちろん、「トランザクションの定義」で説明したように、提供される情報は、トランザクションを定義したときに有効にした機能により、異なってきます。たとえば、インスタンス・ロギングを有効にしない場合は、個々のトランザクション・インスタンスに関する情報は表示されません。表示される情報量を変更する必要があると考えた場合は、Business Transaction Managementコンソールを使用して、トランザクションの定義を編集できます。Enterprise Managerは新しい定義により自動的に更新され、ユーザーが追加トラフィックを実行すると、必要な情報が表示されます。

全般的に、Enterprise Manager Consoleからアクセスできる情報には、現在のビジネス・アプリケーションに関連付けられた各トランザクションに関する次のような情報があります。

  • 「ビジネス・アプリケーション」ページでは、関連付けられたすべてのトランザクションのリストとともに、選択したトランザクションの現在の準拠ステータス、指定した期間中に開始されたまたは完了したトランザクション・インスタンス数、平均完了時間および最大完了時間を表示できます。

  • 「ビジネス・アプリケーション」ページのトランザクションをクリックすると表示される「トランザクション」ホーム・ページでは、SLA準拠と、基本測定値の付いたトランザクション・サービスの操作のツリー表リスト(サービスに重複がある場合には、全サービス・インスタンス(エンドポイント)間のパフォーマンス測定値の内訳付き)を表示できます。

  • 「トランザクション」ホーム・ページでエンドポイントを右クリックすると、その操作の詳細を表示するBTM UIを起動するか、それともJVMDを起動するかのオプションが表示されます。

「トランザクション」ホーム・ページから「BTMの起動」をクリックすると、指定したトランザクションについてのより広範囲かつ詳細な情報にアクセスできます。クリックにより新しいウィンドウが開き、Business Transaction Managementコンソールのタブ情報を表示できます。

Enterprise Manager ConsoleでのBTMの操作の詳細は、「ビジネス・アプリケーションの監視」を参照してください。

16.6 Business Transaction ManagementのRUEIおよびJVM診断との連携

Business Transaction ManagementはRUEIおよびJVMDとシームレスに連携できます(「エンドツーエンド監視の設定」で説明されているように、これらをインストールし、構成した場合)。オプションには次のものがあります。

  • RUEIからBusiness Transaction Managementにアクセスできます。詳細は、『Oracle Real User Experience Insightユーザーズ・ガイド』の「外部ツールへのクリックアウトの構成」を参照してください。

  • Business Transaction Managementコンソールから「Java仮想マシン診断」(JVMD)ビューおよび「インスタンス診断リクエスト」(RID)ビューにアクセスできます。

    JVMDビューへは、操作を1つ選択し、そのドロップ・リストから「JVMDにドリルダウン」を選択すると、アクセスできます。次に、その操作の実行期間中に実行中のJVMプロセスに関する詳細を表示できます。実行スレッド、スレッド状態情報、メソッド実行の頻度とコストに関する集計情報などをスタック・フレームで表示できます。

    ECIDを割り当てられたメッセージについては、「インスタンス診断リクエスト」ビューに情報を表示でき、指定したECIDを持つリクエストの手順を実行したJVMのリストが表示されます。RIDビューへは、操作を1つ選択し、そのドロップ・リストから「インスタンス診断リクエスト」を選択すると、アクセスできます。

    詳細は、Oracle Business Transaction Managementオンライン・ヘルプの「他の診断ツールへのアクセス」に関する説明を参照してください。