

# OPS04-BP05 實作分散式追蹤
<a name="ops_observability_dist_trace"></a>

 分散式追蹤可讓您監控和以視覺化的方式了解，在分散式系統中各種來回移動元件的請求。透過從多個來源擷取追蹤資料並在統一的檢視中進行分析，團隊就能更了解請求的流程、瓶頸出現的位置，以及最佳化工作應著重的地方。 

 **預期成果：** 提供分散式系統請求流程的全面概覽，實現精確偵錯、最佳化效能，並改善使用者體驗。 

 **常見的反模式：** 
+  不一致的檢測：並非所有分散式系統中的服務都經過檢測可進行追蹤。 
+  忽略延遲：僅專注於錯誤，而未考慮延遲或效能逐漸降低的現象。 

 **建立此最佳實務的優勢：** 
+ 全方位的系統概觀：從進入到退出，徹底視覺化整個請求路徑。
+  強化偵錯：快速識別失敗或效能問題發生的位置。 
+  改善使用者體驗：根據實際使用者資料進行監控與最佳化，確保系統符合實際需求。 

 **未建立此最佳實務時的曝險等級：** 高 

## 實作指引
<a name="implementation-guidance"></a>

 首先，識別工作負載中需要檢測的所有元素。將所有元件列入考量之後，就可以利用像是 AWS X-Ray 和 OpenTelemetry 等工具來收集追蹤資料，以便使用 X-Ray 和 Amazon CloudWatch ServiceLens Map 等工具進行分析。與開發人員一起進行定期檢閱，並在討論過程中利用 Amazon DevOps Guru、X-Ray Analytics 和 X-Ray Insights 等工具進行補充，以協助發掘更深入的調查結果。從追蹤資料建立警示，以便在工作負載監視計畫中定義的結果存在風險時發出通知。 

### 實作步驟
<a name="implementation-steps"></a>

 若要有效實作分散式追蹤： 

1.  **採用 [AWS X-Ray](https://aws.amazon.com/xray/)：** 將 X-Ray 整合到您的應用程式中，以獲得深入其行為的洞見、了解效能，並且找出瓶頸的確切位置。利用 X-Ray Insights 進行自動化追蹤分析。 

1.  **檢測您的服務：** 確認每一項服務 (從 [AWS Lambda](https://aws.amazon.com/lambda/) 函數到 [EC2 執行個體)](https://aws.amazon.com/ec2/)都會傳送追蹤資料。檢測的越多項服務，端對端檢視就越清楚。 

1.  **納入 [CloudWatch 實際使用者監控](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 和 [綜合監控](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html)：** 將實際使用者監控 (RUM) 和綜合監控與 X-Ray 整合在一起。這樣就能擷取實際使用者體驗並模擬使用者互動，以從中找出潛在問題。 

1.  **使用 [CloudWatch 代理程式](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)：** 代理程式可從 X-Ray 或 OpenTelemetry 傳送追蹤，進而獲得更深入的洞見。 

1.  **使用 [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/)：** DevOps Guru 使用來自 X-Ray、CloudWatch、AWS Config 和 AWS CloudTrail 的資料提供可付諸行動的建議。 

1.  **分析追蹤：** 定期檢閱追蹤資料，以找出可能影響應用程式效能的模式、異常或瓶頸。 

1.  **設定警示：** 在 [CloudWatch](https://aws.amazon.com/cloudwatch/) 中設定警報來通報不尋常的模式或過久的延遲，以主動解決問題。 

1.  **持續改善：** 隨著服務增加或修改重新檢視您的追蹤策略，以擷取所有相關資料點。 

 **實作計劃的工作量：** 中 

## 資源
<a name="resources"></a>

 **相關的最佳實務：** 
+  [OPS04-BP01 識別關鍵績效指標](ops_observability_identify_kpis.md) 
+  [OPS04-BP02 實作應用程式遙測](ops_observability_application_telemetry.md) 
+  [OPS04-BP03 實作使用者體驗遙測](ops_observability_customer_telemetry.md) 
+  [OPS04-BP04 實作相依性遙測](ops_observability_dependency_telemetry.md) 

 **相關文件：** 
+ [AWS X-Ray 開發人員指南 ](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)
+ [ Amazon CloudWatch 代理程式使用者指南 ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)
+ [ Amazon DevOps Guru 使用者指南 ](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html)

 **相關影片：** 
+ [ 使用 AWS X-Ray Insights ](https://www.youtube.com/watch?v=tl8OWHl6jxw)
+ [AWS on Air ft.可觀測性：Amazon CloudWatch 和 AWS X-Ray](https://www.youtube.com/watch?v=qBDBnPkZ-KI)

 **相關範例：** 
+ [ 使用 AWS X-Ray 檢測您的應用程式 ](https://aws.amazon.com/getting-started/hands-on/distributed-tracing-with-xray/)