检测你的申请Amazon X-Ray - Amazon X-Ray
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

检测你的申请Amazon X-Ray

对应用程序进行检测涉及发送传入和出站请求以及应用程序内其他事件的跟踪数据,以及有关每个请求的元数据。根据您的特定要求,您可以选择或组合几种不同的仪器选项:

  • 自动检测— 对应用程序进行零代码更改(通常是通过配置更改、添加自动检测代理或其他机制)来检测应用程序。

  • 分析库— 对应用程序代码进行最少的更改,以添加针对特定库或框架的预构建工具,例如Amazon开发工具包、Apache HTTP 客户端或 SQL 客户端。

  • 手动检测— 将仪器代码添加到要发送跟踪信息的每个位置的应用程序中。

有几个 SDK、代理和工具可用于检测应用程序以进行 X-Ray 追踪。

使用测试您的应用程序Amazon适用于的Distro OpenTelemetry

这些区域有:Amazon适用于的Distro OpenTelemetry (ADOT) 是一个Amazon基于云原生计算基金会 (CNCF) 的发布 OpenTelemetry项目。 OpenTelemetry 提供一组开源 API、库和代理,用于收集分布式跟踪和指标。这个工具包是上游的发行版 OpenTelemetry 组件,包括 SDK、自动检测代理和收集器,这些组件均经过测试、优化、保护和支持Amazon.

借助 ADOT,工程师可以一次测试其应用程序,然后将相关的指标和跟踪发送到多个Amazon监控解决方案,包括亚马逊 CloudWatch、Amazon X-Ray和 Amazon OpenSearch 服务 。

将 X-Ray 与 ADOT 结合使用需要两个组件:OpenTelemetry 开发工具包启用了与 X-Ray 配合使用,并且Amazon适用于的Distro OpenTelemetry 收藏家已启用与 X-Ray 配合使用。有关如何使用的更多信息Amazon适用于的Distro OpenTelemetry 和Amazon X-Ray和 OtherAmazon服务,请参阅Amazon适用于的Distro OpenTelemetry 文档.

有关语言支持和使用的更多信息,请参阅Amazon可观察性打开 GitHub.

ADOT 包括以下硬件:

ADOT 目前包括自动仪器支持JavaPython. 此外,ADOT 还支持自动检测Amazon使用 Java、Node.js 和 Python 运行时的 Lambda 函数及其下游请求ADOT 托管的 Lambda 层.

适用于 Java 和 Go 的 ADOT 软件开发工具包支持 X-Ray 集中采样规则。如果您需要其他语言的 X-Ray 采样规则支持,请考虑使用Amazon X-Ray开发工具包。

使用测试您的应用程序Amazon X-Ray软件开发工具包

Amazon X-Ray中包括一组特定语言的开发工具包,用于分析您的应用程序,将跟踪发送到 X-Ray。每个 X-Ray 开发工具包都提供以下硬件:

  • 拦截器,可添加到您的代码中以跟踪传入 HTTP 请求

  • 客户端处理程序使用进行检测Amazon您的应用程序用来调用其他的 SDK 客户端Amazon服务

  • 网络 ACL 和安全组都允许 (因此可到达您的实例) 的发起 ping 的HTTP 客户端分析对其他内部和外部 HTTP Web 服务的调用

X-Ray 开发工具包还支持分析对 SQL 数据库的调用,自动AmazonSDK 客户端工具和其他功能。该开发工具包不是直接将跟踪数据发送到 X-Ray,而是将 JSON 分段文档发送到侦听 UDP 流量的守护程序进程。这些区域有:X-Ray 守护程序将分段缓冲在队列中,并将分段批量上传到 X-Ray。

提供了以下特定于语言的 SDK:

X-Ray 目前包括自动检测支持Java.

在Amazon适用于的Distro OpenTelemetry 和 X-Ray 开发工具包

X-Ray 附带的 SDK 是 X-Ray 提供的紧密集成的仪器解决方案的一部分Amazon. 这些区域有:Amazon适用于的Distro OpenTelemetry 是更广泛的行业解决方案的一部分,在该解决方案中,X-Ray 只是众多追踪解决方案中的一种。你可以实现 end-to-end 使用任一方法在 X-Ray 中进行跟踪,但重要的是要了解差异,以便确定对您最有用的方法。

我们建议使用Amazon适用于的Distro OpenTelemetry 如果您需要以下信息:

  • 能够将跟踪发送到多个不同的跟踪后端,而无需重新分析代码

  • Support 每种语言的大量图书馆乐器,由 OpenTelemetry社区

如果您需要以下内容,我们建议您选择 X-Ray SDK 来检测您的应用程序:

  • 紧密集成的单一供应商解决方案

  • 与 X-Ray 集中式采样规则集成,包括能够在使用 Node.js、Python、Ruby 或 .NET 时从 X-Ray 控制台配置采样规则并在多个主机上自动使用这些规则