REL06-BP07 透過您的系統監控請求的端對端追蹤
在透過服務元件處理請求時追蹤請求,讓產品團隊可以更輕鬆地分析和偵錯問題,並改善效能。
預期成果: 對所有元件進行全面追蹤的工作負載可輕易進行偵錯,藉由簡化根本原因探索來改善錯誤和延遲的 平均解決時間 (MTTR)。端對端追蹤可縮短探索受影響的元件時間,並詳細剖析錯誤或延遲的根本原因。
常見的反模式:
-
追蹤可用於某些元件,但不適用於所有元件。例如,在未追蹤 AWS Lambda 的情況下,團隊可能無法清楚了解尖峰工作負載中的冷啟動所造成的延遲。
-
未對追蹤設定綜合金絲雀或實際使用者監控 (RUM)。若沒有金絲雀或 RUM,追蹤分析就會省略用戶端互動遙測,而產生不完整的效能設定檔。
-
混合式工作負載同時包含雲端原生和第三方追蹤工具,但未採取相關步驟來選擇及完全整合單一追蹤解決方案。根據選擇的追蹤解決方案,應使用雲端原生追蹤 SDK 來檢測不是雲端原生的元件,或使用第三方工具來擷取雲端原生追蹤遙測。
建立此最佳實務的優勢: 當開發團隊收到問題的提醒時,他們可以看到系統元件互動的全貌,包括個別元件與記錄、效能和失敗的關聯性。由於追蹤可讓您輕鬆地以視覺化方式識別根本原因,調查根本原因的所需時間將可縮短。詳細了解元件互動的團隊,可在解決問題時做出更明智、更快速的決策。諸如何時應叫用災難復原 (DR) 容錯移轉,或何處最適合實作自我修復策略之類的決策,可藉由分析系統追蹤來改善,最終提升客戶對服務的滿意度。
未建立此最佳實務時的曝險等級: 中
實作指引
操作分散式應用程式的團隊,可使用追蹤工具來建立關聯性識別碼、收集請求追蹤,以及建置連網元件的服務圖。所有應用程式元件均應包含在請求追蹤中,包括服務用戶端、中介軟體閘道和事件匯流排、運算元件和儲存體 (包括鍵值存放區和資料庫)。在端對端追蹤組態中包含綜合金絲雀和實際使用者監控,以測量遠端用戶端互動和延遲,以便您根據服務水準協議和目標正確評估系統效能。
您可以使用 AWS X-Ray 和 Amazon CloudWatch 應用程式監控 檢測服務,在請求通過您的應用程式時提供請求的完整檢視。X-Ray 會收集應用程式遙測,並可讓您在承載、函數、追蹤、服務、API 間將其視覺化和加以篩選,並且可針對無程式碼或低程式碼的系統元件開啟。CloudWatch 應用程式監控包含 ServiceLens,可將您的追蹤與指標、日誌和警示整合在一起。CloudWatch 應用程式監控也包含用來監控端點和 API 的綜合功能,以及用來檢測 Web 應用程式用戶端的實際使用者監控。
實作步驟
-
對所有受支援的原生服務使用 AWS X-Ray,例如 Amazon S3、AWS Lambda 和 Amazon API Gateway。這些 AWS 服務可使用基礎設施即程式碼、AWS SDK 或 AWS Management Console 來啟用具有組態切換的 X-Ray。
-
檢測應用 適用於 Open Telemetry 的 AWS Distro 和 X-Ray 或第三方收集代理程式。
-
檢閱 AWS X-Ray 開發人員指南, 以了解程式設計語言特定的實作方式。這些文件章節會詳細說明如何檢測 HTTP 請求、SQL 查詢,以及應用程式設計語言特有的其他程序。
-
將 X-Ray 追蹤用於 Amazon CloudWatch 綜合金絲雀 和 Amazon CloudWatch RUM 以分析最終使用者用戶端通過您下游 AWS 基礎設施的請求路徑。
-
根據資源運作狀態和金絲雀遙測來設定 CloudWatch 指標和提醒,以便團隊快速收到問題的提醒,然後可使用 ServiceLens 深入探討追蹤和服務圖。
-
啟用第三方追蹤工具的 X-Ray 整合,例如 Datadog
、New Relic 或 Dynatrace (如果您將第三方工具用於主要追蹤解決方案)。
資源
相關的最佳實務:
相關文件:
相關範例:
相關影片:
相關工具: