

# OPS04-BP02 实施应用程序遥测
<a name="ops_observability_application_telemetry"></a>

 应用程序遥测是实现工作负载可观测性的基础。发射遥测数据至关重要，它可以提供切实可行的见解，让您了解应用程序的状态以及技术和业务成果的实现情况。从故障排除到衡量新功能的影响或确保与业务关键绩效指标（KPI）保持一致，应用程序遥测可为您构建、操作和演进工作负载的方式提供指导。 

 指标、日志和跟踪数据构成了可观测性的三个主要支柱。它们用作诊断工具来描述应用程序状态。随着时间的推移，它们会协助创建基线和识别异常情况。但是，为了确保监控活动与业务目标协调一致，定义和监控 KPI 至关重要。与只考虑纯粹的技术指标相比，业务 KPI 通常有助于更轻松地识别问题。 

 其他遥测类型，例如真实用户监控（RUM）和综合事务，是对这些主要数据源的补充。RUM 让您可以了解实时用户交互，而综合事务则模拟潜在的用户行为，有助于提前发现瓶颈，以防真实用户遇到瓶颈。 

 **期望的结果：** 获得有关工作负载性能的可操作见解。这些见解使您能够主动做出性能优化决策，提高工作负载稳定性，简化 CI/CD 流程，并有效地利用资源。 

 **常见反模式：** 
+  可观测性不完整：忽略将可观测性纳入工作负载的每一层，造成盲点，从而掩盖重要的系统性能和行为洞察。 
+  支离破碎的数据视图：当数据分散在多个工具和系统中时，要全面了解工作负载的运行状况和性能，会非常困难。 
+  用户报告的问题：这表明缺乏通过遥测和业务 KPI 监控来主动发现问题的功能。 

 **建立此最佳实践的好处：** 
+  明智的决策：借助从遥测和业务 KPI 中获得的见解，您可以做出以数据为导向的决策。 
+  提高运营效率：数据驱动的资源利用率可提高成本效益。 
+  增强工作负载稳定性：更快地检测和解决问题，延长正常运行时间。 
+  简化 CI/CD 流程：从遥测数据获得的见解有助于完善流程和可靠地交付代码。 

 **未建立这种最佳实践的情况下暴露的风险等级：** 高 

## 实施指导
<a name="implementation-guidance"></a>

 要为您的工作负载实现应用程序遥测，请使用 AWS 服务，例如 [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) 和 [AWS X-Ray](https://aws.amazon.com/xray/)。Amazon CloudWatch 提供了一套全面的监控工具，让您能够观察 AWS 和本地环境中的资源和应用程序。它会收集、跟踪和分析指标，整合和监控日志数据，并对资源的变化做出响应，从而增进您对工作负载运行方式的了解。同时，利用 AWS X-Ray，您还可以跟踪、分析和调试应用程序，从而深入了解工作负载的行为。借助服务地图、延迟分布和跟踪时间表等功能，X-Ray 可让您深入了解工作负载的性能和影响工作负载性能的瓶颈。 

### 实施步骤
<a name="implementation-steps"></a>

1.  **确定要收集哪些数据：** 确定有助于您深入了解工作负载的运行状况、性能和行为的基本指标、日志和跟踪数据。 

1.  **部署 [CloudWatch](https://aws.amazon.com/cloudwatch/) 代理：** CloudWatch 代理在从您的工作负载及其底层基础设施中获取系统和应用程序指标和日志方面发挥重要作用。该 CloudWatch 代理还可用于收集 OpenTelemetry 或 X-Ray 跟踪数据，并将其发送到 X-Ray。 

1.  **定义和监控业务 KPI：** 建立 [自定义指标](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) 并使其与您的 [业务成果相一致](https://aws-observability.github.io/observability-best-practices/guides/operational/business/monitoring-for-business-outcomes/)访问 AWS 资源。 

1.  **使用 AWS X-Ray 来检测您的应用程序：** 除了部署 CloudWatch 代理外，还必须 [检测您的应用程序](https://docs.aws.amazon.com/xray/latest/devguide/xray-instrumenting-your-app.html) 以发出跟踪数据。此过程可让您进一步了解工作负载行为和性能。 

1.  **标准化整个应用程序中的数据收集：** 标准化整个应用程序中的数据收集实践。统一性有助于关联和分析数据，从而全面了解应用程序的行为。 

1.  **分析数据并据此采取行动：** 数据收集和规范化完成后，使用 [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/features/) 来分析指标和日志，并使用 [AWS X-Ray](https://aws.amazon.com/xray/features/) 来分析跟踪数据。此类分析可得出有关您的工作负载的运行状况、性能和行为的重要见解，从而指导您的决策过程。 

 **实施计划的工作量级别：** 高 

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

 **相关最佳实践：** 
+  [OPS04-BP01 识别关键绩效指标](ops_observability_identify_kpis.md) 
+  [OPS04-BP03 实施用户体验遥测](ops_observability_customer_telemetry.md) 
+  [OPS04-BP04 实施依赖项遥测](ops_observability_dependency_telemetry.md) 
+  [OPS04-BP05 实施分布式跟踪](ops_observability_dist_trace.md) 

 **相关文档：** 
+ [AWS 可观测性最佳实践 ](https://aws-observability.github.io/observability-best-practices/)
+ [ CloudWatch 用户指南 ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)
+ [AWS X-Ray 开发人员指南 ](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)
+ [ 检测分布式系统的运营可见性 ](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility)
+ [AWS 可观测性 Skill Builder 课程 ](https://explore.skillbuilder.aws/learn/course/external/view/elearning/14688/aws-observability)
+ [ Amazon CloudWatch 新增功能 ](https://aws.amazon.com/about-aws/whats-new/management-and-governance/?whats-new-content.sort-by=item.additionalFields.postDateTime&whats-new-content.sort-order=desc&awsf.whats-new-products=general-products%23amazon-cloudwatch)
+ [AWS X-Ray 新增功能 ](https://aws.amazon.com/about-aws/whats-new/developer-tools/?whats-new-content.sort-by=item.additionalFields.postDateTime&whats-new-content.sort-order=desc&awsf.whats-new-products=general-products%23aws-x-ray)

 **相关视频：** 
+ [AWS re:Invent 2022 – Amazon 的可观测性最佳实践 ](https://youtu.be/zZPzXEBW4P8)
+ [AWS re:Invent 2022 - 开发可观测性战略 ](https://youtu.be/Ub3ATriFapQ)

 **相关示例：** 
+  [One Observability Workshop](https://catalog.workshops.aws/observability/en-US) 
+ [AWS 解决方案库：使用 Amazon CloudWatch 进行应用程序监控 ](https://aws.amazon.com/solutions/implementations/application-monitoring-with-cloudwatch)