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 añadir instrumentación prediseñada para bibliotecas o marcos específicos, como el SDK de AWS, los clientes Apache HTTP o los clientes 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 SDK, agentes y herramientas que puede utilizar para instrumentar su aplicación para rastreo de X-Ray.
Temas
Instrumentación de su aplicación con AWS Distro para OpenTelemetry
AWS Distro para OpenTelemetry (ADOT) es una distribución de AWS basada en el proyecto OpenTelemetry de la Cloud Native Computing Foundation (CNCF). OpenTelemetry proporciona un conjunto único de API, bibliotecas y agentes de código abierto para recopilar rastros y métricas distribuidos. Este kit de herramientas es una distribución de componentes originales de OpenTelemetry que incluye SDK, agentes de instrumentación automática y recopiladores probados, optimizados, protegidos y compatibles con AWS.
Con ADOT, los ingenieros pueden instrumentar sus aplicaciones una vez y enviar métricas y rastros correlacionados a varias soluciones de supervisión de AWS, entre ellas Amazon CloudWatch, AWS X-Ray y Amazon OpenSearch Service.
El uso de X-Ray con ADOT requiere dos componentes: un SDK de OpenTelemetry habilitado para su uso con X-Ray y AWS Distro para OpenTelemetry Collector habilitado para su uso con X-Ray. Para obtener más información sobre el uso de AWS Distro para OpenTelemetry con AWS X-Ray y otros Servicios de AWS, consulte la documentación de AWS Distro para OpenTelemetry
Para obtener información adicional sobre los lenguajes compatibles y el uso, consulte AWS Observability en GitHub
nota
Ahora puede utilizar el agente de CloudWatch para recopilar métricas, registros y rastros de instancias de Amazon EC2 y de servidores ubicados en las instalaciones. La versión 1.300025.0 y posteriores del agente de CloudWatch pueden recopilar rastros de SDK de cliente de OpenTelemetry o X-Ray y enviarlos a X-Ray. El uso del agente CloudWatch en lugar del recopilador AWS Distro para OpenTelemetry (ADOT) o daemon de X-Ray para recopilar registros de seguimiento pueden ayudar a reducir la cantidad de agentes que administra. Consulte el tema Agente de CloudWatch en la Guía del usuario de CloudWatch para obtener más información.
ADOT incluye lo siguiente:
Actualmente, ADOT admite la instrumentación automática para Java
Los SDK de ADOT para Java y Go admiten las reglas de muestreo centralizado de X-Ray. Si necesita soporte para reglas de muestreo de X-Ray en otros lenguajes, considere la posibilidad de usar un SDK de AWS X-Ray.
nota
Ahora puede enviar identificadores de rastro que se ajustan a la especificación de W3C a X-Ray. De forma predeterminada, los rastros que se crean con OpenTelemetry tienen un formato de ID de rastro basado en la especificación Trace Context del W3C
Instrumentación de su aplicación con SDK de AWS X-Ray
AWS X-Ray incluye un conjunto de SDK de lenguajes específicos para instrumentar su aplicación y enviar rastros a X-Ray. Cada SDK de X-Ray proporciona lo siguiente:
-
Interceptadores que añadir a su código para rastrear solicitudes HTTP entrantes
-
Controladores de cliente para instrumentar clientes del SDK de AWS que su aplicación utiliza para llamar a otros Servicios de AWS
-
Un cliente HTTP para instrumentar llamadas a servicios web HTTP internos y externos
Los SDK de X-Ray también permiten instrumentar llamadas a bases de datos SQL e instrumentar clientes de SDK de AWS de manera automática, entre otras características. En lugar de enviar los datos de rastro directamente a X-Ray, el SDK envía documentos de segmento JSON a un proceso del daemon que escucha el tráfico UDP. 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 SDK específicos para cada lenguaje:
Actualmente, X-Ray admite la instrumentación automática para Java.
Elegir entre AWS Distro para OpenTelemetry y los SDK de X-Ray
Los SDK de X-Ray son parte de una solución de instrumentación estrechamente integrada que ofrece AWS. AWS Distro para 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 rastreo integral en X-Ray con cualquiera de las soluciones, pero es importante comprender las diferencias para determinar cuál es el enfoque más útil para usted.
Le recomendamos equipar du aplicación con AWS Distro para OpenTelemetry si necesita lo siguiente:
-
La posibilidad de enviar rastros a varios backends de rastreo sin tener que volver a instrumentar el código
-
Compatibilidad con una gran cantidad de instrumentaciones de biblioteca para cada lenguaje, mantenida por la comunidad de 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 para OpenTelemetry resulta más sencillo al empezar a utilizarlo para instrumentar las funciones de Lambda. Sin embargo, debido a la flexibilidad que ofrece OpenTelemetry, la función de Lambda requerirá memoria adicional y las invocaciones pueden experimentar aumentos de latencia de arranque en frío, lo que puede generar cargos adicionales. Si está en proceso de optimización para una latencia baja y no necesita las capacidades avanzadas de OpenTelemetry, como los destinos de backend configurables de forma dinámica, es posible que le convengan utilizar el SDK de AWS X-Ray para instrumentar su aplicación.
Le recomendamos que elija un SDK de X-Ray para instrumentar su aplicación si necesita lo siguiente:
-
Una solución de un solo proveedor perfectamente integrada
-
Integración en 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