选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用跟踪应用AWS X-Ray - AWS 规范性指导

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

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

使用跟踪应用AWS X-Ray

通过应用程序发出的请求可能包括对在本地服务器、Amazon EC2、容器或 Lambda 中运行的数据库、应用程序和 Web 服务的调用。通过实施应用程序跟踪,您可以快速确定使用分布式组件和服务的应用程序中出现问题的根本原因。您可以使用AWS X-Ray以跨多个组件跟踪应用程序请求。X-Ray 采样和可视化请求服务图当它们流过你的应用程序组件并且每个组件都表示为区段时。X-Ray 会生成跟踪标识符,以便在请求流过多个组件时可以关联请求,这有助于您从端到端查看请求。您可以通过包含注释和元数据来进一步增强这一点,以帮助唯一搜索和识别请求的特征。

我们建议您使用 X-Ray 配置和检测应用程序中的每个服务器或终端节点。X-Ray 是通过调用 X-Ray 服务在应用程序代码中实现的。X-Ray 还提供AWS适用于多种语言的 SDK,包括自动向 X-Ray 发送数据的分析客户端。X-Ray SDK 为用于调用其他服务(例如 HTTP、MySQL、PostgreSQL 或 MongoDB)的常用库提供补丁。

X-Ray 提供了一个 X-Ray 守护程序,您可以在 Amazon EC2 和 Amazon ECS 上安装并运行该守护程序,以便将数据中 X-Ray 会为应用程序创建跟踪,从运行服务请求的 X-Ray 守护程序的服务器和容器中捕获性能数据。X-Ray 会自动计算你的来电AWS通过修补 Amazon DynamoDB 等服务作为子区段AWS发工具包。X-Ray 还可以自动与 Lambda 函数集成。

如果应用程序组件调用无法配置和安装 X-Ray 守护程序或检测代码的外部服务,则可以创建用于封装对外部服务的呼叫的子区段. X-Ray 相关 CloudWatch 如果您使用的是应用程序跟踪的日志和指标AWS X-Ray SDK for Java,这意味着您可以快速分析请求的相关指标和日志。

部署 X-Ray 守护程序以便在 Amazon EC2 上跟踪应用程和服务

您需要在运行应用程序组件或微服务的 EC2 实例上安装并运行 X-Ray 守护程序。您可以使用用户数据脚本在配置 EC2 实例时部署 X-Ray 守护程序,或者如果您创建自己的 AMI,则可以将其包含在 AMI 构建过程中。当 EC2 实例是短暂的时候,这可能特别有用。

您应该使用状态管理器来确保在 EC2 实例上始终安装 X-Ray 守护程序。对于 Amazon EC2 EC2 的Windows实例,你可以使用 Systems ManagerAWS-运行 PowerShell 脚本文档运行Windows 脚本下载并安装 X-Ray 代理。对于 Linux 上的 EC2 实例,您可以使用AWS-runshellScript 文档来运行 Linux 脚本将代理下载并安装为服务.

您可以使用 Systems ManagerAWS-运行 RemoteScript 文档在多账户环境中运行脚本。您必须创建一个可从所有账户访问的 S3 存储桶,我们建议使用基于组织的存储桶策略创建 S3 存储桶如果您使用AWS Organizations. 然后,您将脚本上传到 S3 存储桶,但请确保 EC2 实例的 IAM 角色有权访问存储桶和脚本。

您还可以配置状态管理器以将脚本与安装了 X-Ray 代理的 EC2 实例关联。由于您的所有 EC2 实例可能不需要或使用 X-Ray,因此您可以定位与实例标签的关联。例如,您可以根据存在的InstallAWSXRayDaemonWindows要么InstallAWSXRayDaemonLinux标签。

在 Amazon ECS 或 Amazon EKS 上部署 X-Ray 守护程序跟踪应用程和服务

你可以部署X-Ray 守护作为面向基于容器的工作负载的 sidecar 容器,例如 Amazon ECS 或 Amazon EKS。然后,如果您使用 Amazon ECS,应用程序容器就可以通过容器链接连接到 sidecar 容器;如果您使用,则该容器可以直接连接到 localhost 上的 sidecar 容器awsvpc 网络模式.

对于 Amazon EKS,您可以在应用程序的 pod 定义中定义 X-Ray 守护程序,然后您的应用程序可以通过本地主机连接到您指定的容器端口上的守护程序。

配置 Lambda 以跟踪对 X-Ray 的请求

您的应用程序可能包括对 Lambda 函数的调用。您无需安装适用于 Lambda 的 X-Ray 守护程序,因为守护进程完全由 Lambda 管理,用户无法配置。你可以使用你的 Lambda 函数启用它AWS Management Console然后检查活动跟踪在 X-Ray 控制台中选项。

如需进一步分析,您可以将 X-Ray 开发工具包与 Lambda 函数绑定,以便记录传出调用以及添加注释或元数据。

分析 X-Ray 应用程

您应该评估符合应用程序编程语言的 X-Ray SDK,并对应用程序对其他系统发出的所有调用进行分类。查看您选择的库提供的客户端,看开发工具包是否可以针对应用程序的请求或响应自动进行仪器跟踪。确定 SDK 提供的客户端是否可用于其他下游系统。对于应用程序调用但无法使用 X-Ray 进行仪器的外部系统,应创建自定义子区段来捕获并在跟踪信息中识别它们。

在检测应用程序时,请确保创建注释以帮助您识别和搜索请求。例如,您的应用程序可能会为客户使用标识符,例如customer id,或者根据不同用户在应用程序中的角色对其进行细分。

您最多可以为每个跟踪创建 50 个批注,但是,只要区段文档不超过 64 千字节,则可以创建包含一个或多个字段的元数据对象。您应该有选择地使用注释来查找信息,并使用元数据对象提供更多上下文,以帮助在查找请求后对其进行故障排除。

配置 X-Ray 采样规则

By自定义采样规则,您可以控制您记录的数据量以及修改采样行为而不必修改或重新部署您的代码。采样规则告知 X-Ray 开发工具包要为一系列条件记录的请求数。默认情况下,X-Ray SDK 将记录。第一个请求每秒和任何额外请求的 5%. 每秒一个请求是容器。这可确保只要服务正在处理请求,就会每秒至少记录一个跟踪。5% 是对超出容器尺寸的额外请求进行采样的比率。

您应该查看并更新默认配置,以确定账户的合适值。在开发环境、测试环境、性能测试环境和生产环境中,您的要求可能不 您可能有一些应用程序需要根据接收的流量或严重程度自己的采样规则。您应该从基线开始,然后定期重新评估基准是否符合您的要求。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。