OPS04-BP05 实现分布式跟踪 - AWS Well-Architected 框架

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

OPS04-BP05 实现分布式跟踪

分布式跟踪提供了一种方法,可在请求遍历分布式系统的各个组件时对请求进行监控和可视化。通过从多个来源捕获跟踪数据并在一个统一视图中对其进行分析,团队可以更好地了解请求是如何流动的、哪里存在瓶颈以及优化工作的重点。

期望结果:全面了解流经分布式系统的请求,从而精确调试、优化性能和改善用户体验。

常见反模式:

  • 检测不一致:并非分布式系统中的所有服务都经过跟踪检测。

  • 忽略延迟:只关注错误,而不考虑延迟或性能逐渐下降的情况。

建立此最佳实践的好处:

  • 全面了解系统:以可视化方式呈现请求从进入到退出的整个路径。

  • 增强调试功能:快速发现出现故障或性能问题的地方。

  • 改善用户体验:监控并根据实际用户数据进行优化,确保系统满足现实需求。

在未建立这种最佳实践的情况下暴露的风险等级:

实施指导

首先确定工作负载中所有需要检测的元素。计算完所有组件后,利用 AWS X-Ray 和 OpenTelemetry 之类的工具收集跟踪数据,使用 X-Ray 和 Amazon CloudWatch ServiceLens Map 等工具进行分析。定期与开发者进行审查,并使用诸如Amazon DevOps Guru、X-Ray Analytics和X-Ray Insights之类的工具来补充这些讨论,以帮助发现更深入的发现。根据跟踪数据确立警报,以便在结果面临风险时,按照工作负载监控计划中定义的流程发出通知。

实施步骤

要有效地实施分布式跟踪,请执行以下操作:

  1. 采用 AWS X-Ray将 X-Ray 集成到应用程序中,以便深入了解其行为和性能并查明瓶颈。利用 X-Ray Insights 自动分析跟踪数据。

  2. 检测您的服务:验证从AWS Lambda函数到EC2实例的每项服务是否都发送了跟踪数据。您提供的服务越多, end-to-end视野就越清晰。

  3. 整合CloudWatch 真实用户监控综合监控将真实用户监控 (RUM) 和合成监控与 X-Ray 集成。这可捕捉实际的用户体验并模拟用户交互,从而发现潜在问题。

  4. 使用CloudWatch 代理:代理可以从 X-Ray 或发送跟踪 OpenTelemetry,从而增强所获得的见解的深度。

  5. 使用 Amazon DevOps Guru DevOpsGuru 使用来自 X-Ray、 CloudWatch AWS Config、和的数据 AWS CloudTrail 来提供可行的建议。

  6. 分析跟踪数据:定期审查跟踪数据,识别可能影响应用程序性能的模式、异常或瓶颈。

  7. 设置警报:CloudWatch针对异常模式或延迟时间过长配置警报,从而可以主动解决问题。

  8. 持续改进:在添加或修改服务时,重新审视跟踪策略,以便捕获所有相关数据点。

实施计划的工作量级别:

资源

相关最佳实践:

相关文档:

相关视频:

相关示例: