Instrumentación de su solicitud para AWS X-Ray - AWS X-Ray

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Instrumentación de su solicitud para AWS X-Ray

La instrumentación de una aplicación implica el envío de datos de rastro para solicitudes entrantes y salientes y otros eventos de la aplicación junto con los metadatos de cada solicitud. Hay varias opciones de instrumentación entre las que puede elegir o que puede combinar, en función de sus requisitos particulares:

  • Instrumentación automática: instrumente su aplicación sin cambios de código, normalmente mediante cambios de configuración, añadiendo un agente de instrumentación automática u otros mecanismos.

  • Instrumentación de biblioteca: realice cambios mínimos en el código de la aplicación para agregar instrumentación prediseñada destinada a bibliotecas o marcos específicos, como los clientes o los clientes de Apache AWS SDK. HTTP SQL

  • Instrumentación manual: añada código de instrumentación a su aplicación en cada ubicación a la que desee enviar la información de rastro.

Existen varios SDKs agentes y herramientas que se pueden utilizar para instrumentar su aplicación de rastreo de rayos X.

Cómo equipar su aplicación con la distribución para AWS OpenTelemetry

The AWS Distro for OpenTelemetry (ADOT) es una AWS distribución basada en el proyecto Cloud Native Computing Foundation (). CNCF OpenTelemetry OpenTelemetry proporciona un conjunto único de código abiertoAPIs, bibliotecas y agentes para recopilar rastreos y métricas distribuidos. Este kit de herramientas es una distribución de OpenTelemetry componentes originales que incluye SDKs agentes de autoinstrumentación y colectores que se prueban, optimizan, protegen y respaldan. AWS

Con ADOT ello, los ingenieros pueden instrumentar sus aplicaciones una vez y enviar métricas y rastreos correlacionados a múltiples soluciones de AWS monitoreo CloudWatch AWS X-Ray, incluidas Amazon y Amazon OpenSearch Service.

El uso de X-Ray con ADOT requiere dos componentes: uno OpenTelemetry SDKhabilitado para su uso con X-Ray y el AWS Distro for OpenTelemetry Collector habilitado para su uso con X-Ray. Para obtener más información sobre el uso de la AWS distribución OpenTelemetry con AWS X-Ray y otros Servicios de AWS, consulte la documentación de la AWS distribución. OpenTelemetry

Para obtener más información sobre el soporte y el uso de idiomas, consulta AWS Observabilidad en. GitHub

nota

Ahora puedes usar el CloudWatch agente para recopilar métricas, registros y seguimientos de las EC2 instancias de Amazon y de los servidores locales. CloudWatch La versión 1.300025.0 del agente y posteriores puede recopilar rastros de nuestro cliente de OpenTelemetryX-Ray y SDKs enviarlos a X-Ray. Utilizar el CloudWatch agente en lugar del AWS Distro for OpenTelemetry (ADOT) Collector o el daemon X-Ray para recopilar rastros puede ayudarle a reducir la cantidad de agentes que administra. Consulte el tema sobre los CloudWatch agentes en la Guía del CloudWatch usuario para obtener más información.

ADOTincluye lo siguiente:

ADOTactualmente incluye soporte de autoinstrumentación para Java y Python. Además, ADOT permite la instrumentación automática de las funciones de AWS Lambda y sus solicitudes posteriores mediante tiempos de ejecución de Java, Node.js y Python, mediante capas Lambda gestionadas. ADOT

ADOTSDKspara Java y Go admiten las reglas de muestreo centralizado de X-Ray. Si necesita soporte para las reglas de muestreo de rayos X en otros idiomas, considere usar un AWS X-Ray SDK.

nota

Ya puede enviar el rastreo del W3C a IDs X-Ray. De forma predeterminada, las trazas que se crean con ellas OpenTelemetry tienen un formato de ID de traza que se basa en la especificación del contexto de rastreo del W3C. Esto es diferente del formato de las trazas IDs que se crean mediante una radiografía SDK o mediante AWS los servicios que se integran con X-Ray. Para garantizar que X-Ray acepte IDs el rastreo en formato W3C, debe usar la versión 0.86.0 o posterior de AWS X-Ray Exporter, que se incluye en la versión 0.34.0 y posteriores de ADOTCollector. Las versiones anteriores del exportador validan las marcas de tiempo de los identificadores de rastreo, lo que puede provocar que se rechace el rastreo del W3C. IDs

Instrumentar su solicitud con AWS X-Ray SDKs

AWS X-Ray incluye un conjunto de idiomas específicos SDKs para instrumentar su aplicación para enviar trazas a X-Ray. Cada X-Ray SDK proporciona lo siguiente:

  • Interceptores para añadir a tu código para rastrear las solicitudes entrantes HTTP

  • Controladores de clientes para instrumentar AWS SDK los clientes que su aplicación utiliza para llamar a otros Servicios de AWS

  • Un HTTPcliente para instrumentar las llamadas a otros servicios HTTP web internos y externos

X-Ray SDKs también admite llamadas de instrumentación a SQL bases de datos, instrumentación automática de AWS SDK clientes y otras funciones. En lugar de enviar los datos de rastreo directamente a X-Ray, SDK envía los documentos JSON segmentados a un proceso daemon que escucha el UDP tráfico. El daemon de X-Ray almacena en búfer segmentos en una cola y los carga en X-Ray en lotes.

Se proporcionan los siguientes idiomas específicosSDKs:

Actualmente, X-Ray admite la instrumentación automática para Java.

Cómo elegir entre AWS Distro for OpenTelemetry y X-Ray SDKs

Los que SDKs se incluyen con X-Ray son parte de una solución de instrumentación estrechamente integrada que ofrece. AWS El AWS Distro for OpenTelemetry forma parte de una solución industrial más amplia en la que X-Ray es solo una de las muchas soluciones de rastreo. Puede implementar el end-to-end rastreo en X-Ray utilizando cualquiera de los dos enfoques, pero es importante entender las diferencias para determinar cuál es el enfoque más útil para usted.

Le recomendamos que equipe su aplicación con la AWS Distro OpenTelemetry si necesita lo siguiente:

  • La posibilidad de enviar trazas a varios backends de rastreo diferentes sin tener que volver a instrumentar el código

  • Support para una gran cantidad de instrumentaciones bibliotecarias para cada idioma, mantenidas por la comunidad OpenTelemetry

  • Capas de Lambda completamente administradas que empaquetan todo lo necesario para recopilar datos de telemetría sin necesidad de cambios de código al usar Java, Python o Node.js

    nota

    AWS Distro for OpenTelemetry ofrece una experiencia de inicio más sencilla para instrumentar las funciones de Lambda. Sin embargo, debido a la flexibilidad que OpenTelemetry ofrece, la función Lambda requerirá memoria adicional y las invocaciones pueden experimentar un aumento de la latencia de arranque en frío, lo que puede generar cargos adicionales. Si está optimizando para una baja latencia y no necesita capacidades avanzadas, como destinos OpenTelemetry de back-end configurables dinámicamente, puede utilizar el AWS X-Ray SDK para instrumentar su aplicación.

Le recomendamos que elija un X-Ray SDK para instrumentar su aplicación si necesita lo siguiente:

  • Una solución de un solo proveedor perfectamente integrada

  • Integración con las reglas de muestreo centralizadas de X-Ray, incluida la capacidad de configurar las reglas de muestreo desde la consola de X-Ray y utilizarlas automáticamente en varios hosts, al utilizar Node.js, Python, Ruby o. NET