

# OPS04-BP03 實作使用者活動遙測
<a name="ops_telemetry_customer_telemetry"></a>

在您的應用程式程式碼中部署監控機制，以發出有關使用者活動的資訊。使用者活動的範例包括點擊流或已開始、已放棄和已完成的交易。使用此資訊來了解應用程式如何被使用、使用模式以及確定何時需要回應。擷取真正的使用者活動，可讓您建置可在生產環境中用來監控及測試工作負載的綜合活動。

 **預期成果：** 
+  您的工作負載會發出與所有應用程式間的使用者活動有關的遙測。 
+  您會利用綜合使用者活動來監控應用程式在離峰時段的表現。 

 **常見的反模式：** 
+ 您的開發人員已部署新功能，而不需使用者遙測功能。若未詢問客戶，您就無法判斷客戶是否正在使用該功能。
+ 在部署至前端應用程式後，您發現使用率上升。您缺少使用率活動遙測，因此難以識別確切的問題。
+  您的應用程式在離峰時段發生問題。您在早上使用者上線時才發現問題，因為您未設定綜合使用者活動。 

 **建立此最佳實務的優勢：** 
+  了解常見的使用者模式或非預期的行為，以優化應用程式的功能，進而達成您的商業目標。 
+  從使用者的觀點監控應用程式以偵測使用者體驗的問題，例如連結中斷或點擊回應緩慢 
+  追蹤受影響的使用者採取的步驟，以識別問題的根本原因。 
+  綜合使用者活動可及早提出離峰時段效能下降的警告，讓您能夠在使用者受到影響之前採取更正動作。 

 **未建立此最佳實務時的風險暴露等級：**中 

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

 設計您的應用程式程式碼，以發出使用者活動的相關資訊。使用此資訊來了解應用程式如何被使用、使用模式以及確定何時需要回應。使用綜合使用者活動，提供對離峰時段應用程式效能的洞察。 

 **客戶範例** 

 AnyCompany Retail 在其應用程式的數個層級實作使用者活動遙測。前端遙測會追蹤指標和移動事件，而後端微型服務則會發出遙測追蹤事件，例如將某商品新增至使用者的購物車並結帳。兩者的搭配下可提供對使用者體驗的可觀測性。工作負載的使用者較少時，AnyCompany Retail 也會使用綜合使用者遙測來捕捉問題。 

 **實作步驟** 

1.  檢測您的應用程式以發出關於使用者活動的遙測 (指標、事件、日誌和追蹤)。檢測完成後，前端元件會在使用者操作使用者介面時自動發出遙測。後端應用程式會發出使用者活動和交易的遙測。 

   1.  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 可提供對前端應用程式最終使用者體驗的洞察。 

   1.  您可以使用 [適用於 Open Telemetry 的 AWS](https://aws-otel.github.io/) 來檢測及擷取來自應用程式的遙測。 

   1.  [Amazon Pinpoint](https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html) 可透過行銷活動來分析使用者行為，提供對使用者互動的洞察。 

   1.  具有企業支援的客戶可向其技術客戶經理要求[建置監控策略研討會](https://aws.amazon.com/premiumsupport/technology-and-programs/proactive-services/)。這個研討會可協助您為您的工作負載建置可觀測性策略。 

1.  建立綜合使用者活動以監控您的應用程式。綜合使用者活動會模擬使用者動作，以驗證您的應用程式可正常運作。 

   1.  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 可使用 Canary 模擬使用者活動。 

 **實作計劃的工作量：**高。您可能須執行大量開發工作才能完整檢測應用程式，以收集使用者活動遙測。 

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

 **相關的最佳實務：** 
+  [OPS04-BP01 實作應用程式遙測](ops_telemetry_application_telemetry.md) – 必須要有應用程式遙測才能建置使用者活動遙測。 
+  [OPS04-BP02 實作和設定工作負載遙測](ops_telemetry_workload_telemetry.md) - 部分使用者活動遙測可能也會被視為工作負載遙測。 

 **相關文件：** 
+ [如何有效率地監控您的應用程式](https://aws.amazon.com/startups/start-building/how-to-monitor-applications/)

 **相關影片：** 
+ [AWS re:Invent 2020：在 Amazon 監控生產服務](https://www.youtube.com/watch?v=hnPcf_Czbvw)
+ [AWS re:Invent 2021 - 透過最終使用者洞察與 Amazon CloudWatch RUM 優化應用程式](https://www.youtube.com/watch?v=NMaeujY9A9Y)
+ [在 AWS 上測試和監控 API - AWS 線上技術會談](https://www.youtube.com/watch?v=VQM38CZyjFY)

 **相關範例：** 
+ [Amazon CloudWatch RUM Web 用戶端](https://github.com/aws-observability/aws-rum-web)
+ [適用於 Open Telemetry 的 AWS Distro](https://aws-otel.github.io/)
+ [使用 Amazon CloudWatch RUM 實作 Amplify 應用程式的實際使用者監控](https://aws.amazon.com/blogs/mobile/implementing-real-user-monitoring-of-amplify-application-using-amazon-cloudwatch-rum/)
+ [One Observability 研討會](https://catalog.workshops.aws/observability/en-US/intro)

 **相關服務：** 
+ [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html)
+ [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html)
+ [ Amazon Pinpoint ](https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html)