フローマップは、ユーザーがモニターリングするアプリケーション環境のコンポーネントとアクティビティを動的かつ視覚的に表します。このトピックでは、フローマップを表示および使用する方法について説明します。

フローマップの概要

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

接続のタイプ

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

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

リクエスト回数

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

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

フローマップに表示されるトランザクションに対してパフォーマンスベースラインが設定されている場合、フローの線が表すサービスのベースラインに対するパフォーマンスがフローの線の色で示されます。たとえば、緑色の線は、時間範囲の応答時間がベースラインと大きく変わらないことを示します。黄色の線は、応答時間がベースラインよりも遅いことを示します。新規インストールの場合、コントローラがベースラインを確立するまでにある程度の時間がかかります。比較するベースラインがない場合、フローの線は青色になります。

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

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

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

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

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

フローマップのタイプ

フローマップはUIにあらかじめ用意されている複数のダッシュボードで表示され、表示されるコンテキスト次第で情報が異なります。

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

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

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

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

フローマップの操作

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

  • フローマップの項目をクリックすると、情報ポップアップに KPI が表示されます。ティアなど、フローマップの一部のコンポーネントでは、ポップアップに詳細情報が表示されます。
  • 時間範囲設定を変更すると、フローマップが選択された時間フレーム内のシステムのアクティビティを表示します。  
  • SaaSコントローラの場合、UIの時間範囲がそれを超える範囲に設定されたとしても、フローマップが表示するのは最大で過去60分間のデータです。これはフローマップの場合のみで、ダッシュボードの他のグラフのデータは、選択された時間範囲を表示します。
  • [Legend] をクリックすると、フローマップがデータを示す方法をより詳しく見ることができます。

  • フィルタを使用して、パフォーマンスデータを受信しているティアとノード(すべての関連エンティティ)、パフォーマンスデータを受信していないティアとノード、またはすべてのノードを表示できます。
    • [Show Tiers / Notes with performance data] を選択すると、指定した時間範囲のライブエンティティのエンティティとメトリックを表示します。
    • [Show Tiers / Notes with no performance data ] を選択すると、指定した時間範囲の動作していないエンティティのメトリック/エンティティを表示します。
    • エンティティの活性を確認せずにメトリックとエンティティを表示するには、[Show Tiers / Notes with performance data ] と [Show Tiers / Notes with no performance data ] の両方のチェックボックスをオンにします。
  • 項目をドラッグ & ドロップしてフローマップのレイアウトの配置を変えたり、フローマップの右上のコントロールを使って自動配置オプションを利用したりできます。

    このコントロールを使うと、マッピングされたコンポーネントをリスト表示したり、フローマップを自動配置したり(この場合、コンポーネントはフローの交差が最も少なくなるように配置されます)、ビューを最大化したりできます。

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

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

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

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

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

フローマップの管理

大規模なデプロイの場合、フローマップには膨大な数のモニタリング対象ノードが表示されますが、ユーザーやチームがそのすべてに関心があるとは限りません。この場合、カスタムフローマップを作成することで、特定の関心領域に対象を絞ったフローマップを作成することができます。

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

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

フローマップを作成、コピー、または削除する場合は、フローマップメニューをクリックし、続いて「Manage My Flow Maps」をクリックします。

フローマップを作成したら、その新しいフローマップはアプリケーション、ビジネストランザクション、ティア、ノードフローマップのいずれから作成された場合でも、作成元のフローマップのコンテキストを継承します。続いて、次に説明する方法で新しいフローマップをカスタマイズします。

フローマップのカスタマイズ

フローマップのカスタマイズ」を参照してください。