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

前
 
次
 

23 ミドルウェア診断アドバイザの使用

ミドルウェア診断アドバイザでは、スタック全体を分析して、問題の根本原因を特定することにより、診断結果を提示します。情報の関連付けと分析を行い、問題の解決方法についてアドバイスを提供します。たとえば、パフォーマンスのボトルネックの原因が、処理に時間のかかるSQL文にあるのか、JDBC接続プールにあるのかを特定できます。

ミドルウェア診断アドバイザが有効になっていれば、WebLogicドメイン内の1つ以上のサーバーについて診断結果を表示できます。

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

23.1 Oracle WebLogic Serverを使用したパフォーマンスの問題の診断

Oracle WebLogic Server (WLS)は、高いパフォーマンスおよびスケーラビリティを提供するアプリケーション・サーバーです。WebLogic Serverは、デプロイメントおよび管理も簡略化して、現在の軽量開発プラットフォームを市場に投入するまでの時間を短縮します。

WLSのパフォーマンスおよびスケーラビリティを維持するには、違反を検出して違反の原因を把握することをお薦めします。これにより、迅速な対処が可能になります。パフォーマンス関連の問題は、サーバーの構成および負荷に基づいて検出されます。最も一般的なパフォーマンスの問題には、遅いレスポンス時間およびアプリケーションのクラッシュが含まれます。ミドルウェア診断アドバイザ(MDA)を使用して、値をWebLogic Management Packに追加します。WebLogic ServerでのMDAの使用の詳細は、第23.2項を参照してください。

23.2 ミドルウェア診断アドバイザを使用したパフォーマンスの問題の診断

ミドルウェア診断アドバイザまたはMDAは、Enterprise Manager Cloud Controlで監視されるターゲットとともにパフォーマンスの問題を診断するEnterprise Manager Cloud Control内で統合された診断モジュールです。現在、MDAは、Oracle WebLogic Server 10gリリース3 (10.3)以上でサポートされています。MDAは、JDBCデータソース、EJBおよびJMSキューを監視します。

MDAでは、パフォーマンス低下の原因であるアプリケーション・サーバー環境の基礎となる状態を簡単に識別できます。これらの基礎となる状態は、リクエストの遅いレスポンス、ハングしているサーバー、遅いサーバー、高いメモリー使用率、高いディスクI/Oなどのパフォーマンスの低下で表すことができます。

MDAは、ランタイム環境の側面のパフォーマンス全体を分析します。側面のパフォーマンス全体が特定の制限を超えて低下すると、MDAは問題を診断して、根本的な原因を検出します。ただし、パフォーマンス全体に影響しない個々の問題は、MDAによって分離されません。

MDAは、次の領域でパフォーマンスの問題を診断します。

  • JDBC結果:

    • SQL実行に時間がかかるかどうかを確認します。

    • JDBCプール・サイズが小さいかどうか、および接続の待機時間が長いかどうかを確認します。

    • データ・ソースに再要求接続が見つかったかどうか、および有効なプール・サイズが小さいかどうかを確認します。

  • JMS結果:

    • メッセージ処理が遅いかどうかを確認します。

    • トランザクション・タイムアウトのために再処理されたメッセージの数が多いかどうかを確認します。

    • トランザクション・ロールバックのために再処理されたメッセージの数が多いかどうかを確認します

    • メッセージ配信が遅いかどうかを確認します。

    • 多数のメッセージのためにキューが遅くなったかどうかを確認します。

    • 大きいサイズのメッセージのためにキューが遅くなったかどうかを確認します。

  • EJB結果:

    • EJBにより行われたリモート・コールを戻すのに時間がかかりすぎているかどうかを確認します。

    • EJBの実行に時間がかかりすぎているかどうかを確認します。

  • スレッド結果:

    • 他のスレッドが待機しているロックがあるかどうかを確認します。


注意:

ミドルウェア診断アドバイザを使用してJDBC接続プールのサイズを正確に設定する方法のデモンストレーションを表示するには、次のURLにアクセスして「Begin Video」をクリックします。

https://apex.oracle.com/pls/apex/f?p=44785:24:0::NO:24:P24_CONTENT_ID,P24_PREV_PAGE:5462,1">>https://apex.oracle.com/pls/apex/f?p=44785:24:0::NO:24:P24_CONTENT_ID,P24_PREV_PAGE:5462,1


23.3 ミドルウェア診断アドバイザの機能

ミドルウェア診断アドバイザは、次のように動作します。

  1. ターゲット・サーバーにあるデータ・コレクタは、高い頻度でデータを収集します。収集されたデータは、5分ごとに集計されます。

  2. Oracle Management Agentは、集計データをOracle Management Repositoryに定期的にアップロードします。

  3. OMSで、MDA分析ジョブは15分ごとに実行され、Oracle Management Repositoryにアップロードされたデータを分析します。

  4. 分析は1時間ごとに実行されます。分析をある1時間の途中で開始すると、その時間全体について実行されます。たとえば、分析を2:15 PMに開始したとすると、2:00 PMから3:00 PMの分析が実行されます。

    分析時間の最後に、問題があるかどうかを確認するためにルールが適用されます。問題の原因も特定するルールがあります。

23.4 ミドルウェア診断アドバイザの範囲の制限

emctlを使用すると、MDAによってターゲットで実行される特定のチェックを無効にできます。次の表は、チェック、コマンドおよび説明の名前について説明しています。

チェック コマンド 説明
スレッド分析 emctl set property -sysman_pwd <sysman password> -name oracle.sysman.emas.mda.disableThreadAnalysis -value true ターゲットのスレッド分析チェックを無効にします。グローバル設定のため、個々のターゲットに使用できません。
EJB分析 emctl set property -sysman_pwd <sysman password> -name oracle.sysman.emas.mda.disableEJBAnalysis -value true ターゲットのEJB分析チェックを無効にします。グローバル設定のため、個々のターゲットに使用できません。
JDBC分析 emctl set property -sysman_pwd <sysman password> -name oracle.sysman.emas.mda.disableJdbcAnalysisForTargets -value <comma-separated-target-names | all> ターゲットのJDBC分析チェックを無効にします。カンマ区切りリストで個々のターゲットを入力します。すべてのターゲットを無効にする場合、allを入力します。
JMS分析 emctl set property -sysman_pwd <sysman password> -name oracle.sysman.emas.mda.disableJmsAnalysisForTargets -value <comma-separated-target-names | all> ターゲットのJMS分析チェックを無効にします。カンマ区切りリストで個々のターゲットを入力します。すべてのターゲットを無効にする場合、allを入力します。

23.5 前提条件

MDAを使用したパフォーマンスの問題の診断を開始する前に、次の前提条件を満たします。

  • WebLogic Serverがターゲットとして検出されています。

  • ターゲットでMDAを有効にする前に、ターゲットの構成収集を強制します。

  • JVMDマネージャが構成されており、JVMDエージェントがターゲット・サーバーにデプロイされています。

  • ホストに優先資格証明、WebLogicに管理者資格証明がすでに追加されていることを確認します。

  • JVMDがすでに有効になっていることを確認します。


注意:

JVMDエージェントのwarファイルを手動でOracle WebLogic Serverにデプロイする場合は、次の手順を実行します。
  1. <MWHOME>/plugins/oracle.sysman.emas.oms.plugin_<pluginversion>/archives/jvmd/javadiagnosticagent.earを一時ディレクトリにコピーします。

  2. 一時ディレクトリに変更します。

    cd/scratch/temp

  3. 次のコマンドを使用して、.earファイルからファイルを抽出します。

    jar -xvf javadiagnosticagent.ear

  4. JVMDエージェントをデプロイするために使用したjamagent.warファイルを、このディレクトリにコピーします。

  5. 次のコマンドを使用して.earファイルを作成します。

    jar -cvf javadiagnosticagent.ear *

  6. javadiagnosticagent.earを手動でデプロイし、MDAを有効化します。


23.6 ミドルウェア診断アドバイザの有効化

MDAは、JVMDエージェントのデプロイ後すぐに有効になります。MDAを手動で有効化または無効化するには、次の手順に従います。

  1. 「WebLogicドメイン」メニューから、「診断」ミドルウェア診断アドバイザ構成を選択します。

  2. ミドルウェア診断アドバイザ構成ページで、MDAを有効にするターゲットを選択して、「有効化」をクリックします。(図23-1を参照。)


    注意:

    MDAによってターゲットを監視できるようにするには、ホストおよびドメインの資格証明を指定する必要があります。すでに資格証明を設定してある場合は、必要な資格証明を「ホスト資格証明」タブと「ドメインの資格証明」タブで選択します。

    まだ資格証明を設定していない場合は、それらをホストおよびドメインの資格証明タブで作成し、ターゲットの有効化に進みます。


図23-1 「ミドルウェア診断アドバイザの構成」ページ

図23-1の説明が続きます。
「図23-1 ミドルウェア診断アドバイザの構成ページ」の説明

23.7 ミドルウェア診断アドバイザ(MDA)の設定

MDAは使用状況に応じて設定できます。MDAを設定するには、次の手順に従います。

  1. 「設定」メニューから、ミドルウェア管理「ミドルウェア診断アドバイザ」の順に選択します。

  2. ミドルウェア診断アドバイザ設定ページで、次のことを行うことができます。

    • すべてのMDA分析ジョブをスキップする場合は、「分析ジョブの構成」セクションで、「MDAを有効化したすべてのサーバーで分析の実行をスキップ」を選択します。


      注意:

      このオプションを選択しても、ターゲット管理対象サーバーでのMDAデータ・コレクタの機能は停止しません。

    • リポジトリからデータをパージする、24時間ごとに実行されるMDAジョブが存在します。このジョブはデフォルトで有効になっており、31日より古いすべてのデータを削除します。

      状況に応じた頻度を設定するには、「ポリシーのパージ」セクションで、「より古いデータをパージ」オプションを選択して、データを保持する日数を入力します。


      注意:

      これはグローバル設定であるため、すべてのターゲットおよびすべてのユーザーに適用されます。

    • 「検出しきい値の構成」セクションでは、「違反割合」を調整して、この値を超えると違反として検出されるというしきい値または制限(%)を設定します。デフォルト値は10%です。


      注意:

      これはグローバル設定であり、すべての検出に適用されます。

    • この値を超えると取得したすべてのメッセージが違反とみなされる待機時間(分)を設定するには、「JMS待機時間」を調整します。デフォルト値は5分です。


      注意:

      この設定はJMS待機時間の検出にのみ適用できます。

  3. 適用」をクリックします。

23.8 JMS宛先メトリックの有効化

ミドルウェア診断アドバイザを最初に有効にする場合、JMS宛先メトリックを有効にすることをお薦めします。ただし、JMSキューを分析するため、メトリックを有効にする必要があります。

JMS宛先メトリックを有効にできる方法は2つあります。

  1. JMS宛先メトリックを有効にする最初の方法:

    1. 「エンタープライズ」メニューから、「監視」「監視テンプレート」の順に選択します。

    2. 検索オプションで、「ターゲット・タイプ」メニューから「Oracle WebLogic Server」を選択して、「オラクル社認定のテンプレートを表示」チェック・ボックスを選択します。

    3. WebLogic Serverのオラクル社認定のMDAテンプレートラジオ・ボタンを選択して、「適用」をクリックします。

    4. 次のページで、「テンプレートは、テンプレートとターゲットに共通のメトリックのみをオーバーライドします。」ラジオ・ボタンを選択します。このオプションは、デフォルトで選択されています。

    5. 「コピー先ターゲット」から「追加」をクリックします。

    6. 「検索と選択: ターゲット」ダイアログ・ボックスから、JMS宛先メトリックを有効にするWebLogic Serverを選択して、「選択」をクリックします。

    7. 「OK」をクリックして選択したターゲットにテンプレートを適用します。

  2. JMS宛先メトリックを有効にする2番目の方法:

    1. 「WebLogic Server」メニューから「監視」を選択し、「メトリックと収集設定」を選択します。

    2. 「表示」メニューから、「すべてのメトリック」を選択し、列をスクロール・ダウンして「JMS宛先メトリック」を検索します。

    3. 列から「無効」をクリックします。

    4. 次のページで、「有効化」をクリックします。「有効化」をクリックした後、希望する頻度を入力して「続行」をクリックします。

    5. 次に表示されたページで「OK」をクリックします。

23.9 ミドルウェア診断アドバイザを使用したパフォーマンスの問題の表示および診断

MDAを使用したパフォーマンスの問題を表示および診断するには、次の手順に従います。

  1. ターゲットのホームページにナビゲートします。ターゲット固有のメニューから、「診断」「ミドルウェア診断アドバイザ」の順に選択します。

  2. ミドルウェア診断アドバイザ・ページで、リクエスト処理時間のグラフおよび分単位のリクエストを表示します。

  3. 存在する場合、結果の詳細は、グラフの下のアイコンをクリックしてください。各結果を示すアイコンが、結果の時間枠を示すグラフの下に表示されます。

  4. 結果アイコンをクリックすると、メッセージが「結果」タブの画面の下部に表示されます。診断の結果ページの例は、図23-2を参照してください。

  5. 結果の詳細を表示するには、「結果」列を拡張し、詳細を表示する結果のリンクをクリックします。これにより、結果詳細ページに移動します。

    または、ホームページの「モニタリングと診断」セクションで、「診断の結果」をクリックすることで結果詳細ページにナビゲートできます。

  6. 結果詳細ページでは、各結果に関する次のことが表示されます。

    • リソース

      JMSリソース、EMSリソースまたはJDBCデータソースのリソース名。

    • 結果

      ミドルウェア・ドメインの診断結果。

      For example: High number of messages reprocessed due to Transaction timeout.
      
    • 説明

      診断結果の説明および理由。

    • 推奨

      検出された問題に関する解決策またはヒント。

    • しきい値

      「しきい値」セクションでは、この値を超えると違反として検出される、しきい値または制限(%)が表示されます。表示されるしきい値は最後に設定された値です。値を変更する場合は、「検出しきい値を構成するにはここをクリックします」リンクをクリックします。これにより、ミドルウェア診断アドバイザ設定ページに移動して、使用状況に応じてしきい値を調整できます。

    • グラフ

      「グラフ」セクションには、結果に関連するグラフがあります。ここには、格納されたメッセージ、WebLogicのロードとレスポンス、状態別のアクティブ・スレッドなどのグラフが表示されます。

    • その他の分析情報

      診断結果に関するその他の分析情報。

    • 構成パラメータ

      分析時間中の診断結果の構成パラメータ。

    • 上位メソッド

      EJB診断結果の上位メソッドの名前。上位メソッドはJVM診断データからフェッチされます。

    結果詳細ページの例は、図23-3および図23-4を参照してください。

    図23-3 JMSトランザクション・タイムアウトの結果詳細ページ

    JMSトランザクション・タイムアウトの結果詳細ページ

    図23-4 EJBの実行の結果詳細ページ

    EJBの実行の結果詳細ページ

23.10 ミドルウェア診断アドバイザに関連するトラブルシューティングの問題

MDAに関連する問題を解決するには、次の表に記載されている手順に従います。

ヒント 手順
MDAがターゲットで有効であることを確認します。
  1. 「診断」メニューから、ミドルウェア診断アドバイザ構成を選択します。
  2. ターゲットに有効になっているステータス列を表示するかどうかを確認します。

ステータスが無効である場合、ターゲットのMDAを有効にします。

MDA分析ジョブが適切に実行されていることを確認します。
  1. 「エンタープライズ」メニューから「ジョブ・アクティビティ」を選択します。
  2. 「拡張検索」をクリックします。

  3. 「名前」フィールドに、MDAANALYSISJOB%と入力します。

  4. 「ターゲット・タイプ」フィールドに、ターゲットなしと入力します。

  5. 「ステータス」列から、「すべて」を選択します。

  6. 「実行」をクリックして、ジョブのステータスを確認します。

スキップまたは失敗したジョブがない場合、分析ジョブが適切に実行されています。

mda_dc_collectionメトリックがEMDブラウザから収集されることを確認します。
  1. ターゲットを監視しているEnterprise ManagerエージェントのEMDブラウザを有効にします。
  2. WebLogic Serverターゲットのmda_dc_collectionメトリックを確認します。

  3. 5分後にページをリフレッシュします。

ページをリフレッシュした後、データが更新されます。

MDAデータ・コレクタ・ステータス・チェック・ジョブが適切に実行され、ジョブ出力にエラーがないことを確認します。
  1. 「エンタープライズ」メニューから「ジョブ・アクティビティ」を選択します。
  2. 「拡張検索」をクリックします。

  3. 「拡張検索」ページでは、「名前」としてMDADCSTATUSJOB、「ターゲット・タイプ」として「ターゲットなし」と入力し、ステータス列から「すべて」を選択します。

  4. 実行」をクリックします。

  5. MDADCSTATUSJOBリンクをクリックします。

  6. リンクの表示をクリックして、ジョブ出力を表示します。

上位SQLは、SQL実行結果に表示されません。 SQL実行結果で、上位SQLが表示されない場合、データベースがJVMDに登録されていることを確認します。次の手順を実行します。
  1. 「設定」メニューから、ミドルウェア管理「アプリケーション・パフォーマンス管理」の順に選択します。

  2. 「JVM診断エンジン(..)」行をクリックし、「構成」をクリックします。

  3. 「データベースの登録」タブから、「追加」をクリックして「データベース・インスタンス」を選択します。

  4. 「検索と選択: ターゲット」ダイアログ・ボックスから、登録する必要のあるデータベースを選択して、「選択」をクリックします。