このページでは、フローマップを表示および使用する方法について説明します。

フローマップは、ユーザーがモニタリングするアプリケーション環境のコンポーネントとアクティビティを動的かつ視覚的に表します。「アプリケーションモニタリングの概要」を参照してください。

フローマップの概要

フローマップは、環境のティア、ノード、メッセージキュー、データベースと、これらを流れるビジネストランザクションを示します。次のサンプルは、e コマースアプリケーションの基本的なフローマップを示しています。このサンプルでは、いくつかのアプリケーションサーバー階層が、データベース、リモートサービス、Apache メッセージブローカ、およびそれ自体を呼び出す IIB ノードとやり取りをします。

Flow Map Overview

単一ノードのアプリケーションサーバー階層

同じ IIB サービス内の別のエンドポイントへのエンドポイントコール

ダウンストリーム ビジネス アプリケーション:内側のリングはノードの正常性を示し、外側のリングはビジネストランザクション(BT)の正常性を示しています

MySQL データベースサービス

Apache メッセージングサービス

2 つのノードがあるアプリケーションサーバー階層

接続のタイプ

フローの線は、フローマップのコンポーネント間の接続を表しています。実線は同期接続を示しています。点線は非同期接続を示しています。

非同期の関数またはメソッドを明示的に呼び出さない場合でも、多くのモダンフレームワークで非同期のパターンが使用されます。たとえば、アプリケーションコードではフレームワークへの同期コールまたはオブジェクト関係マッピングスタイル API を使用できますが、フレームワーク自体は非同期実行ツールを呼び出してコールを処理します。このタイプの非同期セグメントは、フローマップ上に点線で表示されます。Javaのマルチスレッドトランザクションのトレース」または「.NETの非同期イグジットポイント」を参照してください。

リクエスト回数

フローの線上の数字は、ティアに対して行われた 1 分間あたりのコール数とリクエストが処理されるまでにかかった平均時間、つまりリクエストの往復時間を示しています。お使いのトポロジに該当する場合、往復時間にはネットワークで費やされた時間と、バックエンドサーバやその他のプロセスがリクエストの処理にかけた時間が含まれます。階層など、特定のコンテキストに対する 1 分間あたりのコール数は、1 以上でないとフローマップ上に表示されません。

パフォーマンスベースライン

AppDynamics は、アプリケーションのベースラインパフォーマンスを自動的に計算します。コントローラテナントが全般的なパフォーマンス特性を確立すると、アプリケーションの異常な状態を検出できるようになります。基礎となる 1 時間分のデータを使用してベースラインが計算されます。 

フローマップのデフォルトビューは、[Don't compare against baseline] に設定されています。[Baseline] メニューを使用して、事前設定済みまたはカスタムのベースラインと比較するフローマップを設定できます。

Flow Map Baseline Menu

フローマップに表示されるトランザクションに対してパフォーマンスベースラインが設定されている場合、サービスのベースラインに対するパフォーマンスがフローの線の対応する色で示されます。

  • 緑は、応答時間がベースラインの範囲内にあることを示します。 
  • 黄色は、応答時間がベースラインよりも遅いことを示します。 
  • 赤は、応答時間が非常に遅いことを示します。新規インストールの場合、コントローラテナントがベースラインを確立するまでにある程度の時間がかかることがあります。

[Legend] をクリックすると、フローマップがベースラインに関するデータを示す方法をより詳しく見ることができます。

ライブエンティティデータ

デフォルトでは、フローマップにはパフォーマンスデータを受信しているノードのみが表示されます。これにより、レンダリングが最適化され、アクティブなノードをすばやく表示できます。パフォーマンスデータを受信していないノードを表示するフィルタを設定して、ノードの問題のトラブルシューティングに役立てることができます。

エンティティが動作している場合、他の関連エンティティに影響します。

  • ビジネス トランザクション エンティティが動作している場合、関連するノード、ティア、およびアプリケーションが動作します。
  • ノードが動作している場合、関連する階層とアプリケーションが動作します。
  • ティアが動作している場合、関連するアプリケーションが動作します。

フローマップのロードに時間がかかることを検出した場合、コントローラテナントがフローマップを自動的にロードすることはありません。[Show Flow Map] をクリックすると表示されます。

フローマップのタイプ

これらのフローマップが、データコンテキストに応じてさまざまな情報を示す複数の組み込みダッシュボードに表示されます。

  • Cross-Application:モニタリングされる環境内のアプリケーション間に発生する exit コールが表示されます。このコールのパターンは、クロスアプリケーション フローと呼ばれます。
  • Application:アプリケーション内のトポロジとアクティビティが表示されます。選択した時間範囲について、アプリケーション内のすべてのビジネストランザクションに対するメトリック値が表示されます。 
    • たとえば、アプリケーション フロー マップには、データベースやリモートサービスに対するコールの 1 分あたりのコール数および平均応答時間、およびビジネストランザクションの 1 分あたりのエラー数が表示されます。これらのメトリックは、すべてのビジネストランザクションにおける特定のティアからデータベースまたはリモートサービスへの全コールに基づきます。
    • アプリケーションが、1 つのサービスに対して 1 つのアプリケーションというアーキテクチャにおける複数のアプリケーションのうちの 1 つである場合、ビジネストランザクションはサービスエンドポイントを表すことができます。このようなアプリケーションの場合、フローマップには、他のサービスのエンドポイントを表すアップストリームおよびダウンストリームのビジネストランザクションに対するコールを示す Cross-BT Hovercard が表示されます。
  • Tier および Node:選択した階層またはノードに関連するアプリケーションフローのサブセットに関するすべてのビジネストランザクションにわたってメトリック値が表示されます。 
  • Business Transaction:BT のアクティビティが表示されます。[Start] ラベルは、トランザクションが開始した階層(発生元の階層)を示します。このフローマップは、選択された時間範囲の間に BT のすべての実行に基づいて計算されたメトリックを表します。
  • Snapshot:トランザクションの特定の実行に固有の単一のスナップショットに関連付けられたメトリックが表示されます。

AppDynamics では、適切な場合は他のフローマップでクロスアプリケーション フローを表示します。たとえばティアフローマップは、ティアから他のインストゥルメント化されたアプリケーションへの終了コールがあるときの相関性を示します。

コンテキストによって、フローマップが表す意味を決定できます。データベースへのコールの平均応答時間(ART)を考えてみます。

  • アプリケーションのコンテキストでは、ART はアプリケーション内で発生した、データベースへのすべてのコールを平均します。アプリケーション フロー マップに、これらのコールの ART が 20 ミリ秒であることが示されているとします。 
  • BT のコンテキストでは、ART は BT 全体の平均実行時間を表します。同じアプリケーション内の 1 つの BT において、BT が実行されるたびにデータベースが 2 回呼び出されるとします。BT フローマップでは、ART は 2 回のデータベースコールの平均時間を表します。つまり、ART は 40 ミリ秒です。

フロー マップ インタラクション

フローマップでは、以下を行うことができます。

  • オブジェクトを 1 回クリックすると、情報ポップアップに重要業績評価指標が表示されます。
    Informational pop up
  • オブジェクトをダブルクリックすると、そのオブジェクトの詳細なフローマップが開きます。
  • [Time Range] 設定を変更すると、フローマップが選択された時間フレーム内のシステムのアクティビティを表示します。  

    UI の時間範囲がそれを超える範囲に設定されたとしても、フローマップが表示するのは最大で過去 60 分間のデータです。これはフローマップの場合のみで、ダッシュボードの他のグラフのデータは、選択された時間範囲を表示します。

  • フローマップのレイアウトを再配置するには、オブジェクトをクリックしてドラッグします。 

  • 右上の表示と配置のオプションを使用して、リストとして表示したり、交差するフローが最も少なくなるように自動配置したり、表示を最大化したりします。

アプリケーション フロー マップ内の Cross-BT Hovercard

1 つのサービスに対して 1 つのアプリケーションというアーキテクチャにおけるアプリケーションの場合、アプリケーション フロー マップには、他のサービスのエンドポイントを表すアップストリームおよびダウンストリームのビジネストランザクションからのコールを示す Cross-BT Hovercard が表示されます。

これにより、発生する問題の原因となっているサービスを、次の 3 つの可能性のいずれかに切り分けることができます。

  1. エンドポイントがモニタリング対象の BT であるサービス(自分のサービス)。
  2. アップストリームまたはダウンストリームのサービス。自分のサービスは、クロス BT コールを介して通信します。
  3. 別のアップストリームまたはダウンストリームのサービス。自分のサービスは、複数のサービスの間における一連のクロス BT コールを介して間接的に通信します。

Cross-BT Hovercard にアクセスするには、着信または発信のクロスアプリケーション コールを表す回線を選択し、[Business Transactions] タブを選択します。 

フローマップの管理

大規模な展開の場合、フローマップには膨大な数のモニタリング対象ノードが表示されます。特定の関心領域に対象を絞ったカスタムフローマップを作成することができます。

カスタムフローマップを構成することで、特定の階層やパフォーマンスしきい値に基づく項目などのみを表示させることができます。次に例を示します。

  • 負荷が 1 分間あたり 50 コールを超え、平均応答時間が 10,000 ms を超える階層のみを表示する。
  • 1 分間あたり 400 コール以上を受信し、1 分間あたり 10 を超えるエラーを発生させているバックエンドのみを表示する。

フローマップを作成、コピー、または削除するには、フローマップメニューの [Manage My Flow Maps] をクリックします。

Flow Map Management

フローマップを作成したら、その新しいフローマップはアプリケーション、ビジネストランザクション、ティア、ノードフローマップのいずれから作成された場合でも、作成元のフローマップのコンテキストを継承します。詳細については、「2022-09-30_16-59-57_Customize Flow Maps」を参照してください。