View a markdown version of this page

應用程式監控 - Amazon OpenSearch Service

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

應用程式監控

應用程式監控可讓您即時檢視 服務的表現。它結合了儲存在 OpenSearch 中的拓撲資料,以及從 Amazon Managed Service for Prometheus 到分散式系統表面運作狀態、延遲、輸送量和錯誤資訊的時間序列 RED 指標 (速率、錯誤、持續時間)。

若要存取應用程式監控,請在 OpenSearch UI 中導覽至可觀測性 > 應用程式監控。邊欄顯示兩個檢視:

  • 應用程式映射 – 服務相依性的互動式拓撲圖

  • 服務 – 具有篩選、詳細資訊檢視和相互關聯連結的所有檢測服務的目錄

先決條件

您必須先設定下列資源,才能使用應用程式監控。

運作方式

下圖顯示應用程式監控的end-to-end架構。

架構圖顯示微服務透過 OTel 收集器將 OTLP 資料傳送至 OpenSearch 可觀測性堆疊元件。
  1. 您的應用程式和基礎設施會透過 OpenTelemetry SDKs、自動檢測或 OTel API 向 OTel 收集器發出遙測。

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

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

  4. 拓撲和原始追蹤資料會索引為 OpenSearch。RED 指標會透過遠端寫入匯出至 Amazon Managed Service for Prometheus。

  5. OpenSearch UI 會查詢這兩個存放區,以轉譯 Application Map、Services 目錄和服務詳細資訊檢視。

服務

服務檢視提供所有檢測服務的集中型目錄,可快速顯示 RED 指標 (速率、錯誤、持續時間)。您可以使用此檢視來快速識別運作狀態不佳的服務,並深入了解詳細檢視以進行更深入的分析。

若要存取服務檢視,請導覽至 OpenSearch UI 中的可觀測性工作區,然後選擇 APM > 服務

服務首頁會顯示所有已檢測服務的資料表,以及摘要面板。下圖顯示 服務首頁。

依故障率、相依性路徑和服務目錄顯示最高服務的服務頁面,其中包含延遲和輸送量指標。

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

資料行 說明
服務名稱 已檢測服務的名稱。
P99 延遲 服務的第 99 個百分位數延遲。
P90 延遲 服務的第 90 個百分位數延遲。
P50 延遲 服務的第 50 個百分位數 (中位數) 延遲。
請求總數 在所選時間範圍內處理的請求總數。
失敗率 失敗請求與請求總數的比率。
Environment 服務的部署環境,例如 productionstaging

首頁也包含下列摘要面板:

  • 依錯誤率排名前列的服務 – 回應百分比最高的服務。

  • 依錯誤率排序的最高相依性路徑 – Service-to-service相依性路徑。

您可以使用下列篩選條件來篩選服務資料表:

  • 環境 – 依部署環境篩選。

  • 延遲 – 依延遲範圍篩選。

  • 輸送量 – 依請求輸送量範圍篩選。

  • 失敗率 – 依失敗率範圍篩選。

服務概觀

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

服務概觀儀表板顯示前端服務的輸送量、錯誤率、錯誤率、可用性和延遲指標。

概觀索引標籤包含下列時間序列圖表:

  • 服務相依性區分的延遲 – 依下游相依性細分的 P50、P90 和 P99 延遲。

  • 依操作的請求 – 為服務的每個操作請求磁碟區。

  • 依操作的可用性 – 每個操作的成功回應百分比。

  • 操作的故障率和錯誤率 – 每個操作的 5xx 和 4xx 回應百分比。

作業

操作索引標籤提供所選服務的每次操作明細。您可以依任何資料欄排序資料表,以識別有問題的操作。

操作表顯示 POST /api/checkout,可用性為 50.0%,並附有請求、錯誤和延遲圖表。

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

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

相依性

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

相依性索引標籤顯示具有延遲、請求、錯誤率和可用性指標的結帳和產品審核服務。

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

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

關聯

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

表格顯示 POST /api/checkout 操作與 Time、Status、HTTP Status、Kind、Operation 和 Span ID 資料欄的關聯範圍。

提供下列相互關聯選項:

  • 檢視相關追蹤 – 開啟所選服務或操作的篩選追蹤檢視。

  • 檢視相關日誌 – 開啟所選服務或操作的篩選日誌檢視。

  • 依屬性篩選 – 依特定跨度屬性縮小關聯性結果。

應用程式映射

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

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

下圖顯示 Application Map。

應用程式貼圖顯示前端代理、前端、結帳、購物車、貨幣、詐騙偵測、電子郵件、mcp-server、天氣代理程式和事件代理程式等節點的服務相依性。

映射會顯示每個服務的下列 RED 指標:

  • 速率 – 由 服務處理的每秒請求數。

  • 錯誤 – 4xx 和 5xx 回應的百分比。

  • 持續時間 – 服務的 P50 和 P99 延遲。

otel_apm_service_map 處理器會產生這些指標,並透過遠端寫入將其存放在 Amazon Managed Service for Prometheus 中。

拓撲視覺化將服務表示為節點,並將通訊方向表示為邊緣。顏色編碼表示每個服務的運作狀態。映射會在 OpenSearch Ingestion 擷取新的追蹤資料時自動更新。

分組服務

您可以依程式設計語言、團隊或環境等屬性來分組服務。當您選取依屬性分組時,映射會從拓撲圖表切換到卡片網格檢視。每張卡片代表一組共享相同屬性值的服務。

應用程式映射顯示依程式設計語言分組的服務,包括 cpp、erlang、python、go、deodejs、rust、dotnet、java、ruby 和 php 以及請求和服務計數。

可用的依群組屬性取決於 OpenSearch Ingestion 中otel_apm_service_map處理器組態中的group_by_attributes設定。

檢視節點詳細資訊

若要檢視服務的詳細資訊,請選取地圖上的節點。詳細資訊面板隨即開啟,其中包含下列各節。

顯示前端服務節點的應用程式映射,其中包含顯示運作狀態指標、請求圖表和延遲百分位數的詳細資訊面板。

運作狀態區段會顯示下列摘要指標:

  • 請求總數

  • 錯誤總數 4xx

  • 故障總數 5xx

指標區段會顯示下列時間序列圖表:

  • 要求

  • 延遲 P50/P90/P99

  • 故障 5xx

  • 錯誤 4xx

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

篩選地圖

您可以使用下列篩選條件來篩選 Application Map:

  • 故障率 – 依伺服器端故障率 (5xx) 篩選服務。

  • 錯誤率 – 依用戶端錯誤率 (4xx) 篩選服務。

  • 環境 – 依部署環境篩選服務。

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

應用程式映射顯示依錯誤率篩選的服務大於 5%,顯示前端代理、前端、天氣代理程式、旅遊規劃器和具有請求計數的 mcp-server 服務。

內容內相互關聯

您可以從拓撲檢視直接導覽至相關的追蹤和日誌。從任何服務節點,可使用下列相互關聯選項:

  • 檢視相關追蹤 – 開啟所選服務的篩選追蹤檢視。

  • 檢視相關日誌 – 開啟所選服務的篩選日誌檢視。