

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

# アプリケーションのモニタリング
<a name="observability-app-monitoring"></a>

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

アプリケーションモニタリングにアクセスするには、OpenSearch UI で**オブザーバビリティ** > **アプリケーションモニタリング**に移動します。サイドバーには 2 つのビューが表示されます。
+ **アプリケーションマップ** – サービス依存関係のインタラクティブトポロジグラフ
+ **サービス** – フィルタリング、詳細ビュー、相関リンクを含むすべての計測済みサービスのカタログ

## 前提条件
<a name="observability-app-monitoring-prereqs"></a>

アプリケーションモニタリングを使用する前に、次のリソースを設定する必要があります。
+ [OTel Collectors から OpenSearch Ingestion に流れる OTLP トレースデータ OpenSearch ](observability-ingestion.md) (メトリクスとログはオプション)
+ [OpenSearch Ingestion からリモート書き込みを受信するように設定された Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/configure-client-prometheus.html)
+ オブザーバビリティが有効になっている OpenSearch UI ワークスペース

## 仕組み
<a name="observability-app-monitoring-how-it-works"></a>

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

![](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/images/otel-sdk-service.png)


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

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

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

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

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

## サービス
<a name="observability-app-services"></a>

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

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

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

![](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/images/apm/services-home.png)


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


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

ホームページには、次の概要パネルも含まれています。
+ **障害率別の上位サービス** — 5xx レスポンスの割合が最も高いサービス。
+ **障害率別の上位の依存関係パス** — 障害率が最も高いService-to-service依存関係パス。

次のフィルターを使用して、サービステーブルをフィルタリングできます。
+ **環境** – デプロイ環境でフィルタリングします。
+ **レイテンシー** – レイテンシー範囲でフィルタリングします。
+ **スループット – **リクエストスループット範囲でフィルタリングします。
+ **失敗率** – 失敗率の範囲でフィルタリングします。

### サービスの概要
<a name="observability-app-services-overview"></a>

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

![](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/images/apm/services-overview.png)


概要タブには、次の時系列グラフが含まれます。
+ **サービス依存関係別のレイテンシー** – P50, P90、P99 のレイテンシー。
+ **オペレーション別のリクエスト** – サービスの各オペレーションのリクエストボリューム。
+ **オペレーション別の可用性** – 各オペレーションの成功レスポンスの割合。
+ **オペレーション別の障害率とエラー率** — オペレーションごとの 5xx および 4xx レスポンスの割合。

### オペレーション
<a name="observability-app-services-operations"></a>

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

![](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/images/apm/service-operations.png)


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


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

### 依存関係
<a name="observability-app-services-dependencies"></a>

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

![](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/images/apm/service-dependencies.png)


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


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

### 相関関係
<a name="observability-app-services-correlations"></a>

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

![](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/images/apm/service-span-correlations.png)


次の相関オプションを使用できます。
+ **関連するトレースの表示** – 選択したサービスまたはオペレーションのフィルタリングされたトレースビューを開きます。
+ **関連ログの表示** – 選択したサービスまたはオペレーションのフィルタリングされたログビューを開きます。
+ **属性でフィルタリング** — 特定のスパン属性で相関結果を絞り込みます。

## アプリケーションマップ
<a name="observability-app-map"></a>

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

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

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

![](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/images/apm/application-map.png)


マップには、サービスごとに次の RED メトリクスが表示されます。
+ **レート** – サービスによって処理された 1 秒あたりのリクエスト数。
+ **エラー** – 4xx および 5xx レスポンスの割合。
+ **期間** – サービスの P50 および P99 レイテンシー。

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

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

### サービスのグループ化
<a name="observability-app-map-groupby"></a>

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

![](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/images/apm/groupby-attributes.png)


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

### ノードの詳細の表示
<a name="observability-app-map-node-details"></a>

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

![](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/images/apm/application-map-node-details.png)


Health ****セクションには、次の概要メトリクスが表示されます。
+ Total Requests
+ エラー合計 4xx
+ 合計障害数 5xx

**メトリクス**セクションには、次の時系列グラフが表示されます。
+ リクエスト
+ レイテンシー P50/P90/P99
+ 障害 5xx
+ エラー 4xx

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

### マップのフィルタリング
<a name="observability-app-map-filters"></a>

アプリケーションマップは、次のフィルターを使用してフィルタリングできます。
+ **障害率** – サーバー側の障害率 (5xx) でサービスをフィルタリングします。
+ **エラー率** – クライアント側のエラー率 (4xx) でサービスをフィルタリングします。
+ **環境** – デプロイ環境によってサービスをフィルタリングします。

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

![](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/images/apm/filter-by-error-rate.png)


### コンテキスト内相関
<a name="observability-app-map-correlations"></a>

トポロジビューから関連するトレースとログに直接移動できます。任意のサービスノードから、次の相関オプションを使用できます。
+ **関連するトレースの表示** – 選択したサービスのフィルタリングされたトレースビューを開きます。
+ **関連ログの表示** – 選択したサービスのフィルタリングされたログビューを開きます。