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