对您的应用程序进行检测Amazon X-Ray - Amazon X-Ray
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

对您的应用程序进行检测Amazon X-Ray

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

  • a@@ uto 仪表 — 无需更改任何代码即可测试您的应用程序,通常通过配置更改、添加自动检测代理或其他机制。

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

  • 手动检测 — 在要发送跟踪信息的每个位置向应用程序添加检测代码。

有多种 SDK、代理和工具可用于检测您的应用程序进行 X-Ray 跟踪。

使用Amazon Distro 对您的应用程序进行检测 OpenTelemetry

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

借助 ADOT,工程师只需对应用程序进行一次测试,即可将相关的指标和跟踪信息发送到多个Amazon监控解决方案,包括 Amazon 和 Amaz CloudWatch on Serv OpenSearch ice。Amazon X-Ray

将 X-Ray 与 ADOT 配合使用需要两个组件:一个启用了 X-Ray 的 OpenTelemetry SDK,一个启用了 X-Ray 的 AmazonDistro fo OpenTelemetry r Collect or。有关使用Amazon distro fo OpenTelemetry r wAmazon X-Ray ith 和其他Amazon服务的更多信息,请参阅 OpenTelemetry 文档Amazon发行版

有关语言支持和使用情况,请参阅上的观察,请参阅上Amazon的观察 GitHub

ADOT 包括以下内容:

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

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

使用Amazon X-Ray SDK 测试您的应用程序

Amazon X-Ray包括一组特定语言的 SDK,用于检测您的应用程序向 X-Ray 发送跟踪信息。每个 X-Ray SDK 都提供以下内容:

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

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

  • 一个 HTTP 客户端,用于检测对其他内部和外部 HTTP Web 服务的调用

X-Ray SDK 还支持对 SQL 数据库的仪器调用、自动Amazon SDK 客户端检测和其他功能。开发跟踪数据,而不是直接向 X-Ray 开发跟踪数据,而不是直接向 X-Ray 发送跟踪数据。X-Ray 守护程序缓冲队列中的分段并将其批量上传到 X-Ray。

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

X-Ray 目前包括对 J ava 的自动检测支持。

在Amazon Distro for OpenTelemetry 和 X-Ray SDK 之间进行选择

X-Ray 附带的 SDK 是由 X 提供的紧密集成的仪器解决方案的一部分Amazon。AmazonDistro for OpenTelemetry 是更广泛的行业解决方案的一部分,其中 X-Ray 只是众多追踪解决方案之一。您可以使用任一方法在 X-Ray 中实现 end-to-end 跟踪,但了解差异很重要,这样才能确定最适合您的方法。

OpenTelemetry 如果您需要以下内容,我们建议您使用Amazon Distro 测试您的应用程序:

  • 无需重新分析代码即可将跟踪发送到多个不同的跟踪后端

  • Support 每种语言的大量图书馆工具,由 OpenTelemetry社区维护

  • Lambda 层,Lambda 层,Lambda 层,可打包收集遥测数据所需的一切内容,无需在使用 Java、Python 或 Node.js 时需要更改代码

    注意

    AmazonDistro for 为测试您的 Lambda 函数 OpenTelemetry 提供了更简单的入门体验。但是,由于 Lambda 函数 OpenTelemetry 提供的灵活性,Lambda 函数需要额外的内存,Lambda 函数需要额外的内存,并且调用可能会遇到冷启动延迟增加的情况,从而导致额外费用。如果您正在针对低延迟进行优化并且不需要高级功能(例如动态可配置 OpenTelemetry的后端目标),则可能需要使用针对低延迟进行优化并且不需要高级功能(例如动态可配置的后端目标),则可能需要使用针对应用程序包来测试您的应用程序。Amazon

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

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

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