本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
OPS04-BP05 實作分散式追蹤
分散式追蹤可讓您監控和以視覺化的方式了解,在分散式系統中各種來回移動元件的請求。透過從多個來源擷取追蹤資料並在統一的檢視中進行分析,團隊就能更了解請求的流程、瓶頸出現的位置,以及最佳化工作應著重的地方。
預期成果:提供分散式系統請求流程的全面概覽,實現精確偵錯、最佳化效能,並改善使用者體驗。
常見的反模式:
-
不一致的檢測:並非所有分散式系統中的服務都經過檢測可進行追蹤。
-
忽略延遲:僅專注於錯誤,而未考慮延遲或效能逐漸降低的現象。
建立此最佳實務的優勢:
-
全方位的系統概觀:從進入到退出,徹底視覺化整個請求路徑。
-
強化偵錯:快速識別失敗或效能問題發生的位置。
-
改善使用者體驗:根據實際使用者資料進行監控與最佳化,確保系統符合實際需求。
未建立此最佳實務時的曝險等級:高
實作指引
首先,識別工作負載中需要檢測的所有元素。說明所有元件後,請利用 AWS X-Ray 和 等工具 OpenTelemetry ,透過 X-Ray 和 Amazon CloudWatch ServiceLens Map 等工具收集追蹤資料進行分析。與開發人員進行定期檢閱,並使用 Amazon DevOpsGuru、X-Ray Analytics 和 X-Ray Insights 等工具來補充這些討論,以協助探索更深入的調查結果。從追蹤資料建立警示,以便在工作負載監視計畫中定義的結果存在風險時發出通知。
實作步驟
若要有效實作分散式追蹤:
-
採用 AWS X-Ray
:將 X-Ray 整合到您的應用程式中,以獲得深入其行為的洞見、了解效能,並且找出瓶頸的確切位置。利用 X-Ray Insights 進行自動化追蹤分析。 -
測試您的服務:確認從 AWS Lambda
函數到EC2執行個體 的每個服務都會傳送追蹤資料。您測試的服務越多,檢視越清晰 end-to-end。 -
整合CloudWatch 實際使用者監控和合成監控 :將實際使用者監控 (RUM) 和合成監控與 X-Ray 整合。這樣就能擷取實際使用者體驗並模擬使用者互動,以從中找出潛在問題。
-
使用CloudWatch 代理程式 :代理程式可以從 X-Ray 或 傳送追蹤 OpenTelemetry,以增強所取得洞見的深度。
-
使用 Amazon DevOpsGuru
: DevOpsGuru 使用來自 X-Ray 的資料 CloudWatch AWS Config, AWS CloudTrail 並提供可行的建議。 -
分析追蹤:定期檢閱追蹤資料,以找出可能影響應用程式效能的模式、異常或瓶頸。
-
設定警示:在 中設定警示CloudWatch
是否有異常模式或延長延遲,允許主動解決問題。 -
持續改善:隨著服務增加或修改重新檢視您的追蹤策略,以擷取所有相關資料點。
實作計劃的工作量:中
資源
相關的最佳實務:
相關文件:
相關影片:
相關範例: