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

前
 
次
 

14 パフォーマンスの監視

モジュラ開発と動的バインディングを特徴とするサービス志向の分散アプリケーションでは、1点集中管理が不可欠です。ユーザーはそこからアプリケーション全体の動作を監視し、実際の問題や潜在的な問題を特定し、是正措置をとることができます。

この章では分散アプリケーションのパフォーマンス監視に関連する問題やタスクについて説明します。次の項目について説明します。

分散アプリケーションのパフォーマンスを監視するには、次のことが実行できる必要があります。

このガイドで説明されている製品は組み合せて使用することにより、上述の機能を提供します。お使いのアプリケーションのパフォーマンスについて知るために、これらすべての製品を使用する必要はありません。たとえば、エンドユーザー・エクスペリエンスの監視からスタートし、後でトランザクション監視を追加することも可能です。次のセクションでは、利用できる様々な監視オプションについて説明します。

14.1 監視ビューおよび監視ディメンション

エンドツーエンド・パフォーマンス監視には複数のビューとディメンションが必要です。

  • ルーティング・スキームとデータベース・アクセスを含む、論理アプリケーションのトポロジの完全なビュー

  • 基盤となるインフラストラクチャの完全なビュー

  • 使用されている分散アプリケーションに関する様々な詳細

  • Webベースのアプリケーションの場合は、ユーザーが訪問するWebページのhtmlソースへアクセスする機能

  • Java仮想マシンで実行されているアプリケーション・コンポーネントのマシンレベルの実行詳細へのアクセス

  • アプリケーションの論理ビューから物理ビューへ移動する機能

RUEI、BTM、JVMDおよびEnterprise Managerはエンドツーエンドのパフォーマンス監視に必要な機能性を提供します。前述のように、これらすべてをインストールし、構成する必要はありません。最もさしせまった問題に対処する製品をまず使用し、後でまた別に追加できます。

  • Real User Experience Insight (RUEI)

    ユーザー・インタフェースでの問題を特定し、提供されるサービスの質を評価し、使用パターンを理解、予測するのを助けます。

  • Business Transaction Management (BTM)

    アプリケーションを構成するコンポーネントを検出し、特別に重要な操作を含むトランザクションをユーザーが定義できるようにします。ユーザーはアプリケーションが様々なサーバーを介して実行する作業(多層実行)を追跡でき、さらに、分散アプリケーションのトポロジを表示できます。

  • Java仮想マシン診断(JVMD)、Enterprise Manager

    Java仮想マシンで実行されるサービスについて、リクエスト・フローおよびアプリケーション実行環境の内部メカニズムに関するサーバー・レベルのビューを提供します。

  • インスタンス診断リクエスト(RID)、Enterprise Manager

    このJVMDビューにより、ユーザーは1つのリクエストの詳細を調べ、特定のECIDで検出されたものに対して問い合せることができます。

  • 「ビジネス・アプリケーション」ページ、Enterprise Manager

    ビジネス・アプリケーションを定義できます。この定義のコンテキストでユーザーはRUEIおよびBTM情報を表示、分析し、より詳細な監視情報にアクセスできます。

図14-1は、これらのコンポーネントが範囲と深さの両面でどのように連携し、ユーザーにエンドツーエンドのパフォーマンスの監視を提供するかを示しています。

エンドユーザー管理ペインはRUEI監視を示しています。エンドユーザーはブラウズ・セッション中に一連の手順を実行します。RUEIはWebユーザーのアクションを監視し、様々な方法で切り取ったレポートを作成できます。これにより、一定のセッションにまたはユーザー・フローに対して、だれがページをリクエストしたか、どのページがリクエストされたか、どのサーバーが影響を受けたか、レスポンス時間はどれだけかかったか、スループット率はどれほどかを、ユーザーは知ることができます。

Webページ上でオブジェクトとやり取りをすることにより、ユーザーはBusiness Transaction Management (BTM)により監視されるリクエスト・フローを呼び出します。BTMにより、ユーザーはバックエンド・アプリケーション・コンポーネントを検出して、アプリケーション・パフォーマンスの理解に不可欠なリクエスト・フロー(トランザクション)を定義し、監視できます。開始されたトランザクション数、完了したトランザクション数、スループット、平均および最大レスポンス時間を一定期間について判定できます。

14-1 アプリケーション・パフォーマンスの監視

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

最後に、リクエスト・フローの中で特定のサーバーによってサポートされる一連の操作について深層診断を起動し(図14-1を参照)、遅延のあるサービスや障害のあるサービスの原因が下層レベルの問題であるかどうかを判別できます。ここでは、所定の操作が実行された期間についての詳細情報を表示できます。スレッドを実行するためのスタック・フレーム、スレッド状態に関する情報、メソッド実行の頻度やコストに関する集計情報、データベース・ロックに関する情報、Javaヒープのオブジェクトに関する詳細を確認できます。

エンドツーエンドの監視を切り分けるもう1つの方法は、ユーザー・クリックを支える多層実行を調べ、RUEI、BTMおよびJVMDがどのように各層に対応しているかを理解することです。次の図では、RUEIはユーザー・クリックについて、BTMはリクエスト・フローのインスタンスと個々のリクエスト(または操作)について、そしてJVMDはJava仮想マシンで実行されているコードについての情報を提供していることがわかります。

図14-2 コンポーネントと実行レイヤー

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

エンドツーエンド・アプリケーション・パフォーマンスを監視するためにRUEI、BTMおよびJVMDを使用することに加え、Enterpriser Manager (EM)コンソールを使用してもRUEIアプリケーションやBTMトランザクションを含むビジネス・アプリケーションを監視できます。詳細は、第18章「ビジネス・アプリケーションの監視」を参照してください。

14.2 ECIDを使用してリクエストを追跡する

RUEI、BTMおよびJVMDは、それぞれターゲットとしているものと監視の詳細度が異なっているため、共有のIDを持つことで、診断における処理や要素の共有を実現していくことができます。

実行コンテキストID (ECID)は、Oracleテクノロジ・スタックでコンポーネントに対するリクエストを追跡するために使用される識別子です。通常、ECIDはリクエストを処理する最も外側のOracleコンポーネントによって生成され、場合によってはサーバーの境界を越えて、そのリクエストを処理する他のOracleコンポーネントへと伝播されていきます。

ECIDの作成と伝播により、コンポーネント間でのコンテキストおよび診断データの共有ができるようになります。ECIDは普遍的に使用されているわけではありませんが、使用されているところではエンドツーエンド診断の良き支えとなっています。

複数のテクノロジでメッセージ・トラフィックに対するECIDを生成しており、これにはRMI、JAX-RPC、JAX-WS、EJB、JMS、JDBC、ServletsおよびSOAが含まれています。(一部では、ECIDはWebLogicサーバー間での通信が発生する場合のみサポートされます。)

ECIDが使用される場合、ユーザーは全実行コンテキストにわたって同じオブジェクトを確かに追跡しているかどうかを判別できます。たとえば、同じECIDが共有されていれば、異なるターゲット・コンポーネントからのエラー・メッセージを関連付けることができます。

エンドツーエンド・パフォーマンス監視で使用されるコンポーネントはすべてECIDの使用をサポートしています。

  • RUEIはページ・オブジェクトに割り当てられたECIDを、特定のページに対する履歴に表示します。

  • BTM側で受信メッセージにECIDが付いているのを検出すると、そのECIDをそのメッセージの固有プロパティとして割り当てます。その後、ユーザーは特定のECIDを持つメッセージを検索し、表形式で表示された各操作を見れば、どの操作に同じECIDが付いているかを判別できます。(同じ操作のリクエスト・メッセージとレスポンス・メッセージは、異なるECIDを持つ場合があります。)

  • また、ECIDを最も詳細レベルで使用すると、Java仮想マシンで実行中のスレッドまで特定することもできます。

  • さらに、Oracle Diagnostic Logging (ODL)フレームワークを使用するOracle Fusion Middlewareコンポーネントのログ・エントリと連携して、ECIDを使用することもできます。

HTTPサーバーまたはWebLogicサーバーにより、デフォルトでECIDが生成されるようにするには、My Oracle Supportのナレッジのドキュメント1527091.1の説明を参照してください。

14.3 エンドツーエンド監視の設定

エンドツーエンド監視を得るためには、第14.1項に説明されている製品をインストール、構成し、接続する必要があります。すべての製品を一度にデプロイする必要はありません。必要な機能を提供する製品から始めて、後で別の製品を追加することができます。

この項ではパフォーマンス監視の各ディメンションについて、エンドツーエンド・アプリケーション・パフォーマンス監視を設定するために必要な手順について説明します。各手順の目的を説明し、参照できる関連資料をあげています。この項には、次が含まれます。

設定の説明に進む前に、次の図を見て、デプロイによりエンドツーエンド監視を可能にする製品群のトポロジを理解してください。

図14-3は、RUEIコレクタ、EMエージェント、BTMオブザーバおよびJVMDエージェントが、監視対象環境においてどのようにデプロイされるかを示しています。

  • RUEIコレクタはWebサーバーの前面にデプロイする必要があります。

  • EMエージェントは、分散アプリケーションにより使用されるアプリケーション・サーバーとデータベース・サーバーをホストするマシン上にデプロイする必要があります。

  • BTMエージェントとJVMDエージェントは、アプリケーション・コンポーネントがデプロイされるアプリケーション・サーバーにデプロイする必要があります。

もちろん、これらのうちどれをデプロイするかは、必要とするビューによって異なります。たとえば、マシンレベルのランタイム情報に関心がない場合は、JVMDエージェントをデプロイする必要はありません。

図14-3 監視対象環境のエージェントとオブザーバ

テキストで説明されている図

図14-4はRUEI、OMS、JVMDおよびBTMが相互に、そして該当するデータ収集点にどのように接続されるかを示しています。

  • 各処理エンジンはそれぞれのコンソールに接続し、それによって管理者は監視対象オブジェクトを作成、更新できることが示されています。

  • RUEI、JVMDおよびBTMがOracle Management Serverにどのように接続され、ビジネス・アプリケーションの作成と監視を可能にするデータ共有を実現しているかが示されています。

最小のユーザー環境は管理レイヤーの下に表示されています。

図14-4 監視対象環境の処理エンジン

テキストで説明されている図

14.3.1 Enterprise Managerの設定

ビジネス・アプリケーションを作成し、監視するためにはEnterprise Managerが必要です。マシンレベルのパフォーマンス・データを調査することにより、深層診断を行う場合にもEnterprise Managerは必要です。このオプションの詳細は、第14.3.2項「Java仮想マシン診断の設定」を参照してください。

Enterprise Managerを設定するには、次の手順を実行します。

  1. Enterprise Managerをインストールし、構成します。詳細は、次のURLの『Oracle Enterprise Manager Cloud Control基本インストレーション・ガイド』を参照してください。

    http://docs.oracle.com/cd/E24628_01/install.121/e22624/toc.htm

  2. RUEIまたはBTMにより監視されるターゲットおよびアプリケーション・コンポーネントが実行されているホストに、Oracle Management Agentをインストールします。次のURLにある『Oracle Enterprise Manager Cloud Control基本インストレーション・ガイド』のOracle Management Agentのインストールに関する説明を参照してください。

    http://docs.oracle.com/cd/E24628_01/install.121/e22624/install_agent.htm

  3. Enterprise Managerを起動し、Enterprise Managerコンソールを使用して、ビジネス・アプリケーションを作成、監視します。「Business Transaction Managementの設定」を参照してください。

14.3.2 Java仮想マシン診断の設定

JVMDまたはRIDビューを使用してマシンレベルのパフォーマンス・データにアクセスするには、JVMDマネージャおよびJVMDエージェントをインストールする必要があります。JVMDはEnterprise Managerにとって欠かすことのできない構成員であるため、JVMDのインストールの前にEnterprise Managerをインストールしておくことが必要です。

Java仮想マシン診断を設定するには、次の手順を実行します。

  1. Enterprise ManagerにJVMDマネージャをデプロイ(JVM診断エンジン)します。この手順はJVM監視データにアクセスするために必要です。詳細は、『Oracle Enterprise Manager Cloud Control基本インストレーション・ガイド』のJVM診断のインストールに関する説明を参照してください。

    http://docs.oracle.com/cd/E24628_01/install.121/e22624/jvmd_installation.htm

  2. RUEIおよびBTMにより監視されるターゲットおよびサービスが稼働しているすべてのノードにJVMDエージェントをインストールします。この手順は所定のサーバーのJVMデータを収集するために必要です。詳細は、『Oracle Enterprise Manager Cloud Control基本インストレーション・ガイド』のJVM診断のインストールに関する説明を参照してください。

14.3.3 Real User Experience Insightの設定

ユーザー・エクスペリエンスについての情報を取得するには、RUEIをインストールして構成し、その後にこれをEnterprise Managerに登録する必要があります。

RUEIを設定するには、次の手順を実行します。

  1. RUEIをインストールし、構成します。この手順には次のタスクが含まれます。

    • 監視対象環境にコレクタ、プロセッサおよびレポータをインストールします。

    • レポータ・データベースをインストールします。

    • RUEIレポータを構成します。

    RUEIを構成し、ユーザーの識別、アプリケーションを構成するページ集合の指定、監視範囲の指定、メール通知の構成、およびセキュリティ・オプションの提供ができるようにします。また、この時点でOracle Enterprise Managerへの接続も設定します。詳細は、適切なRUEIドキュメント・ライブラリからOracle Real User Experience Insightインストレーション・ガイドを参照してください。

    http://www.oracle.com/technetwork/documentation/realuserei-091455.html

  2. RUEIにクリックアウト機能を構成します。この手順は、外部ツールへのクリックアウトができるようにするために必要です。ここでは、BTMおよびJVMDへのクリックアウトができるようにします。詳細は、『Oracle Real User Experience Insightユーザーズ・ガイド』の「外部ツールへのクリックアウトの構成」を参照してください。

  3. RUEIをEnterprise Managerに登録します。レポータ・システムへのアクセスが可能で、アクセス資格証明の指定ができるポートを指定します。この手順はRUEIとEMとの通信を確立するために必要です。詳細は、第18章「ビジネス・アプリケーションの監視」を参照してください。

14.3.4 Business Transaction Managementの設定

アプリケーション・コンポーネントを検出し、トランザクションを定義し、それらの監視オプションを定義するには、Business Transaction Managementを使用する必要があります。ビジネス・アプリケーションの監視のコンテキストでは、BTMは多層間トランザクションの監視に使用され、単一層アプリケーションには必要とされません。

Business Transaction Managementを設定するには、次の手順を実行します。

  1. BTMをインストールし、構成します。この手順には次のタスクが含まれます。

    • セントラル・サーバーのインストールと構成。(この時点で、Oracle Enterprise Managerサーバーへの接続も構成できます。)

    • モニターのインストールと構成。これにより、モニターとオブザーバ間の通信が定義されます。

    • 監視対象のサービスをホストしている各サーバーへのオブザーバのインストール。

    詳細は、次のURLにあるOracle Business Transaction Managementインストレーション・ガイドを参照してください。

    http://docs.oracle.com/cd/E24628_01/nav/assoproducts.htm

  2. JVMDへのアクセスを有効にします。この手順はBTMからJVMDビューおよびRIDビューにアクセスするために必要です。詳細は、Oracle Business Transaction Managementオンライン・ヘルプの「JVMDおよびRIDビューへのアクセスの有効化」に関する説明を参照してください。

    http://docs.oracle.com/cd/E24628_01/nav/assoproducts.htm

  3. BTMでトラフィックを待ち、サービスを検出し、トランザクションを定義します。BTMでの検出は常に動的です。本番環境ではトラフィックを待ってから、アプリケーション・コンポーネントを検出できます。テスト環境では、検出を有効化するためにトラフィックを実行する必要があります。詳細は、Oracle Business Transaction Managementオンライン・ヘルプを参照してください。

  4. BTMをEnterprise Managerに登録します。Sphereへのアクセスが可能で、アクセス資格証明の指定ができるポートを指定します。この手順はBTMとEMとの通信を確立するために必要です。詳細は、第18章「ビジネス・アプリケーションの監視」を参照してください。

14.3.5 ビジネス・アプリケーションの作成

エンドツーエンド監視のために、RUEIアプリケーション、BTMトランザクションおよびこれらをサポートするシステムを含むビジネス・アプリケーションを作成します。使用するビジネス・アプリケーションは徐々に構築することができます。まずRUEIアプリケーションのみを含めることから始め、その後、関連するトランザクションを追加していくことができます。最初はRUEIアプリケーションもBTMトランザクションも含めずに、分散アプリケーションをサポートするシステムをつぶさに調べることから始めることもできます。

ビジネス・アプリケーションを作成するには、次の手順を実行します。

  1. 監視対象アプリケーション・コンポーネントが稼働しているホストおよびコンテナを指定するシステムをEnterprise Manager内に作成します。これらのホストとコンテナは、ご使用の分散アプリケーションのインフラストラクチャです。この手順は、基盤となっているインフラストラクチャの状態についての情報を、Enterprise Managerが収集し、戻すために必要です。詳細は、Enterprise Managerコンソールのオンライン・ヘルプを参照してください。

  2. Enterprise Managerコンソールを使用してビジネス・アプリケーションを作成します。この手順は、ビジネス・アプリケーションに含めるRUEIアプリケーションとBTMトランザクションを指定し、どのシステムが(ステップ1)ビジネス・アプリケーションをサポートするかを指定します。詳細は、第18章「ビジネス・アプリケーションの監視」を参照してください。

  3. ビジネス・アプリケーションを監視します。Enterprise Managerコンソールを使用して、ビジネス・アプリケーションのパフォーマンスを監視します。詳細は、第18章「ビジネス・アプリケーションの監視」を参照してください。

  4. 必要に応じてRUEIアプリケーションを編集します。

    RUEIアプリケーションを定義してあったが、データを別の形で切り分けるように、またはキー・パフォーマンス・インジケータを再設定するように定義を変更する必要があることが、Enterprise Managerでの監視結果からわかった場合は、RUEIコンソールを使用してアプリケーションの定義を変更する必要があります。詳細は、次のURLにあるOracle Real User Experience Insightユーザーズ・ガイドを参照してください。

    http://docs.oracle.com/cd/E48389_01/index.htm

    Enterprise Managerは新しい定義により自動的に更新されます。

  5. 必要に応じてBTMトランザクションを編集します。

    トランザクションを定義してあったが、監視結果から、トランザクション定義を変更して収集するデータ量の増減、プロパティや条件の追加、またはキー・パフォーマンス・インジケータの再設定を行う必要があることがわかった場合は、BTMコンソールを使用してトランザクションの定義を変更する必要があります。詳細は、次のURLにあるOracle Business Transaction Managementオンライン・ヘルプを参照してください。

    http://docs.oracle.com/cd/E24628_01/nav/assoproducts.htm

    EMは新しい定義により自動的に更新されます。

14.4 ユーザー・ロールと権限

ユーザー・ロールと権限はコンポーネントの機能へのアクセス性を定義します。次のガイドラインは、アプリケーションのパフォーマンスを監視するためにコンポーネントの操作を行う際に当てはまります。

  • 全般的に、RUEIおよびBTMでエンティティを作成するには、それらのエンティティをEMで監視するよりも高い権限が必要です。

  • あるコンポーネントから別のコンポーネントへのクリックスルーでは、各コンソールのネイティブな認証システムに遭遇します。作業を行うために各コンポーネントについて必要な権限を持っていることを確認してください。

  • adminおよびsuperAdminルールを例外として、EM内ではロールが必ずターゲットと関連付けられています。EMコンソールでユーザーに何が表示されるかは、特定のターゲットに関するそのユーザーのロールに依存します。

  • BTMまたはRUEIシステムをEMに登録するには、super adminロールが必要です。いったんRUEIやBTMシステムがEMに登録されると、ビジネス・アプリケーションを作成するためにsuper adminロールは必要ありません。

  • EMがRUEIおよびBTMと対話するために使用する資格証明にアクセスするには、RUEIまたはBTMシステムに対する「任意のターゲットの作成」権限と「任意のターゲットの表示」権限が必要です。

  • 「ビジネス・アプリケーションの管理」および「ビジネス・アプリケーション」のメニュー・アイテム・アプリケーション・パフォーマンス監視リソース権限が必要です。

  • JVM診断データを表示するには「JVM診断ユーザー」権限が必要です。

  • ヒープやスレッドのスナップショットの作成および分析、スレッドのトレースなどのJVM診断操作を管理するには、JVM診断管理者権限が必要です。