

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

# 在 Amazon EKS 中追踪
<a name="tracing"></a>

在 Amazon EKS 中，跟踪是 Amazon EKS 中应用程序可观察性的关键组成部分。当请求通过部署在 EKS 集群上的各种微服务时，Tracing 通过收集、处理和可视化请求的路径，提供对请求流和服务交互的详细可见性。此功能可帮助您了解您的 Amazon EKS 环境中的系统行为、识别瓶颈并有效地解决问题。有效的跟踪提供了对请求流 end-to-end的可见性，从而消除了调试分布式系统的复杂性。它可以跨服务边界跟踪交易，并识别 Amazon EKS 工作负载中的性能问题或故障。

Amazon EKS 中的整体跟踪实现使您能够了解系统行为、优化性能并保持容器化应用程序的可靠性。最终，跟踪功能增强了 Amazon EKS 环境中的操作可见性和系统可维护性。

AWS X-Ray 在跟踪有关您的应用程序的数据方面起着重要作用。跟踪涉及监控服务交互的各个方面，包括：
+ **请求路径和依赖关系**为分布式系统的行为提供了至关重要的见解。当请求遍历不同的微服务和组件时，它们会跟踪请求的完整旅程。映射服务依赖关系可帮助您了解通信模式并确定应用程序架构中的关键路径。有关实现的详细信息，请参阅 X-Ray 文档中的[使用 AWS X-Ray 服务跟踪地图](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-servicemap.html)。
+ **服务延迟和瓶颈**是保持最佳系统性能的基本指标。通过测量和分析服务之间的响应时间，您可以有效地识别性能问题。这些数据使您可以查明导致请求链延迟的特定服务或操作，并进行有针对性的优化工作。要了解有关延迟分析的更多信息，请参阅 X-Ray 文档[中的与 Analytics 控制台交互](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-analytics.html)。
+ **错误传播模式**可帮助您了解系统的可靠性和容错能力。通过跟踪服务间的错误路径来了解故障如何在系统中层叠出现，您可以更好地架构应用程序。这种可见性可以帮助您确定错误的根本原因及其对依赖服务的影响，从而提高系统的弹性。有关实现的详细信息，请参阅 X-Ray 文档中的[跟踪](https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-traces)。
+ **跨服务的资源利用率**提供了对系统效率和成本优化的见解。您可以监控与跟踪数据相关的 CPU、内存和网络使用模式，以了解资源需求。这些数据可帮助您分析资源消耗趋势，从而优化整个 EKS 集群的服务性能和成本。有关监控设置，请参阅 Amazon EKS 文档中的[监控集群性能和查看日志](https://docs.aws.amazon.com/eks/latest/userguide/eks-observe.html)。
+ **最终用户交易流程**对于理解和改善用户体验至关重要。通过跟踪从前端到后端服务的完整用户交互，您可以确保最佳的应用程序性能。您可以衡量和优化关键用户旅程的 end-to-end响应时间，这会直接影响客户满意度。要实现终端用户监控，请使用适用于您的编程语言的 [AWS X-Ray SDK](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk.html)。
+ **API 网关交互**构成了应用程序性能和安全性的第一线。您可以在 API 入口点监控请求模式和性能，以确保最佳的服务交付。这种可见性可帮助您跟踪身份验证、授权和速率限制对请求流的影响，以满足安全和性能要求。在 [Amazon API Gateway with X-Ray 文档中了解有关 API 跟踪的](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html)更多信息。

Amazon EKS 中的有效追踪不仅仅是收集跨度和痕迹。它需要一个结构良好的策略，在可观察性需求和系统性能之间取得平衡。该策略应侧重于：
+ **实施适当的采样率**：根据流量模式和业务优先级配置采样规则，以优化成本，同时保持关键交易的可见性。要了解更多信息，请参阅 X-Ray 文档中的[配置采样规则](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-sampling.html)。
+ **定义要跟踪的关键路径和服务**：确定需要详细跟踪的基本服务和用户旅程并确定其优先级，以确保最佳性能监控。有关更多信息，请参阅 Amazon EKS 文档中的[使用 ADOT 操作员发送指标和跟踪数据](https://docs.aws.amazon.com/eks/latest/userguide/opentelemetry.html)。
+ **制定适当的数据保留政策**：设置数据生命周期管理规则，在可观察性需求与存储成本和合规性要求之间取得平衡。 要查看 CloudWatch 保留策略，[请参阅日志文档中的使用日志组和 CloudWatch 日志流](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)。
+ **设置有效的可视化和分析工具：部署和**配置可视化工具，例如 AWS X-Ray 分析控制台或 Amazon Managed Grafana，以有效地分析跟踪数据。 有关更多信息，请参阅 X-Ray 文档[中的与分析控制台交互](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-analytics.html)。

**Topics**
+ [工具](tracing-tools.md)
+ [最佳实践](tracing-best-practices.md)

# 适用于 Amazon EKS 的追踪工具
<a name="tracing-tools"></a>

Amazon EKS 支持多种 AWS 和第三方选项来实现分布式跟踪。

## AWS 服务
<a name="tracing-services"></a>
+ [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html): 高级分布式追踪平台

  X-Ray 是完全托管 AWS 服务 的，可提供 end-to-end跟踪功能。它会自动为您 AWS 服务 在 Amazon EKS 上运行的应用程序提供详细的服务地图和分析。X-Ray 与包括 Amazon AWS 服务在内的其他产品集成 CloudWatch，可自动将跟踪与 AWS 服务 通话进行关联。 
+ [AWS 发行版 OpenTelemetry：统一可](https://aws-otel.github.io/)观测性框架

  Distro for OpenTelemetry 是适用于云原生应用程序的安全、生产就绪且 AWS受支持的发行版。 OpenTelemetry 它提供供应商中立的仪器功能，同时保持原生 AWS 服务 集成，这使其成为混合云环境的理想之选。Distro fo OpenTelemetry r 支持多个可观察性后端，并提供与 AWS 监控服务的无缝集成。 

## 开源解决方案
<a name="tracing-open-source"></a>
+ [OpenTelemetry](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-OpenTelemetry-Sections.html): 开源可观测性框架 

  OpenTelemetry 提供了一个标准化的可观测性框架，其中包含支持多种编程语言的全面仪器库。其灵活的后端选项和供应商中立的方法使其非常适合需要在不同环境中保持一致性的工作负载。该框架广泛的生态系统确保了与各种监控解决方案的广泛兼容性。 
+ [Jaeger](https://www.jaegertracing.io/)：开源分布式追踪平台

  Jaeger 通过实时分布式上下文传播提供全面的跟踪功能。它通过详细的服务依赖关系可视化提供根本原因分析和性能优化。Jaeger 的架构专为高可扩展性而设计，支持各种存储后端，因此适用于大规模 Amazon EKS 部署。查看 [Jaeger for EKS 设置](https://www.jaegertracing.io/docs/latest/operator/) 
+ [Grafana](https://grafana.com/docs/tempo/latest/) Tempo：分布式跟踪

  Tempo 是 Grafana Labs 的解决方案，可提供大规模的跟踪存储以及与 Prometheus 指标的无缝集成。其经济实惠的跟踪保留模型以及与 Grafana 的原生集成使其适合已经使用 Grafana 进行可视化的组织。Tempo 的架构专为云原生环境（例如 Amazon EKS）而设计。

# 在 Amazon EKS 中进行追踪的最佳实践
<a name="tracing-best-practices"></a>

本节全面列出了创建有效跟踪系统的最佳实践和技术，该系统可增强在 Amazon EKS 中基于 Kubernetes 的应用程序的可观察性和故障排除。
+ **策略抽样**：根据应用程序的流量模式和所用服务的重要性配置不同的采样率。对关键路径实施更高的采样率，同时减少对大批量、不太关键的路径的采样以优化成本。有关指导，请参阅 AWS X-Ray 文档中的[配置采样规则](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-sampling.html)。
+ **仪器设置**：使用自动检测工具（例如 X-Ray SDK 或 AWS Distro for C OpenTelemetry ollectory），以最大限度地减少手动检测工作。保持一致的命名约定和跨服务的上下文传播，以实现更好的跟踪关联。 有关更多信息，[请参阅 OpenTelemetry 收藏版文档](https://aws-otel.github.io/docs/getting-started/collector)。
+ **数据管理**：实施适当的保留期和压缩策略，以平衡存储成本和可观测性需求。建立明确的数据隐私控制和备份程序，以保护敏感的跟踪数据。有关更多信息，请参阅 “日[志” 文档中的 “ CloudWatch 日志” 中的更改 CloudWatch 日志数据保留期](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#SttingLogRetention)。
+ **性能优化**：监控和优化跟踪开销，以最大限度地减少对应用程序性能的影响。使用高效的缓冲和异步处理来减少延迟影响。有关更多信息，请参阅 X-Ray 文档中的[配置 AWS X-Ray 守护程序](https://docs.aws.amazon.com/xray/latest/devguide/xray-daemon-configuration.html)。
+ **安全控制**：使用 IAM 角色和策略实施适当的访问控制和数据保护措施。定期的安全审计和合规性审查有助于确保追踪数据的安全。有关更多信息，请参阅 X-Ray 文档[AWS X-Ray中的安全](https://docs.aws.amazon.com/xray/latest/devguide/security.html)。
+ **监控和警报**：设置对跟踪集合运行状况的全面监控，并为收集问题配置警报。跟踪采样率和系统性能指标，以确保最佳运行。有关更多信息，请参阅 CloudWatch 文档中的[容器见解](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContainerInsights.html)。
+ **高可用性**：跨可用区部署冗余收集器并配置适当的故障转移机制。定期测试高可用性设置可确保可靠的跟踪采集。有关更多信息，请参阅亚马逊 Prometheus 托管服务文档中的[使用 AWS 发行版 OpenTelemetry 作为收集器](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-ingest-with-adot.html)。

通过遵循这些最佳实践，您可以为您的 Amazon EKS 环境创建强大、高效且有效的跟踪系统。这将有助于确保基于 Kubernetes 的应用程序具有全面的可观察性、高效的故障排除和最佳性能。