正常性ルール違反に基づいた通知を受信する場合は、応答時間が遅いことを示すフローマップやトランザクション スコアカード内のパフォーマンスインジケータを確認してください。その際のトラブルシューティングと診断の戦略について次のガイドラインで説明します。

[Troubleshoot] メニューの [Slow Response Times] ダッシュボードには、平均応答時間(ART)が遅い最大の原因であるビジネストランザクションがリストされます。 そのダッシュボードから、ART のスパイクを中心とした時間範囲を選択できます。これにより、正常に見える時間範囲もキャプチャします。この情報は、[By Contribution to App Average Response Time ] タイルの [Top Business Transactions] タブからも入手できます。

ステップ 1:遅いまたは停滞しているビジネストランザクションをチェックします。 

AppDynamics は、トランザクションのしきい値を使用して、遅い、非常に遅い、または停滞しているトランザクションを検出します。ステップ 2 を完了するかステップ 3 に進むかを判断するには、次の手順を実行します。 

遅いまたは停滞しているトランザクションがありますか。

  1. コントローラ UI で選択された時間枠にパフォーマンス問題が発生した時間が含まれていることを確認します。問題が継続している状態の場合は、時間枠を比較的短くすることができます。[Time Range] ドロップダウンを使用します。
  2. [Troubleshoot > Slow Response Times] をクリックします。
  3. [Slow Transactions] タブが選択されていない場合は、クリックします。
  4. このページには、1 つ以上の低速トランザクション スナップショットが表示されますか。
    • Yes」の場合:Step 2 へ進み、根本原因を特定するためドリルダウンを実施。
    •  No」の場合:Step 3 へ進み、遅いバックエンドについて確認。

ステップ 2:根本原因を特定するために、遅いまたは停滞しているトランザクションを詳しく調べます。

  1. 左側のメニューから、[Troubleshoot] > [Slow Response Times] に移動。

  2. [Slow Transactions] タブの下部ペインで [Exe Time (ms)] 列をクリックし、トランザクションを遅い順にソート。

  3. スナップショットをリストから選択し、[Details] をクリック。 
  4. [Potential Issues] リストで、トランザクションで最も実行時間の長いメソッドおよび SQL コールを確認。 
  5. 潜在的な問題のいずれかをクリックし、[Drill Down into Call Graph] を選択してコールグラフの問題点に直接移動するか、トランザクション フロー マップ ペインで [Drill Down] をクリックし、このトランザクションにあるコールグラフの完全なセグメントを確認。
    Transaction Flow Map
  6. [Time (ms)] 列で、トランザクション実行時間に対するこのメソッドの実行時間を確認。 
  7. 右側の最後の列にある [HTTP] リンクをクリックすると、情報の詳細ペインが表示される。この例では、選択したメソッドはトランザクション実行時間に対して 96.3% の時間がかかっていることがわかる。 
    Call Graph
  8. 実行セグメントにより表されるクラス、メソッド、および行番号(利用できる場合)をメモする。この情報は、このコードの問題をトラブルシューティングするための開始点を示す。 

遅いまたは停滞しているトランザクションが複数ある場合は、そのすべてを解決するまでこの手順を繰り返してから、Step 3 に進みます。

ステップ 3:バックエンドのデータベースまたはリモートサービスコールが低速であるかどうかを確認します。

AppDynamicsでは、インストゥルメント化されたアプリケーションサーバーから、データベースとリモートサーバーへのビジネストランザクションコールのパフォーマンスに関するメトリックを収集します。データベースやリモートサービスのコールが遅い場合、根本的な原因へドリルダウンすることができます。

  1. [Troubleshoot > Slow Response Times] をクリックし、[Slowest DB&Remote Service Calls] タブをクリックします。
  2. リストからコールを選択し、[View Snapshots] リンクをクリックして、[Correlated Snapshots] リストを表示します。
    View Snapshots
  3. [Exe Time (ms)] 列をクリックし、トランザクションを遅い順にソートします。
  4. トランザクションを選択して [Drill Down] をクリックします。 
  5. [Potential Issues] リストから潜在的な問題を選択します。
  6. [Drill Down into Call Graph] をクリックしてコールグラフの問題点に直接移動するか、フローマップペインで [Drill Down] をクリックし、このトランザクションにあるコールグラフの完全なセグメントを確認します。
    Drill Down
  7. [Time (ms)] 列を確認し、トランザクション実行時間に対してこのメソッドの実行時間が最長のトランザクションを選択します。 
  8. [DB&Remote Service Calls] タブを選択します。
  9. [SQL Calls] または [Remote Service Calls] タブに 1 つ以上の低速コールが表示されますか。 
    • Yes」の場合:Step 4 へ進み、ドリルダウンを実施して根本原因を特定。
    •  No」の場合:Step 5 へ進み、遅延しているティアのすべてのノードに問題が影響しているかを確認。

ステップ 4:SQL またはリモートサービスコールを詳しく調べて、根本原因を特定します。

  1. トランザクション スナップショットの [SQL Calls] タブで、SQL コールを並べ替える。並べ替え基準は平均時間(ms)。 
    1. Slow database call:そのデータベースコールをクリックして呼び出しに関する情報を取得。
    2. Java アプリケーションと Oracle データベース間で Correlated snapshotsがある場合は、トランザクション スナップショットで Oracle データベースにドリルダウンし、スナップショット中に取得したデータベースの詳細を表示。
    3.  AppDynamics for Databases – を使用している場合は、アプリケーション、ティア、ノード、またはバックエンドフローマップでデータベースを右クリックし、[Link to AppDynamics for Databases] を選択。データベース用AppDynamicsを使用して、データベース問題を診断。

    4. Database Monitoring  を使用している場合は、アプリケーション、ティア、ノード、またはバックエンドフローマップでデータベースを右クリックし、[View] を選択してデータベースの問題を調査。

    SQL Calls
    View Transaction Snapshot


  2. [Remote Service Calls] タブでクエリを並べ替える。並べ替え基準は平均時間(ms)
  3. スローコールを選択。 
  4. [Drill Down into Downstream Call] をクリックして、サービスコールのメソッドに関するインサイトを確認。 
  5. [Time (ms)] 列でメソッドを並べ替える。
  6. 遅いメソッドを選択。 
  7. [Details.
    Method Details] をクリックします。

ステップ 5:この問題は、遅延しているティアのすべてのノードに影響していますか。

  1. アプリケーションまたはティアフローマップで、tierまたはnodeアイコンをクリックすると、そのティアにおける各ノードの正常性の概要を表示できます。
    Node Health
  2. 問題は遅延しているティアのすべてのノードに影響していますか?すべてのノードが黄色または赤の場合、この質問の答えは「はい」となります。それ以外の場合は「いいえ」となります。
    • Yes」の場合:Step 6 に進む。
    • No」の場合:ノードのハードウェアまたはノードにおけるソフトウェアの構成方法に問題あり。ティアの中で1つのノードのみに影響がある場合、おそらく問題はアプリケーションのコードに無関係。ハードウェア関連の問題を特定するには、次の手順を実行します。
      1. 左側のナビゲーションウィンドウで、[ Tiers & Nodes] をクリック。 
      2. 右ペインでティアを展開し、影響のあるノードをダブルクリックしてノードダッシュボードを開く。
      3. [Memory] タブをクリック。
        1. 利用可能な各タブを調査し、ノードへのメモリ追加、アプリケーションへの追加メモリ構成、またはその他の処置を行う必要があるかを判断。 
      4. [Server] タブをクリックします。 
        1. [Hardware] タブがハードウェア関連の問題を示唆している場合は IT 部門に連絡。

問題を特定しました。

ステップ 6:問題がほとんどのビジネストランザクションに影響を与えるかどうかを確認します。

  1. Application Dashboardで、画面右側にある [Business Transaction Health] ペインを確認します。
    Business Transaction Health
  2. ビジネストランザクションの正常性を示すバーは黄色または赤ですか。「はい」または「いいえ」。
    • No」の場合は、次の手順を実行します。
      1. 左側のナビゲーションウィンドウで、[Business Transactions ] をクリック。
      2. 正常性、トランザクションスコア、または他の列の見出しで並び替え、問題のあるビジネストランザクションを特定。
      3. 問題のあるビジネストランザクションをダブルクリックしてダッシュボードを表示し、タブを使用して問題を診断。 

問題を特定しました。 

その他のヘルプ

上記の手順で問題を診断しても問題が特定できない場合は、特定のエージェントに関する以下の追加情報をご確認ください。