

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 應用程式監控
<a name="observability-app-monitoring"></a>

應用程式監控可讓您即時檢視 服務的效能。它將儲存在 OpenSearch 中的拓撲資料與從 Amazon Managed Service for Prometheus 到整個分散式系統表面運作狀態、延遲、輸送量和錯誤資訊的時間序列 RED 指標 （速率、錯誤、持續時間） 結合在一起。

若要存取應用程式監控，請在 OpenSearch UI 中導覽至**可觀測性** > **應用程式監控**。邊欄顯示兩個檢視：
+ **應用程式映射** – 服務相依性的互動式拓撲圖
+ **服務** – 具有篩選、詳細資訊檢視和相互關聯連結的所有檢測服務的目錄

## 先決條件
<a name="observability-app-monitoring-prereqs"></a>

您必須先設定下列資源，才能使用應用程式監控。
+ [從 OTel 收集器流向 OpenSearch 擷取的 OTLP 追蹤資料](observability-ingestion.md) （指標和日誌為選用）
+ [Amazon Managed Service for Prometheus 設定為從 OpenSearch Ingestion 接收遠端寫入](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/zh_tw/opensearch-service/latest/developerguide/images/otel-sdk-service.png)


1. 您的應用程式和基礎設施會透過 OpenTelemetry SDKs、自動檢測或 OTel API 向 OTel 收集器發出遙測。

1. OTel 收集器透過 OTLP 將追蹤資料轉送至 OpenSearch Ingestion。

1. OpenSearch Ingestion `otel_apm_service_map` 處理器會擷取service-to-service的關係，並計算 RED 指標。

1. 拓撲和原始追蹤資料會編製索引至 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/zh_tw/opensearch-service/latest/developerguide/images/apm/services-home.png)


下表說明 服務資料表中的資料欄。


| 資料行 | Description | 
| --- | --- | 
| 服務名稱 | 已檢測服務的名稱。 | 
| P99 延遲 | 服務的第 99 個百分位數延遲。 | 
| P90 延遲 | 服務的第 90 個百分位數延遲。 | 
| P50 延遲 | 服務的第 50 個百分位數 （中位數） 延遲。 | 
| 請求總數 | 在所選時間範圍內處理的請求總數。 | 
| 失敗率 | 失敗請求與請求總數的比率。 | 
| Environment | 服務的部署環境，例如 production或 staging。 | 

首頁也包含下列摘要面板：
+ **依錯誤率排名前列的服務** – 回應百分比最高 5xx 的服務。
+ **依錯誤率排序的最高相依性路徑** – Service-to-service相依性路徑。

您可以使用下列篩選條件來篩選服務資料表：
+ **環境** – 依部署環境篩選。
+ **延遲** – 依延遲範圍篩選。
+ **輸送量** – 依請求輸送量範圍篩選。
+ **失敗率** – 依失敗率範圍篩選。

### 服務概觀
<a name="observability-app-services-overview"></a>

若要開啟服務詳細資訊檢視，請在服務資料表中選取服務名稱。概觀索引標籤會顯示所選服務的指標圖磚和時間序列圖表。

![](http://docs.aws.amazon.com/zh_tw/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/zh_tw/opensearch-service/latest/developerguide/images/apm/service-operations.png)


下表說明 操作資料表中的資料欄。


| 資料行 | Description | 
| --- | --- | 
| 操作名稱 | 操作的名稱。 | 
| P50/P90/P99 延遲 | 操作的第 50 個、第 90 個和第 99 個百分位數延遲。 | 
| 請求總數 | 在所選時間範圍內操作的請求總數。 | 
| 錯誤率 | 傳回錯誤的請求百分比。 | 
| 可用性 | 操作的成功回應百分比。 | 

### 相依性
<a name="observability-app-services-dependencies"></a>

相依性索引標籤會顯示所選服務呼叫的下游服務。

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


下表說明相依性資料表中的資料欄。


| 資料行 | Description | 
| --- | --- | 
| 相依性服務 | 下游服務的名稱。 | 
| 遠端操作 | 在下游服務上呼叫的操作。 | 
| 服務操作 | 目前服務上呼叫此相依性的 操作。 | 
| P99/P90/P50 延遲 | 相依性路徑的第 99、第 90 和第 50 個百分位數延遲。 | 
| 請求總數 | 在所選時間範圍內對相依性的請求總數。 | 
| 錯誤率 | 傳回錯誤的相依性請求百分比。 | 
| 可用性 | 來自相依性的成功回應百分比。 | 

### 關聯
<a name="observability-app-services-correlations"></a>

服務詳細資訊檢視提供內容內相互關聯，可讓您直接從服務指標導覽至相關的追蹤和日誌。您可以使用相互關聯來調查延遲峰值或錯誤率增加的根本原因。

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


提供下列相互關聯選項：
+ **檢視相關追蹤** – 開啟所選服務或操作的篩選追蹤檢視。
+ **檢視相關日誌** – 開啟所選服務或操作的篩選日誌檢視。
+ **依屬性篩選** – 依特定跨度屬性縮小相互關聯結果。

## 應用程式映射
<a name="observability-app-map"></a>

Application Map 是一種互動式拓撲視覺化，OpenSearch Ingestion 會使用`otel_apm_service_map`處理器從您的追蹤資料自動產生。映射會將服務顯示為具有方向邊緣的節點，顯示通訊模式，並覆蓋 RED 指標 （速率、錯誤、持續時間）。

若要存取應用程式映射，請導覽至 OpenSearch UI 中的可觀測性工作區，然後選擇 **APM** > **應用程式映射**。

下圖顯示 Application Map。

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


映射會顯示每個服務的下列 RED 指標：
+ **速率** – 由 服務處理的每秒請求數。
+ **錯誤** – 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/zh_tw/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/zh_tw/opensearch-service/latest/developerguide/images/apm/application-map-node-details.png)


**運作**狀態區段會顯示下列摘要指標：
+ 請求總數
+ 錯誤總數 4xx
+ 故障總數 5xx

**指標**區段會顯示下列時間序列圖表：
+ 要求
+ 延遲 P50/P90/P99
+ 故障 5xx
+ 錯誤 4xx

選擇**檢視詳細資訊**以導覽至所選服務的服務詳細資訊檢視。

### 篩選地圖
<a name="observability-app-map-filters"></a>

您可以使用下列篩選條件來篩選 Application Map：
+ **故障率** – 依伺服器端故障率 (5xx) 篩選服務。
+ **錯誤率** – 依用戶端錯誤率 (4xx) 篩選服務。
+ **環境** – 依部署環境篩選服務。

下圖顯示依錯誤率篩選的映射。

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


### 內容內相互關聯
<a name="observability-app-map-correlations"></a>

您可以從拓撲檢視直接導覽至相關的追蹤和日誌。從任何服務節點，可使用下列相互關聯選項：
+ **檢視相關追蹤** – 開啟所選服務的篩選追蹤檢視。
+ **檢視相關日誌** – 開啟所選服務的篩選日誌檢視。