翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
アプリケーションのモニタリング
アプリケーションモニタリングは、サービスのパフォーマンスをリアルタイムで表示します。OpenSearch に保存されているトポロジデータと Amazon Managed Service for Prometheus の時系列 RED メトリクス (レート、エラー、期間) を組み合わせて、分散システム全体のヘルス、レイテンシー、スループット、エラー情報を表示します。
アプリケーションモニタリングにアクセスするには、OpenSearch UI でオブザーバビリティ > アプリケーションモニタリングに移動します。サイドバーには 2 つのビューが表示されます。
-
アプリケーションマップ – サービス依存関係のインタラクティブトポロジグラフ
-
サービス – フィルタリング、詳細ビュー、相関リンクを含むすべての計測済みサービスのカタログ
前提条件
アプリケーションモニタリングを使用する前に、次のリソースを設定する必要があります。
-
OTel Collectors から OpenSearch Ingestion に流れる OTLP トレースデータ OpenSearch (メトリクスとログはオプション)
-
OpenSearch Ingestion からリモート書き込みを受信するように設定された Amazon Managed Service for Prometheus
-
オブザーバビリティが有効になっている OpenSearch UI ワークスペース
仕組み
次の図は、アプリケーションモニタリングのend-to-endアーキテクチャを示しています。
-
アプリケーションとインフラストラクチャは、OpenTelemetry SDKs、自動計測、または OTel API を介してテレメトリを OTel Collector に出力します。
-
OTel Collector はトレースデータを OTLP 経由で OpenSearch Ingestion に転送します。
-
OpenSearch Ingestion
otel_apm_service_mapプロセッサは、service-to-service関係を抽出し、RED メトリクスを計算します。 -
トポロジと raw トレースデータは OpenSearch にインデックス化されます。RED メトリクスは、リモート書き込みを通じて Amazon Managed Service for Prometheus にエクスポートされます。
-
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) でサービスをフィルタリングします。
-
環境 – デプロイ環境によってサービスをフィルタリングします。
次の図は、エラー率でフィルタリングされたマップを示しています。
コンテキスト内相関
トポロジビューから関連するトレースとログに直接移動できます。任意のサービスノードから、次の相関オプションを使用できます。
-
関連するトレースの表示 – 選択したサービスのフィルタリングされたトレースビューを開きます。
-
関連ログの表示 – 選択したサービスのフィルタリングされたログビューを開きます。