フローマップ

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

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

フローマップの概要

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

  • OrderProcessingService は、単一ノードのアプリケーションサーバー階層です。
  • Sangrah-OrderFulfillment は、ダウンストリーム ビジネス アプリケーションです。内側のリングはノードの正常性を示し、外側のリングはビジネストランザクション(BT)の正常性を示します。
  • バックエンドの Oracle および MySQL データベースサービスは、ストレージアイコンとともに表示されます。
  • フロントエンド ApacheWebServer があります。
  • OrderService は、2 つのノードを持つアプリケーションサーバー階層です。
 アプリケーション フロー マップ

接続のタイプ

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

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

リクエスト回数

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

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

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

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

フローマップのベースラインメニュー

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

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

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

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

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

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

  • ビジネス トランザクション エンティティが動作している場合、関連するノード、ティア、およびアプリケーションが動作します。
  • ノードが動作している場合、関連する階層とアプリケーションが動作します。
  • ティアが動作している場合、関連するアプリケーションが動作します。
重要: フローマップのロードに時間がかかることを検出した場合、コントローラテナントがフローマップを自動的にロードすることはありません。[ Show Flow Map] をクリックすると表示されます。

フローマップのタイプ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

フローマップの管理

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

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

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

フローマップを作成、コピー、または削除するには、Application Flow Map > Manage My Flow Maps の順にクリックします。

フローマップを作成したら、その新しいフローマップはアプリケーション、ビジネストランザクション、階層、ノードフローマップのいずれから作成された場合でも、作成元のフローマップのコンテキストを継承します。

ズームとパンの維持

[Persist Zoom and Pan] オプションは、フローマップのサイズ、ズームレベル、位置を維持することでユーザー体験を向上させます。[Persist Zoom and Pan] オプションを選択すると、次のようになります。
  • マップは現在のビューを維持し、ページに再アクセスしたときの一貫性を確保します。
  • ウィンドウサイズが変更されたり、新しい要素が追加されたりしてもズームレベルは維持され、階層とコンポーネントは固定されたままになります。
  • 新しいコンポーネントを追加してもレイアウトは変更されず、以前の設定が中断されることはありません。
ズームとパンの維持

このオプションを使用するには、次の手順を実行します。

  1. Application Flow Map > Edit Current Flow Map をクリックします。
  2. Persist Zoom and Pan を選択します。
  3. [Save] をクリックします。