ダイナミックグラフの使用

ダイナミックグラフは、ホスト、OS、JVMなどのコンポーネント間のすべての物理的および論理的依存関係をキャプチャするアプリケーションのモデルです。Cassandraノード、またはMySQL。 グラフには、トレース、アプリケーション、サービス、クラスター、表スペースなどの論理コンポーネントも含まれます。 エージェントとセンサーはコンポーネントとその依存関係を自動的に検出するため、グラフはリアルタイムで最新の状態に保たれます。

グラフは各ノードの状態情報を継続的に更新します。 状態情報には、メトリック、構成データ、計算されたヘルス値が含まれます。 健康値は、意味的知識と機械学習アプローチを組み合わせて計算されます。 Instana はグラフ内の依存関係を分析して、サービスやアプリケーションなどの論理グループを識別します。 論理グループを識別することで、問題がこれらの上位レベルのコンポーネントにどのように影響するかをより深く理解し、それらの問題の重大性を判断するのに役立ちます。 グラフ全体は永続的であり、Instana は時間を前後に移動して、多くの運用ユースケースでグラフの知識ベース全体を使用できます。

Instana は、動的グラフに基づいて、アプリケーションまたはサービスに対する変更や問題の影響を計算します。 影響が重大な場合、Instanaは相関する問題と変更のセットを事件。 インシデントは、問題と変更が時間の経過とともにどのように進化するかを示し、Instana がインシデントの根本原因を直接指摘できるようにします。 変更があれば自動的に検出され、Instana は周囲のノードへの影響を計算します。 変化はいくつかの形で現れます:

  • 健康状態が悪化し、それが問題として認識される。
  • システム構成の変更。
  • 新しいプロセス、コンテナ、またはサーバーの展開、出現、または消失。

この概念を説明するために、ElasticsearchWeb インターフェースを通じて製品を検索するためのクラスター。 この例は単一のマイクロサービスであり、Dynamic Graph がクラスターと依存関係をモデル化する方法を示しています。

動的アプリケーション

このセクションでは、ダイナミックグラフのモデルを開発します。Elasticsearch集まる。 この例は、ダイナミック グラフがどのように機能するか、分散環境や流動的な環境でダイナミック グラフがどのような利点をもたらすかを理解するのに役立ちます。

このモデルは単一のElasticsearchノード。 このノードは Java アプリケーションなので、グラフは次のように表示されます。

ES ノード・グラフ

グラフには、ホスト上で自動的に検出されたコンポーネントとそれらの間の関係が表示されます。 関連Elasticsearchノードでは、InstanaエージェントがJVM、プロセス、Dockerコンテナ (ノードがコンテナ内で実行されている場合) と、それが実行されているホスト。 アプリケーションがAmazonのようなクラウド環境で実行されている場合AWS、Instana エージェントは可用性ゾーンを検出し、それをグラフに追加します。

動的グラフは各コンポーネントをノードとして表します。 各ノードにはプロパティがあります(たとえば、JVM_Version=1.7.21 ) と Instana は関連するすべての指標をリアルタイムで収集します。 メトリクスには、ホストのネットワーク統計、JVMのガベージコレクション統計、およびJVMによってインデックスされたドキュメントの数が含まれます。Elasticsearchノード。

グラフ内のノード間の接続は、それらの関係を表します。 この場合、関係は「継続する」関係です。 例えば、ES ノードの「実行元」は JVM です。

アンElasticsearchクラスターは、クラスターを形成するために相互接続された複数のノードで構成されます。

ES クラスター・グラフ

このグラフには、クラスター全体の状態と健全性を表すクラスター ノードがあります。 4つすべてに依存しているElasticsearchクラスターを構成するノード。

論理ユニットElasticsearchインデックスです。 Elasticsearchクライアントはインデックスを使用してドキュメントにアクセスします。 各インデックスは、クラスター内の ES ノード全体に分散される 1 つ以上のシャードに分割されます。

グラフは、アプリケーションによって使用されるインデックスの統計と健全性を取得します。

ES 索引グラフ

次のグラフには、Spring BootアクセスするアプリケーションElasticsearch索引。

Spring Boot グラフ

Instana Javaセンサーは、Spring Boot応用。 これらの痕跡から、インスタナはSpring BootアプリケーションはElasticsearch索引。 動的グラフは、これらのトレースを対応する論理コンポーネントと相関させ、さまざまなトレースの統計情報とヘルス メトリックを追跡できるようにします。

このグラフは、さまざまなElasticsearch問題を特定し、Instana がそれらの問題がサービス全体の健全性に与える影響をどのように分析するかを示します。

次の問題を考えてみましょう。

  1. 単一ホストでの I/O の問題により、インデックス/シャード データの読み取り/書き込みパフォーマンスが低下します。
  2. アンElasticsearchノードでスレッド プールの過負荷が発生し、要求がキューに入れられます。 これらの要求は、処理できるスレッドが利用可能になるまで処理できません。

グラフ・インシデント

インシデントの説明

ホスト(1)でI/O問題が発生します。 ヘルス インテリジェンス システムは、ホストのヘルスを黄色で表示し、問題を問題追跡システムに通知します。 次に、ホスト(1)のI/Oの問題がES(Elasticsearch)ノード(2)。 ヘルス インテリジェンス システムは、このノードのスループットが低下していることを認識し、このノードを黄色でマークします。 健康情報システムは別の問題を引き起こします。 Instana は 2 つの問題を関連付けて 1 つのインシデントに追加します。 クラスターの状態は良好であり、サービス品質には影響がないため、このインシデントは問題としてマークされていません。

別の ES ノード (3) では、クエリ処理スレッド プールが過負荷になり、リクエストがプールされます。 スレッド プールの過負荷によってパフォーマンスが著しく低下するため、Instana はノードのステータスを赤でマークします。 この過負荷は ES クラスター (4) に影響し、スループットが低下すると黄色に変わります。 生成された 2 つの問題は、最初のインシデントに集約されます。

クラスターはインデックス (5) のパフォーマンスに影響するため、このインデックスに黄色のマークを付け、問題をインシデントに追加します。 これで、製品検索トランザクションのパフォーマンスが影響を受け、パフォーマンス ヘルス分析によってトランザクションが黄色 (6) としてマークされ、アプリケーションのヘルス (7) にも影響が及びます。

アプリケーションとトランザクションの両方が影響を受けるため、インシデントは黄色のステータスになり、製品検索のパフォーマンスが低下し、ユーザーが影響を受けていることを示します。 2 つの根本原因 (I/O の問題とスレッド プールの問題) への経路が強調表示されます。 Instana はインシデントの進行状況を示し、ユーザーは正確な履歴環境やメトリックなど、問題発生時のコンポーネントを詳しく調べることができます。

これは、Instana の次の機能を示しています。

  • 物理、プロセス、トレース情報をグラフに組み合わせて、それらの依存関係を理解する機能。
  • 単一のコンポーネント、クラスター、アプリケーション、トレースの健全性を理解するためのインテリジェンス。
  • インテリジェントな影響分析により、問題が重大かどうかを理解します。
  • 問題の根本原因を示し、実用的な情報とコンテキストを提供する能力。
  • グラフの履歴、そのプロパティ、メトリック、変更、および問題を保存する機能。 Instana は、すべてのコンポーネントの状態と依存関係を明確に把握しながら問題を分析するための「タイム シフト」機能を提供します。

現代の環境における問題の根本原因を見つけることは、今後さらに困難になるでしょう。 簡単な例で示されているように、コンテキスト、依存関係、影響について深く理解する必要があります。 頻繁に新しいリリースがリリースされ、常にサービスが追加および削除されるマイクロサービスに基づく「流動的な」システムでは、複雑さがさらに増大します。 Instana は状態と健全性をリアルタイムで追跡し、これらの変更や問題の影響を把握します。 これらはすべて、手動設定なしでリアルタイムに実行されます。

の使用法

ダイナミック・グラフは自動的に作成および更新されます。 一部のコンポーネント (サービスなど) の定義は、 サービス構成を使用してさらに指定できます。

当社の強力なダイナミックフォーカスグラフのトラバーサルとスコープ設定の機能。