

# 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：**创建金丝雀或脚本化例程，模拟用户与应用程序的交互。

   1.  定义关键应用程序工作流程和路径。

   1.  使用 [CloudWatch Synthetics 脚本](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html)设计金丝雀，模拟这些路径的用户交互。

   1.  安排和监控金丝雀按指定的间隔运行，确保进行一致的性能检查。

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)》

 **相关视频：**
+ [Optimize applications through end user insights with Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y)
+ [AWS on Air ft. Real-User Monitoring for 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)
+ [Using Amazon CloudWatch Synthetics to measure page load time](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance)