Introducción

Pruebe AWS X-Ray de forma gratuita

La capa gratuita de AWS incluye el registro de 100 000 rastreos cada mes y la recuperación o el escaneo de un millón de rastreos cada mes de forma gratuita.

Consulte los detalles de la capa gratuita de AWS »

P: ¿Qué es AWS X-Ray?

AWS X-Ray ayuda a desarrolladores a analizar y depurar aplicaciones distribuidas de producción, como las creadas con una arquitectura de microservicios. Con X-Ray, puede comprender el desempeño de su aplicación y sus servicios subyacentes para identificar y resolver la causa raíz de los problemas y errores de desempeño. X-Ray proporciona una vista completa de las solicitudes a medida que avanzan por su aplicación y le muestra un mapa de los componentes subyacentes de la aplicación. Puede utilizar X-Ray para analizar aplicaciones en desarrollo y en producción, desde aplicaciones sencillas de tres capas hasta aplicaciones de microservicios complejas compuestas por miles de servicios.

P: ¿Por qué debo utilizar X-Ray?

Actualmente, si crea y ejecuta aplicaciones distribuidas, tiene que confiar en un proceso por servicio o por recurso para rastrear solicitudes para su aplicación a medida que avanzan por los distintos componentes que conforman la aplicación. Este problema se complica aún más por los distintos formatos de log y medios de almacenamiento en los marcos, servicios y recursos que utiliza o en los que se ejecuta la aplicación. Esto dificulta la correlación de los distintos fragmentos de datos y crea una imagen integral de una solicitud desde el momento en que se origina en el usuario final o el servicio hasta que la aplicación devuelve una respuesta. X-Ray proporciona un modelo centrado en el usuario, en vez de un modelo centrado en los servicios o en los recursos, para recopilar datos relacionados con las solicitudes realizadas por la aplicación. Este modelo le permite crear una imagen centrada en el usuario de las solicitudes a medida que avanzan por los servicios y recursos. Al correlacionar y agregar datos en su nombre, X-Ray le permite centrarse en mejorar la experiencia de los usuarios finales de su aplicación.

P: ¿Qué puedo hacer con X-Ray?

X-Ray le facilita las siguientes tareas:

  • Crear un mapa de servicios – Al rastrear las solicitudes realizadas en sus aplicaciones, X-Ray crea un mapa de los servicios utilizados por su aplicación. Esto le proporciona una vista de las conexiones entre servicios en su aplicación, y le permite crear un árbol de dependencias, detectar latencia o errores al trabajar en distintas regiones o zonas de disponibilidad de AWS, anular los servicios que no funcionan según lo esperado, etcétera. 
  • Identificar errores y fallos – X-Ray puede resaltar automáticamente fallos o errores en el código de su aplicación analizando el código de respuesta de cada solicitud realizada en su aplicación. Esto permite una depuración sencilla del código de aplicación sin necesidad de reproducir el fallo o error.
  • Crear sus propias aplicaciones de análisis y visualización – X-Ray proporciona un conjunto de API de consulta que puede usar para crear sus propias aplicaciones de análisis y visualización que utilizan los datos que X-Ray registra.

P: ¿Qué es un rastro?

Un rastro de X-Ray es un conjunto de puntos de datos que comparten el mismo ID de rastro. Por ejemplo, cuando un cliente realiza una solicitud en su aplicación, se le asigna un ID de rastro único. A medida que la solicitud avanza por los servicios de su aplicación, los servicios retransmiten información relacionada con la solicitud hacia X-Ray usando este ID de rastro único. El fragmento de información retransmitido por cada servicio de su aplicación a X-Ray es un segmento, y un rastro es una recopilación de segmentos.

P: ¿Qué es un segmento?

Un segmento de X-Ray engloba todos los puntos de datos para un componente único (por ejemplo, un servicio de autorización) de la aplicación distribuida. Los segmentos incluyen datos definidos por el sistema y por los usuarios con formato de anotaciones y se componen de uno o más subsegmentos que representan llamadas remotas realizadas desde el servicio. Por ejemplo, cuando la aplicación realiza una llamada a una base de datos en respuesta a una solicitud, crea un segmento para esa solicitud con un subsegmento que representa la llamada a la base de datos y su resultado. El subsegmento puede contener datos como la consulta, la tabla utilizada, la marca temporal y el estado de error.

P: ¿Qué es una anotación?

Una anotación de X-Ray se compone de datos definidos por el sistema o por los usuarios asociados con un segmento. Un segmento puede contener varias anotaciones. Las anotaciones definidas por el sistema incluyen datos agregados al segmento por servicios de AWS, mientras que las anotaciones definidas por los usuarios son metadatos agregados a un segmento por un desarrollador. Por ejemplo, un segmento creado por su aplicación se puede introducir automáticamente con datos de región para llamadas de servicio de AWS, mientras que podría decidir agregar datos de región usted mismo para llamadas realizadas a servicios que no son de AWS.

P: ¿Qué son los errores?

Los errores de X-Ray son anotaciones del sistema asociadas con un segmento para una llamada que genera una respuesta de error. El error incluye el mensaje de error, el rastro de pila y cualquier otra información adicional (por ejemplo, versión o ID de confirmación) para asociar el error con un archivo de origen.

P: ¿Qué son las muestras?

Para proporcionar una experiencia eficaz y rentable, X-Ray no recopila datos para cada solicitud que se envía a una aplicación. En su lugar, recopila datos para un número estadísticamente significativo de solicitudes. X-Ray no debería utilizarse como una herramienta de auditoría o conformidad porque no garantiza la integridad de los datos.

P: ¿Qué es el agente de X-Ray?

El agente de X-Ray recopila datos de archivos log y los envía al servicio de X-Ray para la agregación, el análisis y el almacenamiento. El agente le facilita el envío de datos al servicio de X-Ray, en vez de utilizar las API directamente, y está disponible para la AMI de Amazon Linux, Red Hat Enterprise Linux (RHEL) y Windows Server 2012 R2 o sistemas operativos posteriores.


P: ¿Cómo puedo comenzar a utilizar X-Ray?

Puede comenzar a utilizar X-Ray incluyendo el SDK para lenguaje de X-Ray en su aplicación e instalando el agente de X-Ray. Para obtener más información, consulte la Guía del usuario de X-Ray.

P: ¿Qué tipos de aplicaciones puedo usar con X-Ray?

X-Ray se puede usar con aplicaciones distribuidas de cualquier tamaño para rastrear y depurar solicitudes síncronas y eventos asíncronos. Por ejemplo, X-Ray se puede usar para rastrear solicitudes web realizadas en una aplicación web o eventos asíncronos que utilizan colas de Amazon SQS.

P: ¿Qué servicios de AWS puedo usar con X-Ray?

Puede usar X-Ray con aplicaciones que se ejecutan en EC2, ECS, Lambda y Elastic Beanstalk. Además, el SDK para X-Ray captura automáticamente metadatos para llamadas al API realizadas en servicios de AWS mediante el AWS SDK. Por otra parte, el SDK para X-Ray proporciona complementos para controladores de MySQL y PostgreSQL.

P: ¿Qué modificaciones de código tengo que realizar en mi aplicación para utilizar X-Ray?

Si utiliza Elastic Beanstalk, deberá incluir las bibliotecas de X-Ray específicas de lenguaje en el código de su aplicación. Para aplicaciones que se ejecutan en otros servicios de AWS, como EC2 o ECS, deberá instalar el agente de X-Ray e instrumentar el código de su aplicación.

P: Proporciona X-Ray una API?

Sí, X-Ray proporciona un conjunto de API para incorporar datos de solicitud, consultar rastros y configurar el servicio. Puede utilizar el API de X-Ray para crear aplicaciones de análisis y visualización además de las proporcionadas por X-Ray.


P: ¿En qué regiones está disponible X-Ray?

Consulte Productos y servicios regionales para obtener más detalles.

P: ¿Puedo usar X-Ray para rastrear solicitudes de aplicaciones o servicios que se extienden por varias regiones?

Sí, puede usar X-Ray para rastrear solicitudes que avanzan por las aplicaciones o servicios en varias regiones. Los datos de X-Ray se almacenan localmente en la región procesada, pero con suficiente información para permitir que las aplicaciones de cliente combinen los datos y proporcionen una vista global de los rastros. La anotación de regiones para servicios de AWS se agregará automáticamente; sin embargo, los clientes deberán instrumentar servicios personalizados para agregar la anotación regional y utilizar el soporte entre regiones.


P: ¿Cuánto tardan los datos de rastro en estar disponibles en X-Ray?

Los datos de rastro enviados a X-Ray normalmente se pueden recuperar y filtrar menos de 30 segundos después de que los reciba el servicio.

P: ¿Cuál es la antigüedad máxima para consultar los datos de rastro? ¿Cuánto tiempo almacena X-Ray los datos de rastro?

X-Ray almacena los datos de rastro de los últimos 30 días. Esto le permite consultar datos de rastro con una antigüedad de 30 días.

P: ¿Por qué a veces veo rastros parciales?

X-Ray hace todos los esfuerzos posibles por presentar información de rastro completa. Sin embargo, en algunas situaciones (problemas de conectividad, retraso en la recepción de segmentos, etcétera) es posible que la información de rastro proporcionada por las API de X-Ray sea parcial. En tales situaciones, X-Ray etiqueta los rastros como incompletos o parciales.

P: Los componentes de mi aplicación se ejecutan en sus propias cuentas de AWS. ¿Puedo usar X-Ray para recopilar datos en distintas cuentas de AWS?

Sí, el agente de X-Ray puede asumir una función para publicar datos en una cuenta distinta de la cuenta en la que se ejecuta. Esto le permite publicar datos desde distintos componentes de su aplicación en una cuenta central.