

# OPS04-BP03 實作使用者體驗遙測
<a name="ops_observability_customer_telemetry"></a>

 深入了解客戶體驗以及與應用程式的互動情形非常重要。實際使用者監控 (RUM) 和綜合交易正是合適的強大工具。從 RUM 提供的實際使用者互動相關資料，能夠獲悉真實的使用者滿意度，而綜合交易則會模擬使用者互動，有助於偵測潛在問題，提早防範問題影響實際使用者。 

 **預期成果：** 提供使用者體驗、主動偵測問題及最佳化使用者互動的整體概觀，從而獲得順暢的數位體驗。 

 **常見的反模式：** 
+  沒有實際使用者監控 (RUM) 的應用程式： 
  +  延遲偵測到問題：如果沒有 RUM，您可能直到收到使用者投訴，才察覺到效能瓶頸或問題。這種被動回應的方式可能導致客戶不滿意。 
  +  缺乏使用者體驗洞見：未使用 RUM 代表您無法獲得使用者與應用程式實際互動情形的重要資料，因此也限制了您最佳化使用者體驗的能力。 
+  沒有綜合交易的應用程式： 
  +  缺少邊緣案例：綜合交易可協助您測試一般使用者可能不常使用，但對於某些業務功能來說相當關鍵的路徑和功能。缺少的話，這些路徑可能無法正常運作並遭到忽視。 
  +  在應用程式未使用的情況下檢查問題：定期綜合測試可模擬實際使用者未積極與您的應用程式互動的情況，進而確保系統隨時正常運作。 

 **建立此最佳實務的優勢：** 
+  主動偵測問題：找出並解決潛在問題，避免進一步影響實際使用者。 
+  最佳化使用者體驗：RUM 提供持續的意見回饋，有助於改進並強化整體使用者體驗。 
+  裝置和瀏覽器效能的相關洞見：了解您的應用程式在不同裝置和瀏覽器上的效能表現，以便進一步最佳化。 
+  經驗證的業務工作流程：定期綜合交易可確保核心功能和重要路徑維持正常且高效率的運作。 
+  增強應用程式效能：利用收集自實際使用者資料的洞見來改善應用程式回應能力和可靠性。 

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

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

 為了利用 RUM 和綜合交易進行使用者活動遙測，AWS 提供了類似以下的服務： [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)。指標、日誌和追蹤搭配使用者活動資料，可提供深入應用程式運作狀態和使用者體驗的全方位檢視。 

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

1.  **部署 Amazon CloudWatch RUM：** 將您的應用程式與 CloudWatch RUM 整合，以收集、分析和呈現實際使用者資料。 

   1.  使用 [CloudWatch RUM JavaScript 程式庫](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 將 RUM 與您的應用程式整合。 

   1.  設定儀表板以視覺化和監控實際使用者資料。 

1.  **設定 CloudWatch Synthetics：** 建立 Canary 或指令碼編寫的常式，以模擬使用者與應用程式的互動。 

   1.  定義關鍵應用程式工作流程和路徑。 

   1.  使用 [CloudWatch Synthetics 指令碼](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 設計 Canary 以模擬這些路徑的使用者互動。 

   1.  排定依指定間隔執行 Canary 並進行監控，確保一致的效能檢查。 

1.  **分析資料並採取行動：** 利用來自 RUM 和綜合交易的資料獲得洞見，並於偵測到異常時採取修正措施。使用 CloudWatch 儀表板和警報隨時掌握情況。 

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

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

 **相關的最佳實務：** 
+  [OPS04-BP01 識別關鍵績效指標](ops_observability_identify_kpis.md) 
+  [OPS04-BP02 實作應用程式遙測](ops_observability_application_telemetry.md) 
+  [OPS04-BP04 實作相依性遙測](ops_observability_dependency_telemetry.md) 
+  [OPS04-BP05 實作分散式追蹤](ops_observability_dist_trace.md) 

 **相關文件：** 
+ [ 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 CloudWatch RUM 最佳化應用程式 ](https://www.youtube.com/watch?v=NMaeujY9A9Y)
+ [AWS on Air ft.Amazon CloudWatch 的實際使用者監控 ](https://www.youtube.com/watch?v=r6wFtozsiVE)

 **相關範例：** 
+ [ One Observability 研討會 ](https://catalog.workshops.aws/observability/en-US/intro)
+ [ Amazon CloudWatch RUM Web 用戶端的 Git 儲存庫 ](https://github.com/aws-observability/aws-rum-web)
+ [ 使用 Amazon CloudWatch Synthetics 測量頁面載入時間 ](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance)