View a markdown version of this page

アプリケーションのモニタリング - Amazon OpenSearch Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

アプリケーションのモニタリング

アプリケーションモニタリングは、サービスのパフォーマンスをリアルタイムで表示します。OpenSearch に保存されているトポロジデータと Amazon Managed Service for Prometheus の時系列 RED メトリクス (レート、エラー、期間) を組み合わせて、分散システム全体のヘルス、レイテンシー、スループット、エラー情報を表示します。

アプリケーションモニタリングにアクセスするには、OpenSearch UI でオブザーバビリティ > アプリケーションモニタリングに移動します。サイドバーには 2 つのビューが表示されます。

  • アプリケーションマップ – サービス依存関係のインタラクティブトポロジグラフ

  • サービス – フィルタリング、詳細ビュー、相関リンクを含むすべての計測済みサービスのカタログ

前提条件

アプリケーションモニタリングを使用する前に、次のリソースを設定する必要があります。

仕組み

次の図は、アプリケーションモニタリングのend-to-endアーキテクチャを示しています。

  1. アプリケーションとインフラストラクチャは、OpenTelemetry SDKs、自動計測、または OTel API を介してテレメトリを OTel Collector に出力します。

  2. OTel Collector はトレースデータを OTLP 経由で OpenSearch Ingestion に転送します。

  3. OpenSearch Ingestion otel_apm_service_mapプロセッサは、service-to-service関係を抽出し、RED メトリクスを計算します。

  4. トポロジと raw トレースデータは OpenSearch にインデックス化されます。RED メトリクスは、リモート書き込みを通じて Amazon Managed Service for Prometheus にエクスポートされます。

  5. OpenSearch UI は、両方のストアをクエリして、アプリケーションマップ、サービスカタログ、サービス詳細ビューをレンダリングします。

サービス

サービスビューには、計測されたすべてのサービスの一元化されたカタログが表示され、RED メトリクス (レート、エラー、期間) が一目でわかります。このビューを使用すると、異常なサービスをすばやく特定し、詳細ビューをドリルダウンしてより詳細な分析を行うことができます。

サービスビューにアクセスするには、OpenSearch UI のオブザーバビリティワークスペースに移動し、APM > サービスを選択します。

サービスのホームページには、すべての計測済みサービスのテーブルと概要パネルが表示されます。次の図は、 サービスのホームページを示しています。

次の表は、 サービステーブルの列を示しています。

[Description] (説明)
サービス名 計測されたサービスの名前。
P99 レイテンシー サービスの 99 パーセンタイルレイテンシー。
P90 レイテンシー サービスの 90 パーセンタイルレイテンシー。
P50 レイテンシー サービスの 50 パーセンタイル (中央値) レイテンシー。
Total requests 選択した時間範囲で処理されたリクエストの合計数。
失敗率 失敗したリクエストと合計リクエストの比率。
環境 production や など、サービスのデプロイ環境staging

ホームページには、次の概要パネルも含まれています。

  • 障害率別の上位サービス — 5xx レスポンスの割合が最も高いサービス。

  • 障害率別の上位の依存関係パス — 障害率が最も高いService-to-service依存関係パス。

次のフィルターを使用して、サービステーブルをフィルタリングできます。

  • 環境 – デプロイ環境でフィルタリングします。

  • レイテンシー – レイテンシー範囲でフィルタリングします。

  • スループット – リクエストスループット範囲でフィルタリングします。

  • 失敗率 – 失敗率の範囲でフィルタリングします。

サービスの概要

サービス詳細ビューを開くには、サービステーブルでサービス名を選択します。概要タブには、選択したサービスのメトリクスタイルと時系列グラフが表示されます。

概要タブには、次の時系列グラフが含まれます。

  • サービス依存関係別のレイテンシー – P50, P90、P99 のレイテンシー。

  • オペレーション別のリクエスト – サービスの各オペレーションのリクエストボリューム。

  • オペレーション別の可用性 – 各オペレーションの成功レスポンスの割合。

  • オペレーション別の障害率とエラー率 — オペレーションごとの 5xx および 4xx レスポンスの割合。

オペレーション

オペレーションタブには、選択したサービスのオペレーションごとの内訳が表示されます。テーブルを任意の列でソートして、問題のあるオペレーションを特定できます。

次の表に、オペレーションテーブルの列を示します。

[Description] (説明)
オペレーション名 オペレーションの名前。
P50/P90/P99 レイテンシー オペレーションの 50 パーセンタイル、90 パーセンタイル、99 パーセンタイルレイテンシー。
Total requests 選択した時間範囲におけるオペレーションのリクエストの合計数。
エラー率 エラーを返したリクエストの割合。
可用性 オペレーションの成功したレスポンスの割合。

依存関係

依存関係タブには、選択したサービスが呼び出すダウンストリームサービスが表示されます。

次の表は、依存関係テーブルの列を示しています。

[Description] (説明)
依存関係サービス ダウンストリームサービスの名前。
リモートオペレーション ダウンストリームサービスで呼び出された オペレーション。
サービスオペレーション この依存関係を呼び出す現在のサービスのオペレーション。
P99/P90/P50 レイテンシー 依存関係パスの 99 パーセンタイル、90 パーセンタイル、50 パーセンタイルのレイテンシー。
Total requests 選択した時間範囲における依存関係へのリクエストの合計数。
エラー率 エラーを返した依存関係へのリクエストの割合。
可用性 依存関係からの正常なレスポンスの割合。

相関関係

サービス詳細ビューには、サービスメトリクスから関連するトレースやログに直接移動できるコンテキスト内相関が表示されます。相関関係を使用して、レイテンシーの急増やエラー率の増加の根本原因を調査できます。

次の相関オプションを使用できます。

  • 関連するトレースの表示 – 選択したサービスまたはオペレーションのフィルタリングされたトレースビューを開きます。

  • 関連ログの表示 – 選択したサービスまたはオペレーションのフィルタリングされたログビューを開きます。

  • 属性でフィルタリング — 特定のスパン属性で相関結果を絞り込みます。

アプリケーションマップ

アプリケーションマップは、OpenSearch Ingestion がotel_apm_service_mapプロセッサを使用してトレースデータから自動生成するインタラクティブなトポロジ視覚化です。マップには、RED メトリクス (レート、エラー、期間) でオーバーレイされた通信パターンを示す方向のエッジを持つノードとしてサービスが表示されます。

アプリケーションマップにアクセスするには、OpenSearch UI のオブザーバビリティワークスペースに移動し、APM > アプリケーションマップを選択します。

次の図は、アプリケーションマップを示しています。

マップには、サービスごとに次の RED メトリクスが表示されます。

  • レート – サービスによって処理された 1 秒あたりのリクエスト数。

  • エラー – 4xx および 5xx レスポンスの割合。

  • 期間 – サービスの P50 および P99 レイテンシー。

otel_apm_service_map プロセッサはこれらのメトリクスを生成し、リモート書き込みを通じて Amazon Managed Service for Prometheus に保存します。

トポロジの視覚化は、サービスをノードとして、通信方向をエッジとして表します。カラーコーディングは、各サービスのヘルスステータスを示します。OpenSearch Ingestion が新しいトレースデータを取り込むと、マップは自動的に更新されます。

サービスのグループ化

サービスは、プログラミング言語、チーム、環境などの属性別にグループ化できます。グループごとの属性を選択すると、マップはトポロジグラフからカードグリッドビューに切り替わります。各カードは、同じ属性値を共有するサービスのグループを表します。

使用可能なグループごとの属性は、OpenSearch Ingestion のotel_apm_service_mapプロセッサ設定の group_by_attributes設定によって決まります。

ノードの詳細の表示

サービスの詳細を表示するには、マップでノードを選択します。詳細パネルが開き、以下のセクションが表示されます。

Health セクションには、次の概要メトリクスが表示されます。

  • Total Requests

  • エラー合計 4xx

  • 合計障害数 5xx

メトリクスセクションには、次の時系列グラフが表示されます。

  • リクエスト

  • レイテンシー P50/P90/P99

  • 障害 5xx

  • エラー 4xx

詳細の表示を選択して、選択したサービスのサービス詳細ビューに移動します。

マップのフィルタリング

アプリケーションマップは、次のフィルターを使用してフィルタリングできます。

  • 障害率 – サーバー側の障害率 (5xx) でサービスをフィルタリングします。

  • エラー率 – クライアント側のエラー率 (4xx) でサービスをフィルタリングします。

  • 環境 – デプロイ環境によってサービスをフィルタリングします。

次の図は、エラー率でフィルタリングされたマップを示しています。

コンテキスト内相関

トポロジビューから関連するトレースとログに直接移動できます。任意のサービスノードから、次の相関オプションを使用できます。

  • 関連するトレースの表示 – 選択したサービスのフィルタリングされたトレースビューを開きます。

  • 関連ログの表示 – 選択したサービスのフィルタリングされたログビューを開きます。