

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.

# Integración AWS X-Ray con otros Servicios de AWS
<a name="xray-services"></a>

**nota**  
Aviso de SDK/Daemon mantenimiento de X-Ray: el 25 de febrero de 2026, el AWS X-Ray SDKs/Daemon entrará en modo de mantenimiento, donde AWS se limitarán las versiones de X-Ray SDK y Daemon para abordar únicamente los problemas de seguridad. Para obtener más información sobre la cronología del soporte, consulte [Cronología de X-Ray SDK y Daemon Support](xray-sdk-daemon-timeline.md). Recomendamos migrar a. OpenTelemetry Para obtener más información sobre la migración a OpenTelemetry, consulte [Migración de una instrumentación de rayos X a una instrumentación](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html). OpenTelemetry 

Muchos Servicios de AWS ofrecen distintos niveles de integración de X-Ray, como el muestreo y la adición de encabezados a las solicitudes entrantes, la ejecución del daemon X-Ray y el envío automático de datos de rastreo a X-Ray. La integración en X-Ray puede incluir lo siguiente:
+ *Instrumentación activa*: realiza un muestreo de las solicitudes entrantes y las instrumenta.
+ *Instrumentación pasiva*: instrumenta solicitudes cuyo muestreo lo realizó otro servicio.
+ *Rastreo de solicitudes*: agrega un encabezado de rastreo a todas las solicitudes entrantes y lo propaga.
+ *Herramientas*: ejecuta el daemon de X-Ray para recibir segmentos del SDK de X-Ray.

**nota**  
Los X-Ray SDKs incluyen complementos para una integración adicional con Servicios de AWS. Por ejemplo, puede utilizar el complemento Elastic Beanstalk del SDK de X-Ray para Java con el fin de agregar información acerca del entorno de Elastic Beanstalk que ejecuta su aplicación, incluidos el nombre e ID del entorno.

Estos son algunos ejemplos de los Servicios de AWS que están integrados con X-Ray:
+ [AWS Distro for OpenTelemetry (ADOT)](xray-services-adot.md): con ADOT, los ingenieros pueden instrumentar sus aplicaciones una vez y enviar métricas y rastreos correlacionados a varias AWS soluciones de monitoreo, como Amazon CloudWatch, Amazon Service y AWS X-Ray Amazon OpenSearch Managed Service para Prometheus.
+ [AWS Lambda](xray-services-lambda.md)— Instrumentación activa y pasiva de las solicitudes entrantes en todos los tiempos de ejecución. AWS Lambda añade dos nodos a su mapa de rastreo, uno para el AWS Lambda servicio y otro para la función. Al habilitar la instrumentación, AWS Lambda también ejecuta el daemon X-Ray en los tiempos de ejecución de Java y Node.js para usarlo con el SDK de X-Ray.
+ [Amazon API Gateway](xray-services-apigateway.md): instrumentación activa y pasiva. API Gateway aplica reglas de muestreo para determinar qué solicitudes registrar y agrega un nodo para la etapa de puerta de enlace al mapa de servicio. 
+ [AWS Elastic Beanstalk](xray-services-beanstalk.md): herramientas. Elastic Beanstalk incluye el daemon de X-Ray en las siguientes plataformas:
  + *Java SE*: 2.3.0 y configuraciones más recientes
  + *Tomcat*: 2.4.0 y configuraciones más recientes
  + *Node.js*: 3.2.0 y configuraciones más recientes
  + *Windows Server*: todas las configuraciones que no sean Windows Server Core liberadas a partir del 9 de diciembre de 2016.

  Puede usar la consola de Elastic Beanstalk para indicar a Elastic Beanstalk que ejecute el daemon en estas plataformas o utilizar la opción `XRayEnabled` en el espacio de nombres `aws:elasticbeanstalk:xray`. 
+ [Elastic Load Balancing](xray-services-elb.md): rastreo de solicitudes en equilibradores de carga de aplicaciones El equilibrador de carga de aplicación agrega el ID de rastro al encabezado de la solicitud antes de enviarlo al grupo de destino.
+ [Amazon EventBridge](xray-services-eventbridge.md) — Instrumentación pasiva. Si un servicio que publica eventos EventBridge está equipado con el SDK de X-Ray, los destinos de los eventos recibirán el encabezado de rastreo y podrán seguir propagando el ID de rastreo original. 
+ [Amazon Simple Notification Service](xray-services-sns.md): instrumentación pasiva. Si un publicador de Amazon SNS hace un rastreo de su cliente con el SDK de X-Ray, el suscriptor puede recuperar el encabezado de rastreo y seguir propagando el rastro original a partir del publicador con el mismo ID de rastro. 
+ [Amazon Simple Queue Service](xray-services-sqs.md): instrumentación pasiva. Si un servicio rastrea solicitudes utilizando el SDK de X-Ray, Amazon SQS podrá enviar el encabezado de rastreo y continuar propagando el rastro original entre el remitente y el consumidor con un ID de rastro coherente. 
+ [Amazon Bedrock AgentCore](xray-services-sqs.md): AgentCore admite el rastreo distribuido mediante la integración de X-Ray, lo que le permite realizar un seguimiento de las solicitudes a medida que fluyen por las solicitudes de sus agentes. Cuando habilita la observabilidad de sus AgentCore recursos, puede propagar el contexto del rastreo más allá de los límites de los servicios y obtener visibilidad del rendimiento de sus agentes y herramientas de IA. 

Elija uno de los siguientes temas para explorar el conjunto completo de temas integrados. Servicios de AWS

**Topics**
+ [Amazon Bedrock AgentCore y AWS X-Ray](xray-services-agentcore.md)
+ [Amazon Elastic Compute Cloud y AWS X-Ray](xray-services-ec2.md)
+ [Amazon SNS y AWS X-Ray](xray-services-sns.md)
+ [Amazon SQS y AWS X-Ray](xray-services-sqs.md)
+ [Amazon S3 y AWS X-Ray](xray-services-s3.md)
+ [AWS Distro para OpenTelemetry y AWS X-Ray](xray-services-adot.md)
+ [Rastreo de los cambios en la configuración de cifrado de X-Ray con AWS Config](xray-api-config.md)
+ [AWS AppSync y AWS X-Ray](xray-services-appsync.md)
+ [Compatibilidad de Amazon API Gateway con el rastreo activo para AWS X-Ray](xray-services-apigateway.md)
+ [Amazon EC2 y AWS App Mesh](xray-services-appmesh.md)
+ [AWS App Runner y X-Ray](xray-services-app-runner.md)
+ [Registro de llamadas a la API X-Ray con AWS CloudTrail](xray-api-cloudtrail.md)
+ [Integración con CloudWatch con X-Ray](xray-services-cloudwatch.md)
+ [AWS Elastic Beanstalk y AWS X-Ray](xray-services-beanstalk.md)
+ [Elastic Load Balancing y AWS X-Ray](xray-services-elb.md)
+ [Amazon EventBridge y AWS X-Ray](xray-services-eventbridge.md)
+ [AWS Lambda y AWS X-Ray](xray-services-lambda.md)
+ [AWS Step Functions y AWS X-Ray](xray-services-stepfunctions.md)

# Amazon Bedrock AgentCore y AWS X-Ray
<a name="xray-services-agentcore"></a>

Amazon Bedrock AgentCore se integra AWS X-Ray para proporcionar capacidades de rastreo distribuido a sus agentes y herramientas de IA. Esta integración le permite realizar un seguimiento de las solicitudes a medida que pasan por las aplicaciones de los agentes, lo que le ayuda a identificar los cuellos de botella de rendimiento y a solucionar problemas.

AgentCore admite el rastreo distribuido mediante la integración de X-Ray, lo que le permite supervisar el rendimiento de sus agentes y herramientas de IA. Cuando habilita la observabilidad de sus AgentCore recursos, puede propagar el contexto del rastreo más allá de los límites del servicio y obtener visibilidad de la forma en que sus agentes interactúan con otros servicios. AWS Para obtener más información, consulte [Amazon Bedrock AgentCore](https://docs.aws.amazon.com//bedrock-agentcore/latest/devguide/what-is-genesis.html). 

AgentCore admite las siguientes funciones de X-Ray:
+ Propagación del contexto del rastro a los servicios posteriores
+ Instrumentación personalizada mediante el SDK AWS Distro for OpenTelemetry (ADOT)

## Configuración de X-Ray con AgentCore
<a name="xray-services-agentcore-settingup"></a>

Para usar X-Ray con AgentCore, debes habilitar la búsqueda de CloudWatch transacciones en tu AWS cuenta. Se trata de una configuración única que permite AgentCore enviar datos de rastreo a X-Ray. Para obtener más información, consulte [Habilitación de Transaction Search](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Transaction-Search.html).

Para obtener más información sobre cómo configurar la observabilidad para AgentCore, consulte [Añadir observabilidad a su AgentCore agente o herramienta de Amazon Bedrock](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/observability-configure.html).

## Uso de encabezados de rastreo con AgentCore
<a name="xray-services-agentcore-trace"></a>

AgentCore admite el formato de cabecera de rastreo X-Ray para el rastreo distribuido. Puede incluir el `X-Amzn-Trace-Id` encabezado en sus solicitudes para AgentCore mantener el contexto del rastreo más allá de los límites del servicio.

# Amazon Elastic Compute Cloud y AWS X-Ray
<a name="xray-services-ec2"></a>

Puede instalar y ejecutar el daemon de X-Ray en una instancia de Amazon EC2 con un script de datos de usuario. Para obtener instrucciones, consulte [Ejecutar el daemon X-Ray en Amazon EC2](xray-daemon-ec2.md).

Utilice un perfil de instancia para conceder permiso al daemon para cargar datos de rastro en X-Ray. Para obtener más información, consulte [Permiso para el envío de datos a X-Ray desde el daemon](xray-daemon.md#xray-daemon-permissions).

# Amazon SNS y AWS X-Ray
<a name="xray-services-sns"></a>

Puede usar AWS X-Ray con Amazon Simple Notification Service (Amazon SNS) para rastrear y analizar las solicitudes a medida que recorren sus temas de SNS hasta sus [servicios de suscripción compatibles con SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-active-tracing.html). Utilice el rastreo de X-Ray con Amazon SNS para analizar las latencias de sus mensajes y sus servicios backend, por ejemplo, cuánto tiempo pasa una solicitud en un tema y cuánto tiempo ha tardado en enviar el mensaje a cada una de las suscripciones del tema. Amazon SNS solo admite rastreo de X-Ray para temas estándar y FIFO.

Si publica en un tema de Amazon SNS desde un servicio que ya está instrumentado con X-Ray, Amazon SNS pasa el contexto de rastro del publicador a los suscriptores. Además, puede activar el rastreo activo para enviar datos de segmentos sobre sus suscripciones de Amazon SNS a X-Ray para los mensajes publicados desde un cliente de SNS instrumentado. [Active el rastreo activo](https://docs.aws.amazon.com/sns/latest/dg/sns-active-tracing.html) para un tema de Amazon SNS a través de la consola de Amazon SNS o de la API o la CLI de Amazon SNS. Consulte [Instrumentación de su solicitud](xray-instrumenting-your-app.md) para obtener más información sobre cómo instrumentar sus clientes de SNS. 

## Configuración del rastreo activo de Amazon SNS
<a name="xray-services-sns-configuration"></a>

Puede utilizar la consola de Amazon SNS o la CLI o el SDK de AWS para configurar el rastreo activo de Amazon SNS. 

Al utilizar la consola de Amazon SNS, Amazon SNS intenta crear los permisos necesarios para que SNS llame a X-Ray. El intento puede rechazarse si el usuario no tiene los permisos suficientes para modificar las políticas de recursos de X-Ray. Para obtener más información sobre estos permisos consulte [Administración de identidades y accesos en Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-authentication-and-access-control.html) y [Ejemplos de casos de control de acceso con Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-access-policy-use-cases.html) en la Guía para desarrolladores de Amazon Simple Notification Service. Para obtener más información acerca de cómo activar el rastreo activo a través de la consola de Amazon SNS, consulte [Habilitar el rastreo activo en un tema de Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-active-tracing.html) en la Guía para desarrolladores de Amazon Simple Notification Service. 

Al utilizar la CLI o el SDK de AWS para activar el rastreo activo, debe configurar manualmente los permisos mediante políticas basadas en recursos. Use [https://docs.aws.amazon.com/xray/latest/api/API_PutResourcePolicy.html](https://docs.aws.amazon.com/xray/latest/api/API_PutResourcePolicy.html) para configurar X-Ray con la política basada en recursos necesaria para permitir que Amazon SNS envíe rastros a X-Ray. 

**Example Ejemplo de política basada en recursos de X-Ray para el rastreo activo de Amazon SNS**  
En este ejemplo de documento de política se especifican los permisos que Amazon SNS necesita para enviar datos de rastro a X-Ray:  

```
{
    Version: "2012-10-17",		 	 	 
    Statement: [
      {
        Sid: "SNSAccess",
        Effect: Allow,
        Principal: {
          Service: "sns.amazonaws.com",
        },
        Action: [
          "xray:PutTraceSegments",
          "xray:GetSamplingRules",
          "xray:GetSamplingTargets"
        ],
        Resource: "*",
        Condition: {
          StringEquals: {
            "aws:SourceAccount": "account-id"
          },
          StringLike: {
            "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name"
          }
        }
      }
    ]
  }
```
Utilice la CLI para crear una política basada en recursos que dé a Amazon SNS permisos para enviar datos de rastro a X-Ray:   

```
aws xray put-resource-policy --policy-name MyResourcePolicy --policy-document '{ "Version": "2012-10-17",		 	 	  "Statement": [ { "Sid": "SNSAccess", "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": [ "xray:PutTraceSegments", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "StringLike": { "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name" } } } ] }'
```
Para usar estos ejemplos, sustituya *`partition`*, *`region`*, *`account-id`* y *`topic-name`* por su partición de AWS, región, ID de cuenta y nombre de tema de Amazon SNS específicos. Para dar permiso a todos los temas de Amazon SNS para que envíen datos de rastro a X-Ray, sustituya el nombre del tema por `*`. 

## Visualización de rastros de publicadores y suscriptores de Amazon SNS en la consola de X-Ray
<a name="xray-services-sns-view-traces"></a>

Utilice la consola X-Ray para ver un mapa de rastros y los detalles de rastro que muestran una vista conectada de los publicadores y suscriptores de Amazon SNS. Cuando el rastreo activo de Amazon SNS está activado para un tema, el mapa de rastros y el mapa de detalles de rastro de X-Ray muestran los nodos conectados para los publicadores de Amazon SNS, el tema de Amazon SNS y los suscriptores posteriores: 

![\[Mapa de rastros con el publicador y el suscriptor de Amazon SNS\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/services-sns-activetracing-map.png)


Tras elegir un rastro que abarque a un publicador y un suscriptor de Amazon SNS, la página de detalles del rastro de X-Ray muestra un mapa de detalles de rastro y una escala de tiempo de segmentos. 

**Example Ejemplo de escala de tiempo con el publicador y el suscriptor de Amazon SNS**  
En este ejemplo se muestra una escala de tiempo que incluye a un publicador de Amazon SNS que envía un mensaje a un tema de Amazon SNS que es procesado por un suscriptor de Amazon SQS.   

![\[Escala de tiempo de segmentos con el publicador y el suscriptor de Amazon SNS\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/services-sns-activetracing-timeline.png)


El ejemplo de escala de tiempo anterior proporciona detalles sobre el flujo de mensajes de Amazon SNS: 
+ El segmento **SNS** representa la duración de ida y vuelta de la llamada a la API `Publish` desde el cliente.
+ El segmento **myTopic** representa la latencia de la respuesta de Amazon SNS a la solicitud de publicación.
+ El subsegmento **SQS** representa el tiempo de ida y vuelta que tarda Amazon SNS en publicar el mensaje en una cola de Amazon SQS.
+ El tiempo entre el segmento **MyTopic** y el subsegmento **SQS** representa el tiempo que el mensaje pasa en el sistema Amazon SNS.

**Example Ejemplo de escala de tiempo con mensajes de Amazon SNS por lotes**  
Si se agrupan varios mensajes de Amazon SNS en un solo lote de un rastro, la escala de tiempo de los segmentos muestra los segmentos que representan cada mensaje que se procesa.   

![\[Escala de tiempo de los mensajes por lotes de Amazon SNS\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/services-sns-activetracing-batch-timeline.png)


# Amazon SQS y AWS X-Ray
<a name="xray-services-sqs"></a>

AWS X-Ray se integra en Amazon Simple Queue Service (Amazon SQS) para rastrear mensajes que pasan por una cola de Amazon SQS. Si un servicio rastrea solicitudes utilizando el SDK de X-Ray, Amazon SQS podrá enviar el encabezado de rastreo y continuar propagando el rastro original entre el remitente y el consumidor con un ID de rastro coherente. Esta continuidad permite que los usuarios puedan rastrear, analizar y depurar en otros servicios posteriores.

AWS X-Ray admite el rastreo de aplicaciones basadas en eventos mediante Amazon SQS y AWS Lambda. Utilice la consola de CloudWatch para ver una vista conectada de cada solicitud a medida que se pone en cola con Amazon SQS y la procesa una función de Lambda posterior. Los rastros de los productores de mensajes anteriores se vinculan automáticamente a los rastros de los nodos de consumidor de Lambda posteriores, lo que crea una vista integral de toda la aplicación. Para obtener más información, consulte [Rastreo de aplicaciones basadas en eventos](xray-tracelinking.md). 

![\[Mapa de rastros desde Lambda hasta la cola de Amazon SQS.\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/console-batch-servicemap-linkededge.png)


Amazon SQS admite la siguiente instrumentación de encabezado de rastreo:
+ **Encabezado HTTP predeterminado**: el SDK de X-Ray rellena automáticamente el encabezado de rastro como encabezado HTTP cuando se llama a Amazon SQS a través del SDK de AWS. `X-Amzn-Trace-Id` lleva el encabezado de rastro predeterminado y se corresponde con todos los mensajes incluidos en una solicitud [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html) o [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html). Para obtener más información sobre el encabezado HTTP predeterminado, consulte [Encabezado de seguimiento](xray-concepts.md#xray-concepts-tracingheader).
+ **Atributo del sistema `AWSTraceHeader`**: `AWSTraceHeader` es un [atributo del sistema de mensajes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_MessageSystemAttributeValue.html) reservado por Amazon SQS para incluir el encabezado de rastro de X-Ray con los mensajes de la cola. `AWSTraceHeader` está disponible para su uso incluso cuando la instrumentación automática a través del SDK de X-Ray no lo está, por ejemplo, al crear un SDK de rastreo para un nuevo lenguaje. Cuando se establecen las instrumentaciones de los dos encabezados, el atributo del sistema de mensajes anula el encabezado de rastreo HTTP.

Cuando se ejecuta en Amazon EC2, Amazon SQS solo permite procesar un mensaje cada vez. Esto es aplicable tanto cuando se ejecuta un host en las instalaciones como cuando se utilizan servicios de contenedor, como AWS Fargate, Amazon ECS o AWS App Mesh. 

El encabezado de rastro no se incluye en las cuotas del tamaño de mensaje y de atributo del mensaje de Amazon SQS. Al habilitar el rastreo de X-Ray, no se superan las cuotas de Amazon SQS. Para obtener más información acerca de las cuotas de AWS, consulte [Cuotas de Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-limits.html).

## Enviar el encabezado de seguimiento HTTP
<a name="xray-services-sqs-sending"></a>

Los componentes del remitente de Amazon SQS pueden enviar automáticamente el encabezado de rastro utilizando una llamada a [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html) o a [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html). Cuando se instrumentan clientes del SDK de AWS, se puede realizar un seguimiento automático en todos los lenguajes en el SDK de X-Ray. Los recursos y Servicios de AWS rastreados a los que accede dentro de dichos servicios (por ejemplo, un bucket de Amazon S3 o una cola de Amazon SQS) aparecerán como nodos posteriores en el mapa de rastros en la consola de X-Ray.

Para obtener información acerca de cómo se rastrean las llamadas al SDK de AWS con su lenguaje preferido, consulte los siguientes temas en los SDK correspondientes:
+ Go – [Rastreo de llamadas AWS del SDK con el X-Ray SDK for Go](xray-sdk-go-awssdkclients.md)
+ Java: [Rastreo de llamadas al AWS SDK con el X-Ray SDK for Java](xray-sdk-java-awssdkclients.md)
+ Node.js – [Rastreo de llamadas al AWS SDK con el SDK de X-Ray para Node.js](xray-sdk-nodejs-awssdkclients.md)
+ Python – [Rastreo de llamadas al AWS SDK con el SDK de X-Ray para Python](xray-sdk-python-awssdkclients.md)
+ Ruby – [Rastreo de llamadas al AWS SDK con el SDK de X-Ray para Ruby](xray-sdk-ruby-awssdkclients.md)
+ .NET – [Rastreo de llamadas AWS del SDK con el X-Ray SDK para .NET](xray-sdk-dotnet-sdkclients.md)

## Recuperar el encabezado y el contexto de seguimiento
<a name="xray-services-sqs-retrieving"></a>

Si utiliza un consumidor posterior de Lambda, la propagación del contexto de rastro es automática. Para continuar la propagación del contexto con consumidores de Amazon SQS, debe instrumentar manualmente la entrega al componente receptor.

Hay tres pasos principales para recuperar el contexto de rastreo:
+ Recibir el mensaje de la cola del atributo `AWSTraceHeader` llamando a la API [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html).
+ Recuperar el encabezado de rastreo del atributo.
+ Recuperar el ID de rastreo del encabezado. Si lo desea, también puede añadir otras métricas al segmento.

A continuación se muestra un ejemplo de una implementación escrita con el SDK de X-Ray para Java.

**Example : Recuperar el encabezado y el contexto de seguimiento**  

```
// Receive the message from the queue, specifying the "AWSTraceHeader"
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest()
        .withQueueUrl(QUEUE_URL)
        .withAttributeNames("AWSTraceHeader");
List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages();

if (!messages.isEmpty()) {
    Message message = messages.get(0);
    
    // Retrieve the trace header from the AWSTraceHeader message system attribute
    String traceHeaderStr = message.getAttributes().get("AWSTraceHeader");
    if (traceHeaderStr != null) {
        TraceHeader traceHeader = TraceHeader.fromString(traceHeaderStr);

        // Recover the trace context from the trace header
        Segment segment = AWSXRay.getCurrentSegment();
        segment.setTraceId(traceHeader.getRootTraceId());
        segment.setParentId(traceHeader.getParentId());
        segment.setSampled(traceHeader.getSampled().equals(TraceHeader.SampleDecision.SAMPLED));
    }
}
```

# Amazon S3 y AWS X-Ray
<a name="xray-services-s3"></a>

AWS X-Ray se integra en Amazon S3 para rastrear las solicitudes previas para actualizar los buckets de S3 de la aplicación. Si un servicio rastrea las solicitudes mediante el SDK de X-Ray, Amazon S3 puede enviar los encabezados de rastreo a los suscriptores de eventos posteriores, como AWS Lambda, Amazon SQS y Amazon SNS. X-Ray permite rastrear mensajes para las notificaciones de eventos de Amazon S3.

Puede usar el mapa de rastros de X-Ray para ver las conexiones entre Amazon S3 y otros servicios que utiliza su aplicación. También puede utilizar la consola para ver métricas como la latencia media y las tasas de errores. Para obtener más información sobre la consola de X-Ray, consulte [Uso de la consola de X-Ray](aws-xray-interface-console.md#xray-console).

Amazon S3 admite la instrumentación de *encabezados HTTP predeterminados*. El SDK de X-Ray rellena automáticamente el encabezado de rastro como encabezado HTTP cuando se llama a Amazon S3 a través del SDK de AWS. `X-Amzn-Trace-Id` lleva el encabezado de rastro predeterminado. Para obtener más información sobre los encabezados de rastreo, consulte [Encabezado de seguimiento](xray-concepts.md#xray-concepts-tracingheader) en la página de conceptos. La propagación del contexto de rastro de Amazon S3 admite los siguientes suscriptores: Lambda, SQS y SNS. Como SQS y SNS no emiten datos de segmentos por sí mismos, no aparecerán en el rastro o mapa de rastros cuando S3 los active, aunque propagarán el encabezado de rastreo a los servicios posteriores.

## Configuración de notificaciones de eventos de Amazon S3
<a name="xray-services-s3-notification"></a>

La característica de notificaciones de Amazon S3 le permite recibir notificaciones cuando se producen ciertos eventos en su bucket. A continuación, estas notificaciones se pueden propagar a los siguientes destinos de la aplicación:
+ Amazon Simple Notification Service (Amazon SNS)
+ Amazon Simple Queue Service (Amazon SQS)
+ AWS Lambda

Para obtener una lista de los eventos compatibles, consulte los [tipos de eventos compatibles en la Guía para desarrolladores de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#supported-notification-event-types).

### Amazon SNS y Amazon SQS
<a name="xray-services-s3-notifications-snssqs"></a>

Debe conceder permisos a Amazon S3 a fin de publicar notificaciones en un tema de SNS o en una cola de SQS. Para conceder esos permisos debe adjuntar una política de AWS Identity and Access Management (IAM) al tema de SNS o a la cola de SQS de destino. Para obtener más información sobre las políticas de IAM necesarias, consulte [Conceder permisos para publicar mensajes en un tema de SNS o en una cola de SQS](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#grant-sns-sqs-permission-for-s3). 

Para obtener información sobre la integración de SNS y SQS en X-Ray, consulte [Amazon SNS y AWS X-Ray](xray-services-sns.md) y [Amazon SQS y AWS X-Ray](xray-services-sqs.md).

### AWS Lambda
<a name="xray-services-s3-notifications-lambda"></a>

Cuando utiliza la consola de Amazon S3 para configurar notificaciones de eventos en un bucket de S3 para una función de Lambda, la consola configura los permisos necesarios en la función de Lambda para que Amazon S3 tenga permisos para invocar la función en el bucket. Para obtener más información, consulte [¿Cómo puedo habilitar y configurar notificaciones de eventos para un bucket de S3?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/enable-event-notifications.html) en la Guía del usuario de la consola de Amazon Simple Storage Service.

También puede conceder permisos a Amazon S3 desde AWS Lambda para invocar su función de Lambda. Para obtener más información, consulte [Tutorial: Uso de un desencadenador de Amazon S3 para invocar una función de AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html) en la Guía para desarrolladores de AWS Lambda. 

Para obtener más información sobre la integración de Lambda en X-Ray, consulte [Instrumentación de código Java en AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/java-tracing.html).

# AWS Distro para OpenTelemetry y AWS X-Ray
<a name="xray-services-adot"></a>

Utilice AWS Distro para OpenTelemetry (ADOT) para recopilar y enviar métricas y rastros a AWS X-Ray y otras soluciones de supervisión, como Amazon CloudWatch, Amazon OpenSearch Service y Amazon Managed Service para Prometheus. 

## AWS Distro para OpenTelemetry
<a name="xray-services-adot-intro"></a>

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, Amazon OpenSearch Service y Amazon Managed Service para Prometheus.

ADOT se integra en un número cada vez mayor de Servicios de AWS para simplificar el envío de rastros y métricas a soluciones de supervisión como, por ejemplo, X-Ray. Algunos ejemplos de servicios integrados en ADOT: 
+ *AWS Lambda*: las capas Lambda administradas por AWS para ADOT permiten que el usuario empiece directamente, al instrumentar automáticamente una función de Lambda y empaquetar OpenTelemetry junto con una configuración lista para usar para AWS Lambda y X-Ray en una capa fácil de configurar. Los usuarios pueden habilitar y deshabilitar OpenTelemetry para su función de Lambda sin cambiar el código. Para obtener más información, consulte [AWS Distro para OpenTelemetry Lambda](https://aws-otel.github.io/docs/getting-started/lambda). 
+ *Amazon Elastic Container Service (ECS)*: recopile métricas y rastros de las aplicaciones de Amazon ECS mediante el AWS Distro para OpenTelemetry Collector, para enviarlos a X-Ray y a otras soluciones de supervisión. Para obtener más información, consulte [Collecting application trace data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/trace-data.html) en la Guía del desarrollador de Amazon ECS. 
+ *AWS App Runner*: App Runner admite el envío de rastros a X-Ray mediante AWS Distro para OpenTelemetry (ADOT). Utilice los SDK de ADOT para recopilar datos de rastro para sus aplicaciones en contenedores y utilice X-Ray para analizar y obtener información sobre su aplicación instrumentada. Para obtener más información, consulte [AWS App Runner and X-Ray](xray-services-app-runner.md). 

Para obtener más información sobre AWS Distro para OpenTelemetry, incluida la integración en otros Servicios de AWS, consulte la [documentación de AWS Distro para OpenTelemetry](https://aws-otel.github.io/docs/introduction). 

Para obtener más información sobre cómo instrumentar la aplicación con AWS Distro para OpenTelemetry y X-Ray, consulte [Instrumentación de su aplicación con AWS Distro para OpenTelemetry](xray-instrumenting-your-app.md#xray-instrumenting-opentel). 

# Rastreo de los cambios en la configuración de cifrado de X-Ray con AWS Config
<a name="xray-api-config"></a>

AWS X-Ray se integra en AWS Config para registrar cambios de configuración realizados en los recursos de cifrado de X-Ray. Puede utilizar AWS Config para realizar un inventario de recursos de cifrado de X-Ray, auditar el historial de configuración de X-Ray y enviar notificaciones basadas en los cambios de recursos.

AWS Config admite el registro de los siguientes cambios de recursos de cifrado de X-Ray como eventos:
+ **Cambios de configuración**: cambiar o añadir una clave de cifrado o volver a la configuración de cifrado de X-Ray predeterminada.

Utilice las siguientes instrucciones para obtener información sobre cómo crear una conexión básica entre X-Ray y AWS Config. 

## Creación de un disparador de función de Lambda
<a name="LambdaFunctionTrigger"></a>

Debe tener el ARN de una función de AWS Lambda personalizada antes de poder generar una regla de AWS Config personalizada. Siga estas instrucciones para crear una función básica con Node.js que devuelve un valor conforme o no conforme de vuelta a AWS Config en función del estado del recurso `XrayEncryptionConfig`.

**Para crear una función de Lambda con un disparador de cambio AWS::XrayEncryptionConfig**

1. Abra la [consola de Lambda](https://console.aws.amazon.com/lambda/home). Seleccione **Creación de función**.

1. Elija **Blueprints (Proyectos)** y, a continuación, filtre la biblioteca de proyectos para el proyecto **config-rule-change-triggered**. Haga clic en el nombre del proyecto o bien elija **Configure (Configurar)** para continuar.

1. Defina los siguientes campos para configurar el proyecto:
   + En **Name (Nombre)**, escriba un nombre.
   + Para **Role (Rol)**, elija **Create new role from template(s) (Crear un rol nuevo a partir de las plantillas)**.
   + Para **Role name (Nombre del rol)**, escriba un nombre.
   + Para **Policy templates (Plantillas de política)**, elija **AWS Config Rules permissions (Permisos de reglas de &CC;)**.

1. Elija **Create function (Crear función)** para crear y visualizar su función en la consola de AWS Lambda.

1. Edite el código de la función para reemplazar `AWS::EC2::Instance` por `AWS::XrayEncryptionConfig`. También puede actualizar el campo de descripción para reflejar este cambio.

   **Código predeterminado**

   ```
       if (configurationItem.resourceType !== 'AWS::EC2::Instance') {
           return 'NOT_APPLICABLE';
       } else if (ruleParameters.desiredInstanceType === configurationItem.configuration.instanceType) {
           return 'COMPLIANT';
       }
           return 'NON_COMPLIANT';
   ```

   **Código actualizado**

   ```
       if (configurationItem.resourceType !== 'AWS::XRay::EncryptionConfig') {
           return 'NOT_APPLICABLE';
       } else if (ruleParameters.desiredInstanceType === configurationItem.configuration.instanceType) {
           return 'COMPLIANT';
       }
           return 'NON_COMPLIANT';
   ```

1. Añada lo siguiente a su rol de ejecución en IAM para acceso a X-Ray. Estos permisos permiten acceso de solo lectura a sus recursos de X-Ray. Si no se proporciona acceso a los recursos apropiados se producirá un mensaje de fuera de ámbito desde AWS Config cuando se evalúa la función de Lambda asociada a la regla.

   ```
       {
           "Sid": "Stmt1529350291539",
           "Action": [
               "xray:GetEncryptionConfig"
           ],
           "Effect": "Allow",
           "Resource": "*"
        }
   ```

## Creación de una regla de AWS Config personalizada para X-Ray
<a name="ConfigRule"></a>

Cuando se crea la función de Lambda, anote el ARN de la función y vaya a la consola de AWS Config para crear la regla personalizada. 

**Para crear una regla de AWS Config para X-Ray**

1. Abra la página [**Reglas** de la consola de AWS Config](https://console.aws.amazon.com/config/home#/rules/view).

1. Elija **Add rule (Añadir una regla)** y, a continuación, elija **Add custom rule (Añadir una regla personalizada)**.

1. En **ARN de la función de AWS Lambda**, inserte el ARN asociado a la función de Lambda que desea utilizar.

1. Elija el tipo de disparador que desea establecer:
   + **Cambios de configuración**: AWS Config dispara la evaluación cuando cambia la configuración de un recurso que coincida con el ámbito de regla. La evaluación se realiza después de que AWS Config envía una notificación sobre un cambio de elementos de configuración.
   + **Periódica**: AWS Config ejecuta las evaluaciones de la regla con la frecuencia que se elija (por ejemplo, cada 24 horas).

1. Para **Tipo de recurso**, elija **EncryptionConfig** en la sección X-Ray.

1. Elija ****Guardar****.

La consola de AWS Config comienza a evaluar la conformidad de la regla de forma inmediata. La evaluación puede tardar varios minutos en completarse.

Ahora que esta regla es compatible, AWS Config puede empezar a compilar un historial de auditoría. AWS Config registra los cambios de recursos en forma de escala de tiempo. Para cada cambio en la escala de tiempo de eventos, AWS Config genera una tabla en formato de/a para mostrar lo que ha cambiado en la representación JSON de la clave de cifrado. Los dos cambios de campo asociados a EncryptionConfig son `Configuration.type` y `Configuration.keyID`.

## Resultados de ejemplo
<a name="Examples"></a>

A continuación, se muestra un ejemplo de una escala de tiempo de AWS Config que muestra los cambios realizados en fechas y horas concretas.

![\[Escala de tiempo de AWS Config\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/ConfigTimeline.png)


A continuación, se muestra un ejemplo de una entrada de cambio de AWS Config. El formato de/a ilustra lo que ha cambiado. En este ejemplo se muestra que la configuración de cifrado de X-Ray predeterminada se cambió a una clave de cifrado definida.

![\[Entrada de cambio de configuración de cifrado de X-Ray\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/ConfigChanges.png)


## Notificaciones de Amazon SNS
<a name="SNSNotifs"></a>

Para recibir una notificación de los cambios de configuración, establezca que AWS Config publique las notificaciones de Amazon SNS. Para obtener más información, consulte [Monitorización de cambios de recursos de AWS Config por correo electrónico](https://docs.aws.amazon.com/config/latest/developerguide/monitoring-resource-changes-by-email.html).

# AWS AppSync y AWS X-Ray
<a name="xray-services-appsync"></a>

Puede habilitar y rastrear solicitudes para AWS AppSync. Para obtener más información e instrucciones, consulte [Rastreo con AWS X-Ray](https://docs.aws.amazon.com/appsync/latest/devguide/x-ray-tracing.html).

Cuando el seguimiento de X-Ray está habilitado para una API de AWS AppSync, se crea automáticamente un [rol vinculado al servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html) de AWS Identity and Access Management en su cuenta con los permisos correspondientes. Esto permite a AWS AppSync enviar registros de seguimiento a X-Ray de una manera segura.

# Compatibilidad de Amazon API Gateway con el rastreo activo para AWS X-Ray
<a name="xray-services-apigateway"></a>

Puede utilizar X-Ray para rastrear y analizar las solicitudes de los usuarios a medida que viajan a través de las API de Amazon API Gateway a los servicios subyacentes. API Gateway admite el rastreo de X-Ray para todos los tipos de punto de conexión de API Gateway: regional, optimizado para bordes y privado. Puede utilizar X-Ray con Amazon API Gateway en todas las Regiones de AWS donde X-Ray esté disponible. Para obtener más información, consulte [Rastro de la ejecución de API de API Gateway conAWS X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) en la Guía para desarrolladores de Amazon API Gateway.

**nota**  
X-Ray solo admite el rastreo de las API de REST a través de API Gateway.

Amazon API Gateway admite el [rastreo activo](xray-services.md) para AWS X-Ray. Habilite el rastreo activo en sus etapas de la API para realizar el muestreo de solicitudes entrantes y enviar rastros a X-Ray.

**Para habilitar el rastreo activo en una etapa de la API**

1. Abra la consola de API Gateway en [https://console.aws.amazon.com/apigateway/](https://console.aws.amazon.com/apigateway/). 

1. Elegir una API.

1. Elegir una etapa.

1. En la pestaña **Registros/Rastreo**, elija **Habilitar el rastreo de X-Ray** y, a continuación, seleccione **Guardar cambios**.

1. Seleccione **Resources (Recursos)** en el panel de navegación del lado izquierdo.

1. Para volver a implementar la API con la nueva configuración, abra el menú desplegable **Acciones** y, a continuación, elija **Implementar API**.

API Gateway utiliza reglas de muestreo que define en la consola de X-Ray para determinar qué solicitudes registrar. Puede crear reglas que solo se apliquen a las API o que solo se apliquen a las solicitudes que contengan determinados encabezados. API Gateway registra los encabezados en atributos del segmento, junto con detalles sobre la etapa y la solicitud. Para obtener más información, consulte [Configuración de reglas de muestreo de](xray-console-sampling.md).

**nota**  
Al rastrear las API de REST con la [integración HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/setup-http-integrations.html) de API Gateway, el nombre de servicio de cada segmento se establece en la ruta URL de la solicitud desde API Gateway hasta el punto de conexión de la integración HTTP, lo que da como resultado un nodo de servicio en el mapa de rastros de X-Ray para cada ruta URL única. Un gran número de rutas URL puede hacer que el mapa de rastros sobrepase el límite de 10 000 nodos y provocar un error.  
Para minimizar la cantidad de nodos de servicio creados por API Gateway, considere la posibilidad de pasar los parámetros dentro de la cadena de consulta de URL o en el cuerpo de la solicitud mediante POST. Cualquiera de los dos enfoques garantizará que los parámetros no formen parte de la ruta URL, lo que puede dar lugar a un menor número de rutas URL y nodos de servicio distintos. 

Para todas las solicitudes entrantes, API Gateway añade un [encabezado de rastreo](xray-concepts.md#xray-concepts-tracingheader) a las solicitudes HTTP entrantes que no tengan ya uno.

```
X-Amzn-Trace-Id: Root=1-5759e988-bd862e3fe1be46a994272793
```

**Formato de ID de rastro de X-Ray**

Un `trace_id` de X-Ray consta de tres números separados por guiones. Por ejemplo, `1-58406520-a006649127e371903a2de979`. Esto incluye:
+ El número de versión, que es `1`.
+ La hora en que se realizó la solicitud original, en formato de tiempo Unix, en **8 dígitos hexadecimales**.

  Por ejemplo, las 10:00 del 1 de diciembre de 2016, PST en formato de tiempo Unix es `1480615200` segundos o `58406520` en formato hexadecimal.
+ Un identificador 96 bits del rastro, único a nivel global, en **24 dígitos hexadecimales**.

Si el rastreo activo está deshabilitado, la fase sigue registrando un segmento si la solicitud procede de un servicio que ha muestreado la solicitud e iniciado un rastreo. Por ejemplo, una aplicación web instrumentada puede llamar a una API de API Gateway con un cliente HTTP. Cuando instrumente un cliente HTTP con el SDK de X-Ray, este agrega un encabezado de rastreo a la solicitud saliente que contiene la decisión de muestreo. API Gateway lee el encabezado de rastreo y crea un segmento para las solicitudes muestreadas.

Si utiliza API Gateway para [generar un SDK de Java para la API](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-generate-sdk.html), puede instrumentar el cliente del SDK agregando un controlador de solicitudes con el compilador de clientes del mismo modo que instrumentaría manualmente un cliente del SDK de AWS. Para obtener instrucciones, consulte [Rastreo de llamadas al AWS SDK con el X-Ray SDK for Java](xray-sdk-java-awssdkclients.md).

# Amazon EC2 y AWS App Mesh
<a name="xray-services-appmesh"></a>

AWS X-Ray se integra en [AWS App Mesh](https://docs.aws.amazon.com/app-mesh/latest/userguide/what-is-app-mesh.html) para administrar los proxies de Envoy para microservicios. App Mesh proporciona una versión de Envoy que puede configurar para enviar datos de rastro al daemon de X-Ray que se ejecute en un contenedor de la misma tarea o pod. X-Ray admite el rastreo con los siguientes servicios compatibles con App Mesh: 
+ Amazon Elastic Container Service (Amazon ECS)
+ Amazon Elastic Kubernetes Service (Amazon EKS)
+ Amazon Elastic Compute Cloud (Amazon EC2)

Utilice las instrucciones siguientes para aprender a habilitar el seguimiento de X-Ray a través de App Mesh.

![\[Un mapa de rastros que muestra los rastros entre los clientes y los servicios de App Mesh.\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/appmesh-traceContents.png)


Para configurar el proxy de Envoy para enviar datos a X-Ray, establezca la [variable de entorno](https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html#envoy-config) `ENABLE_ENVOY_XRAY_TRACING` en su definición de contenedor.

**nota**  
Actualmente la versión App Mesh de Envoy no envía rastros según las [reglas de muestreo](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-sampling.html) configuradas. En su lugar, utiliza un porcentaje de muestreo fijo del 5 % para la versión 1.16.3 o posterior de Envoy, o un porcentaje de muestreo del 50 % para las versiones de Envoy anteriores a la 1.16.3. 

**Example Definición del contenedor de Envoy para Amazon ECS**  

```
{
      "name": "envoy",
      "image": "public.ecr.aws/appmesh/aws-appmesh-envoy:envoy-version",
      "essential": true,
      "environment": [
        {
          "name": "APPMESH_VIRTUAL_NODE_NAME",
          "value": "mesh/myMesh/virtualNode/myNode"
        },
        {
          "name": "ENABLE_ENVOY_XRAY_TRACING",
          "value": "1"
        }
      ],
      "healthCheck": {
        "command": [
          "CMD-SHELL",
          "curl -s http://localhost:9901/server_info | cut -d' ' -f3 | grep -q live"
        ],
        "startPeriod": 10,
        "interval": 5,
        "timeout": 2,
        "retries": 3
      }
```

**nota**  
Para obtener más información sobre las direcciones de región de Envoy disponibles, consulte [Imagen de Envoy](https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html) en la Guía del usuario de AWS App Mesh.

Para obtener más información sobre la ejecución del daemon de X-Ray en un contenedor, consulte [Ejecución del daemon de X-Ray en Amazon ECS](xray-daemon-ecs.md). Para ver una aplicación de ejemplo que contiene una malla de servicios, un microservicio, un proxy de Envoy y un daemon de X-Ray, implemente el ejemplo `colorapp` del [repositorio de GitHub de ejemplos de App Mesh](https://github.com/aws/aws-app-mesh-examples/tree/master/examples).

**Más información**
+ [Introducción a AWS App Mesh](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting_started.html)
+ [Introducción a AWS App Mesh y Amazon ECS](https://docs.aws.amazon.com/app-mesh/latest/userguide/mesh-getting-started-ecs.html)

# AWS App Runner y X-Ray
<a name="xray-services-app-runner"></a>

 AWS App Runner es un Servicio de AWS que proporciona una forma rápida, sencilla y rentable de implementar desde el código fuente o una imagen de contenedor directamente hacia una aplicación web escalable y segura en la Nube de AWS. No es necesario aprender nuevas tecnologías, decidir qué servicio informático utilizar o saber cómo aprovisionar y configurar los recursos de AWS. Consulte [¿Qué es AWS App Runner?](https://docs.aws.amazon.com/apprunner/latest/dg/what-is-apprunner.html) para obtener más información. 

 AWS App Runner envía las rastros a X-Ray integrándose en [AWS Distro para OpenTelemetry](xray-services-adot.md) (ADOT). Utilice los SDK de ADOT para recopilar datos de rastro para sus aplicaciones en contenedores y utilice X-Ray para analizar y obtener información sobre su aplicación instrumentada. Para obtener más información, consulte [Tracing for your App Runner application with X-Ray](https://docs.aws.amazon.com/apprunner/latest/dg/monitor-xray.html). 

# Registro de llamadas a la API X-Ray con AWS CloudTrail
<a name="xray-api-cloudtrail"></a>

AWS X-Ray está integrado con [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)un servicio que proporciona un registro de las acciones realizadas por un usuario, rol o un Servicio de AWS. CloudTrail captura todas las llamadas a la API de X-Ray como eventos. Las llamadas capturadas incluyen las que se efectúan desde la consola de X-Ray y las llamadas desde el código a las operaciones de la API de X-Ray. Con la información recopilada por CloudTrail, puede determinar la solicitud que se realizó a X-Ray, la dirección IP desde la que se realizó la solicitud, cuándo se realizó y detalles adicionales.

Cada entrada de registro o evento contiene información sobre quién generó la solicitud. La información de identidad del usuario le ayuda a determinar lo siguiente:
+ Si la solicitud se realizó con las credenciales del usuario raíz o del usuario.
+ Si la solicitud se realizó en nombre de un usuario de IAM Identity Center.
+ Si la solicitud se realizó con credenciales de seguridad temporales de un rol o fue un usuario federado.
+ Si la solicitud la realizó otro Servicio de AWS.

CloudTrail está activa en tu cuenta Cuenta de AWS al crear la cuenta y automáticamente tienes acceso al **historial de CloudTrail eventos**. El **historial de CloudTrail eventos** proporciona un registro visible, consultable, descargable e inmutable de los últimos 90 días de eventos de gestión registrados en un. Región de AWS*Para obtener más información, consulte [Uso del historial de CloudTrail eventos en la Guía del usuario](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html).AWS CloudTrail * La visualización del **historial de eventos** no conlleva ningún CloudTrail cargo.

Para tener un registro continuo de los eventos de Cuenta de AWS los últimos 90 días, crea un almacén de datos de eventos de senderos o [CloudTraillagos](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html).

**CloudTrail senderos**  
Un *rastro* permite CloudTrail entregar archivos de registro a un bucket de Amazon S3. Todos los senderos creados con él Consola de administración de AWS son multirregionales. Puede crear un registro de seguimiento de una sola región o multirregionales mediante la AWS CLI. Se recomienda crear un sendero multirregional, ya que puedes capturar toda la actividad de tu Regiones de AWS cuenta. Si crea un registro de seguimiento de una sola región, solo podrá ver los eventos registrados en la Región de AWS del registro de seguimiento. Para obtener más información acerca de los registros de seguimiento, consulte [Creación de un registro de seguimiento para su Cuenta de AWS](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html) y [Creación de un registro de seguimiento para una organización](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-trail-organization.html) en la *Guía del usuario de AWS CloudTrail *.  
Puede enviar una copia de sus eventos de administración en curso a su bucket de Amazon S3 sin coste alguno CloudTrail mediante la creación de una ruta; sin embargo, hay cargos por almacenamiento en Amazon S3. Para obtener más información sobre CloudTrail los precios, consulte [AWS CloudTrail Precios](https://aws.amazon.com/cloudtrail/pricing/). Para obtener información acerca de los precios de Amazon S3, consulte [Precios de Amazon S3](https://aws.amazon.com/s3/pricing/).

**CloudTrail Almacenes de datos de eventos en Lake**  
*CloudTrail Lake* le permite ejecutar consultas basadas en SQL en sus eventos. CloudTrail Lake convierte los eventos existentes en formato JSON basado en filas al formato [Apache](https://orc.apache.org/) ORC. ORC es un formato de almacenamiento en columnas optimizado para una recuperación rápida de datos. Los eventos se agregan en *almacenes de datos de eventos*, que son recopilaciones inmutables de eventos en función de criterios que se seleccionan aplicando [selectores de eventos avanzados](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-concepts.html#adv-event-selectors). Los selectores que se aplican a un almacén de datos de eventos controlan los eventos que perduran y están disponibles para la consulta. Para obtener más información sobre CloudTrail Lake, consulte Cómo [trabajar con AWS CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html) en la Guía del *AWS CloudTrail usuario*.  
CloudTrail Los almacenes de datos y las consultas sobre eventos de Lake conllevan costes. Cuando crea un almacén de datos de eventos, debe elegir la [opción de precios](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-manage-costs.html#cloudtrail-lake-manage-costs-pricing-option) que desee utilizar para él. La opción de precios determina el costo de la incorporación y el almacenamiento de los eventos, así como el período de retención predeterminado y máximo del almacén de datos de eventos. Para obtener más información sobre CloudTrail los precios, consulte [AWS CloudTrail Precios](https://aws.amazon.com/cloudtrail/pricing/).

**Topics**
+ [Eventos de gestión de rayos X en CloudTrail](#xray-api-cloudtrail-mgmt)
+ [Eventos de datos de rayos X en CloudTrail](#cloudtrail-data-events)
+ [Ejemplos de eventos de X-Ray](#xray-cloudtrail-examples)

## Eventos de gestión de rayos X en CloudTrail
<a name="xray-api-cloudtrail-mgmt"></a>

AWS X-Ray se integra AWS CloudTrail para registrar las acciones de la API realizadas por un usuario, un rol o un usuario Servicio de AWS en X-Ray. Se puede utilizar CloudTrail para supervisar las solicitudes de la API X-Ray en tiempo real y almacenar registros en Amazon S3, Amazon CloudWatch Logs y Amazon CloudWatch Events. X-Ray admite el registro de las siguientes acciones como eventos en los archivos de CloudTrail registro:

**Acciones de la API admitidas**
+ [https://docs.aws.amazon.com/xray/latest/api/API_PutEncryptionConfig.html](https://docs.aws.amazon.com/xray/latest/api/API_PutEncryptionConfig.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetEncryptionConfig.html](https://docs.aws.amazon.com/xray/latest/api/API_GetEncryptionConfig.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_CreateGroup.html](https://docs.aws.amazon.com/xray/latest/api/API_CreateGroup.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_UpdateGroup.html](https://docs.aws.amazon.com/xray/latest/api/API_UpdateGroup.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_DeleteGroup.html](https://docs.aws.amazon.com/xray/latest/api/API_DeleteGroup.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetGroup.html](https://docs.aws.amazon.com/xray/latest/api/API_GetGroup.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetGroups.html](https://docs.aws.amazon.com/xray/latest/api/API_GetGroups.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetInsight.html](https://docs.aws.amazon.com/xray/latest/api/API_GetInsight.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetInsightEvents.html](https://docs.aws.amazon.com/xray/latest/api/API_GetInsightEvents.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetInsightImpactGraph.html](https://docs.aws.amazon.com/xray/latest/api/API_GetInsightImpactGraph.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetInsightSummaries.html](https://docs.aws.amazon.com/xray/latest/api/API_GetInsightSummaries.html)
+ [https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingStatisticSummaries.html](https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingStatisticSummaries.html)

## Eventos de datos de rayos X en CloudTrail
<a name="cloudtrail-data-events"></a>

[Los eventos de datos](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events) proporcionan información sobre las operaciones de recursos efectuadas en o dentro de un recurso (por ejemplo, [https://docs.aws.amazon.com/xray/latest/api/API_PutTraceSegments.html](https://docs.aws.amazon.com/xray/latest/api/API_PutTraceSegments.html), que carga documentos segmentados a X-Ray).

Se denominan también operaciones del plano de datos. Los eventos de datos suelen ser actividades de gran volumen. De forma predeterminada, CloudTrail no registra los eventos de datos. El **historial de CloudTrail eventos** no registra los eventos de datos.

Se aplican cargos adicionales a los eventos de datos. Para obtener más información sobre CloudTrail los precios, consulta [AWS CloudTrail Precios](https://aws.amazon.com/cloudtrail/pricing/).

Puede registrar eventos de datos para los tipos de recursos de X-Ray mediante la CloudTrail consola o las operaciones de la CloudTrail API. AWS CLI Para obtener más información sobre cómo registrar los eventos de datos, consulte [Registro de eventos de datos con la Consola de administración de AWS](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-console) y [Registro de eventos de datos con la AWS Command Line Interface](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-with-the-AWS-CLI) en la *Guía del usuario de AWS CloudTrail *.

En la siguiente tabla se muestran los tipos de recursos de X-Ray para los que puede registrar eventos de datos. La columna **Tipo de evento de datos (consola)** muestra el valor que se puede elegir en la lista de **tipos de eventos de datos** de la CloudTrail consola. La columna de **valores resources.type** muestra el `resources.type` valor, que se especificaría al configurar los selectores de eventos avanzados mediante o. AWS CLI CloudTrail APIs La CloudTrail columna **Datos APIs registrados muestra las llamadas a** la API registradas CloudTrail para el tipo de recurso. 


| Tipo de evento de datos (consola) | resources.type value | Datos APIs registrados en CloudTrail | 
| --- | --- | --- | 
| Rastros de X-Ray |  AWS::XRay::Trace  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/xray-api-cloudtrail.html)  | 

Puede configurar selectores de eventos avanzados para filtrar según los campos `eventName` y `readOnly` y así registrar solo los eventos que son importantes para usted. Sin embargo, no puede seleccionar eventos añadiendo el selector de `resources.ARN` campos, ya que las trazas de X-Ray no lo tienen ARNs. Para obtener más información acerca de estos campos, consulte [https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html) en la *Referencia de la API de AWS CloudTrail *. A continuación se muestra un ejemplo de cómo ejecutar el [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/put-event-selectors.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/put-event-selectors.html) AWS CLI comando para registrar los eventos de datos en una CloudTrail ruta. Debe ejecutar el comando en la región en la que se creó el registro o especificarlo; de lo contrario, la operación devolverá una excepción `InvalidHomeRegionException`.

```
aws cloudtrail put-event-selectors --trail-name myTrail --advanced-event-selectors \
'{
   "AdvancedEventSelectors": [ 
      {
         "FieldSelectors": [
            { "Field": "eventCategory", "Equals": ["Data"] },
            { "Field": "resources.type", "Equals": ["AWS::XRay::Trace"] },
            { "Field": "eventName", "Equals": ["PutTraceSegments","GetSamplingTargets"] }
         ],
         "Name": "Log X-Ray PutTraceSegments and GetSamplingTargets data events"
      }
   ]
}'
```

## Ejemplos de eventos de X-Ray
<a name="xray-cloudtrail-examples"></a>

### Ejemplos de eventos de administración, `GetEncryptionConfig`
<a name="xray-example-management"></a>

El siguiente es un ejemplo de la entrada del GetEncryptionConfig registro de X-Ray en CloudTrail.

**Example**  

```
{
    "eventVersion"=>"1.05",
    "userIdentity"=>{
        "type"=>"AssumedRole",
        "principalId"=>"AROAJVHBZWD3DN6CI2MHM:MyName",
        "arn"=>"arn:aws:sts::123456789012:assumed-role/MyRole/MyName",
        "accountId"=>"123456789012",
        "accessKeyId"=>"AKIAIOSFODNN7EXAMPLE",
        "sessionContext"=>{
            "attributes"=>{
                "mfaAuthenticated"=>"false",
                "creationDate"=>"2023-7-01T00:24:36Z"
            },
            "sessionIssuer"=>{
                "type"=>"Role",
                "principalId"=>"AROAJVHBZWD3DN6CI2MHM",
                "arn"=>"arn:aws:iam::123456789012:role/MyRole",
                "accountId"=>"123456789012",
                "userName"=>"MyRole"
            }
        }
    },
    "eventTime"=>"2023-7-01T00:24:36Z",
    "eventSource"=>"xray.amazonaws.com",
    "eventName"=>"GetEncryptionConfig",
    "awsRegion"=>"us-east-2",
    "sourceIPAddress"=>"33.255.33.255",
    "userAgent"=>"aws-sdk-ruby2/2.11.19 ruby/2.3.1 x86_64-linux",
    "requestParameters"=>nil,
    "responseElements"=>nil,
    "requestID"=>"3fda699a-32e7-4c20-37af-edc2be5acbdb",
    "eventID"=>"039c3d45-6baa-11e3-2f3e-e5a036343c9f",
    "eventType"=>"AwsApiCall",
    "recipientAccountId"=>"123456789012"
}
```

### Ejemplos de eventos de datos, `PutTraceSegments`
<a name="xray-example-data"></a>

El siguiente es un ejemplo de la entrada del registro de eventos de PutTraceSegments datos de X-Ray en CloudTrail.

**Example**  

```
{
  "eventVersion": "1.09",
  "userIdentity": {
    "type": "AssumedRole",
    "principalId": "AROAWYXPW54Y4NEXAMPLE:i-0dzz2ac111c83zz0z",
    "arn": "arn:aws:sts::012345678910:assumed-role/my-service-role/i-0dzz2ac111c83zz0z",
    "accountId": "012345678910",
    "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "sessionContext": {
      "sessionIssuer": {
        "type": "Role",
        "principalId": "AROAWYXPW54Y4NEXAMPLE",
        "arn": "arn:aws:iam::012345678910:role/service-role/my-service-role",
        "accountId": "012345678910",
        "userName": "my-service-role"
      },
      "attributes": {
        "creationDate": "2024-01-22T17:34:11Z",
        "mfaAuthenticated": "false"
      },
      "ec2RoleDelivery": "2.0"
    }
  },
  "eventTime": "2024-01-22T18:22:05Z",
  "eventSource": "xray.amazonaws.com",
  "eventName": "PutTraceSegments",
  "awsRegion": "us-west-2",
  "sourceIPAddress": "198.51.100.0",
  "userAgent": "aws-sdk-ruby3/3.190.0 md/internal ua/2.0 api/xray#1.0.0 os/linux md/x86_64 lang/ruby#2.7.8 md/2.7.8 cfg/retry-mode#legacy",
  "requestParameters": {
    "traceSegmentDocuments": [
      "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0000",
      "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0000",
      "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0001",
      "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0002"
    ]
  },
  "responseElements": {
    "unprocessedTraceSegments": []
  },
  "requestID": "5zzzzz64-acbd-46ff-z544-451a3ebcb2f8",
  "eventID": "4zz51z7z-77f9-44zz-9bd7-6c8327740f2e",
  "readOnly": false,
  "resources": [
    {
      "type": "AWS::XRay::Trace"
    }
  ],
  "eventType": "AwsApiCall",
  "managementEvent": false,
  "recipientAccountId": "012345678910",
  "eventCategory": "Data",
  "tlsDetails": {
    "tlsVersion": "TLSv1.2",
    "cipherSuite": "ZZZZZ-RSA-AAA128-GCM-SHA256",
    "clientProvidedHostHeader": "example.us-west-2.xray.cloudwatch.aws.dev"
  }
}
```

# Integración con CloudWatch con X-Ray
<a name="xray-services-cloudwatch"></a>

AWS X-Ray se integra en [CloudWatch Application Signals](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html), CloudWatch RUM y CloudWatch Synthetics para facilitar la supervisión del estado de sus aplicaciones. Habilite su aplicación de Application Signals para que supervise y solucione problemas del estado operativo de sus servicios, páginas de clientes, canarios de Synthetics y dependencias de los servicios.

Al correlacionar las métricas de CloudWatch, los registros y los rastros de X-Ray, el mapa de rastros de X-Ray proporciona una visión integral de sus servicios a fin de ayudarle a detallar rápidamente los cuellos de botella de rendimiento e identificar a los usuarios afectados.

Con CloudWatch RUM, puede realizar una supervisión de usuarios reales para recopilar y ver datos del lado del cliente sobre el rendimiento de su aplicación web desde las sesiones de usuarios reales, casi en tiempo real. Con AWS X-Ray y CloudWatch RUM, puede analizar y depurar la ruta de solicitud empezando por los usuarios finales de su aplicación y pasando por los servicios administrados de AWS posteriores. Eso le ayuda a identificar las tendencias de latencia y los errores que afectan a sus usuarios finales. 

**Topics**
+ [CloudWatch RUM y AWS X-Ray](xray-services-RUM.md)
+ [Depuración de CloudWatch canarios sintéticos mediante X-Ray](xray-services-cloudwatch-synthetics.md)

# CloudWatch RUM y AWS X-Ray
<a name="xray-services-RUM"></a>

Con Amazon CloudWatch RUM, puede realizar una supervisión de usuarios reales para recopilar y ver datos del lado del cliente sobre el rendimiento de su aplicación web desde sesiones de usuarios reales, casi en tiempo real. Con AWS X-Ray y CloudWatch RUM, puede analizar y depurar la ruta de solicitud empezando por los usuarios finales de su aplicación y pasando por los servicios administrados de AWS posteriores. Eso le ayuda a identificar las tendencias de latencia y los errores que afectan a sus usuarios finales. 

Una vez activado el rastreo de las sesiones de los usuarios con X-Ray, CloudWatch RUM añade un encabezado de rastro de X-Ray a las solicitudes HTTP permitidas y graba un segmento de X-Ray para las solicitudes HTTP permitidas. A continuación, podrá ver los rastros y segmentos de estas sesiones de usuario en las consolas de X-Ray y CloudWatch, incluido el mapa de rastros de X-Ray. 

**nota**  
CloudWatch RUM no se integra en reglas de muestreo de X-Ray. En su lugar, elija un porcentaje de muestreo al configurar la aplicación para que utilice CloudWatch RUM. Los rastros enviados desde CloudWatch RUM pueden conllevar costes adicionales. Para más información, consulte [Precios de AWS X-Ray](https://aws.amazon.com/xray/pricing/). 

Los rastros del lado del cliente enviados desde CloudWatch RUM no están conectados a rastros del lado del servidor de forma predeterminada. Para conectar rastros del lado del cliente con rastros del lado del servidor, configure el cliente web de CloudWatch RUM para agregar un encabezado de rastro de X-Ray a estas solicitudes HTTP. 

**aviso**  
La configuración del cliente web de CloudWatch RUM para agregar un encabezado de rastro de X-Ray a las solicitudes HTTP puede ocasionar que el uso compartido de recursos de origen cruzado (CORS) falle. Para evitarlo, añada el encabezado HTTP `X-Amzn-Trace-Id` a la lista de encabezados permitidos en la configuración CORS del servicio posterior. Si utiliza API Gateway como servicio posterior, consulte [Habilitar CORS para un recurso de API de REST](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html). Le recomendamos ampliamente que pruebe la aplicación antes de agregar un encabezado de seguimiento de X-Ray del lado del cliente en un entorno de producción. Para obtener más información, consulte la [documentación del cliente web de CloudWatch RUM](https://github.com/aws-observability/aws-rum-web/blob/main/docs/cdn_installation.md#http).

Para obtener más información sobre la supervisión de usuarios reales en CloudWatch, consulte [Uso de CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html). Para configurar la aplicación para que utilice CloudWatch RUM, incluido el rastreo de las sesiones de los usuarios con X-Ray, consulte [Configurar una aplicación para utilizar CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-get-started.html). 

# Depuración de CloudWatch canarios sintéticos mediante X-Ray
<a name="xray-services-cloudwatch-synthetics"></a>

CloudWatch Synthetics es un servicio totalmente gestionado que le permite supervisar sus puntos de conexión APIs mediante scripts que se ejecutan las 24 horas del día, una vez por minuto. 

Puede personalizar las scripts de un canary para comprobar si hay cambios en: 
+ Disponibilidad.
+ Latencia
+ Transacciones
+ Vínculos rotos o inactivos
+ Step-by-step finalizaciones de tareas
+ Errores de carga de páginas
+ Latencias de carga para activos de la interfaz de usuario
+ Flujos complejos del asistente
+ Flujos de compras en la aplicación

Los canaries siguen las mismas rutas y realizan las mismas acciones y comportamientos que sus clientes y verifican de forma continua la experiencia del cliente.

Para obtener más información acerca de la configuración de las pruebas de Synthetics, consulte [Uso de Synthetics para crear y administrar canaries](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html).

![\[Ejemplo de nodo de canary en el mapa de seguimiento de X-Ray.\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/synthetics-show-canary-active.png)


Los siguientes ejemplos muestran ejemplos comunes de casos de uso para los problemas de depuración que plantean los canaries de Synthetics. Cada ejemplo muestra una estrategia clave para la depuración mediante el mapa de rastros o la consola de X-Ray Analytics.

Para obtener más información acerca de cómo leer e interactuar con el mapa de rastros, consulte [Ver el mapa de servicio](https://docs.aws.amazon.com/xray/latest/devguide/xray-console.html#xray-console-servicemap). 

Para obtener más información sobre cómo leer e interactuar con la consola de X-Ray Analytics, consulte [Interactuar con la consola de AWS X-Ray análisis](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-analytics.html). 

**Topics**
+ [Consultar canarios con un informe de errores mayor en el mapa de rastros](#xray-services-cloudwatch-synthetics-workflows-which-canary)
+ [Uso de mapas de detalles de rastro para rastros individuales con el fin de consultar cada solicitud con detalle](#xray-services-cloudwatch-synthetics-workflows-trace-map)
+ [Determinar la causa raíz de los errores continuos en los servicios ascendentes y descendentes](#xray-services-cloudwatch-synthetics-workflows-root-cause)
+ [Identificar los cuellos de botella y las tendencias de rendimiento](#xray-services-cloudwatch-synthetics-workflows-bottlenecks)
+ [Comparar las tasas de error y de latencia antes y después de los cambios](#xray-services-cloudwatch-synthetics-workflows-latency)
+ [Determine la cobertura canaria requerida para todos APIs y URLs](#xray-services-cloudwatch-synthetics-workflows-impact)
+ [Utilizar los grupos para centrarse en las pruebas de synthetics](#xray-services-cloudwatch-synthetics-groups)

## Consultar canarios con un informe de errores mayor en el mapa de rastros
<a name="xray-services-cloudwatch-synthetics-workflows-which-canary"></a>

 Para ver que canarios tienen un aumento de errores, fallos, tasas de limitación o tiempos de respuesta lentos en su mapa de rastros de X-Ray, puede destacar los nodos de clientes con canarios de Synthetics mediante el [filtro](xray-console-filters.md) `Client::Synthetic`. Al hacer clic en un nodo se muestra la distribución del tiempo de respuesta de toda la solicitud. Al hacer clic en un borde entre dos nodos, se muestran detalles sobre las solicitudes que viajaron por esa conexión. También puede ver los nodos inferidos “remotos” de los servicios posteriores relacionados en su mapa de rastros. 

Al hacer clic en el nodo de Synthetics, en el panel lateral aparece el botón **Ver en Synthetics**, que te redirige a la consola de Synthetics, donde puede comprobar los valores controlados.

![\[Ejemplo de un nodo de canario en el mapa de rastros de X-Ray con detalles de servicio.\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/synthetics-canary-servicedetail.png)


## Uso de mapas de detalles de rastro para rastros individuales con el fin de consultar cada solicitud con detalle
<a name="xray-services-cloudwatch-synthetics-workflows-trace-map"></a>

Para determinar qué servicio produce la mayor latencia o que causa un error, invoque el mapa de detalles de rastro al seleccionar el rastreo en el mapa de rastro. Los mapas de detalles de rastreo individuales muestran la end-to-end ruta de una sola solicitud. Utilice esto para comprender los servicios invocados y visualizar los servicios ascendentes y descendentes.

![\[Ejemplo de nodo de canario en el mapa de detalles de rastro de X-Ray.\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/synthetics-canary-tracemap.png)


## Determinar la causa raíz de los errores continuos en los servicios ascendentes y descendentes
<a name="xray-services-cloudwatch-synthetics-workflows-root-cause"></a>

Cuando reciba una CloudWatch alarma por fallos en un Synthetics Canary, utilice el modelado estadístico de los datos de rastreo de X-Ray para determinar la causa raíz probable del problema en la consola de X-Ray Analytics. En la consola de Analytics, la tabla **Causa raíz del tiempo de respuesta** muestra las rutas de las entidades registradas. X-ray determina qué ruta del rastro del usuario es la causa más probable del tiempo de respuesta. El formato indica una jerarquía de entidades detectadas, que termina en una causa raíz de tiempo de respuesta. 

El siguiente ejemplo muestra que la prueba de Synthetics para la API “XXX” que se ejecuta en la puerta de enlace de la API falla debido a una excepción de capacidad de rendimiento de la tabla de Amazon DynamoDB.

![\[Ejemplo de nodo de canary en el mapa de seguimiento de X-Ray.\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/synthetics-canary-active-select.png)


![\[Ejemplo de causa raíz del nodo del canary.\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/synthetics-canary-rootcause.png)


![\[Ejemplo de filtro de anotación que indica el nodo de canario.\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/synthetics-canary-showannot.png)


## Identificar los cuellos de botella y las tendencias de rendimiento
<a name="xray-services-cloudwatch-synthetics-workflows-bottlenecks"></a>

Puede ver las tendencias del rendimiento de su punto de conexión a lo largo del tiempo mediante el tráfico continuo de sus valores controlados de Synthetics para rellenar un mapa de detalles del rastro durante un período de tiempo. 

![\[Ejemplo de filtro de anotación que indica el nodo de canario.\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/synthetics-canary-distribution.png)


## Comparar las tasas de error y de latencia antes y después de los cambios
<a name="xray-services-cloudwatch-synthetics-workflows-latency"></a>

Señale el momento en el que se produjo un cambio para correlacionar ese cambio a un aumento de los problemas captados por los canarios. Utilice la consola de X-Ray Analytics para definir los intervalos de tiempo anteriores y posteriores como conjuntos de rastros, creando una diferenciación visual en la distribución del tiempo de respuesta.

![\[Ejemplo de filtro de anotación que indica el nodo de canario.\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/synthetics-canary-compare.png)


## Determine la cobertura canaria requerida para todos APIs y URLs
<a name="xray-services-cloudwatch-synthetics-workflows-impact"></a>

 Utilice X-Ray Analytics para comparar la experiencia de los canaries con los usuarios. La interfaz de usuario a continuación muestra una línea de tendencia azul para los canaries y una línea verde para los usuarios. También puede identificar que dos de los tres URLs no se someten a la prueba de detección de canarios.

![\[Ejemplo de filtro de anotación que indica el nodo de canario.\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/synthetics-canary-vs-customer.png)


## Utilizar los grupos para centrarse en las pruebas de synthetics
<a name="xray-services-cloudwatch-synthetics-groups"></a>

 Puede crear un grupo de X-Ray utilizando una expresión de filtro para centrarse en un conjunto determinado de flujos de trabajo, como las pruebas de Synthetics para la aplicación “www” que se está ejecutando en AWS Elastic Beanstalk. Utilice las [palabras clave complejas](xray-console-filters.md#console-filters-complex) `service()` y `edge()` para filtrar por servicios y bordes.

**Example Expresión de filtro de grupo**  

```
"edge(id(name: "www", type: "client::Synthetics"), id(name: "www", type: "AWS::ElasticBeanstalk::Environment"))" 
```

![\[Nodos de ejemplo para www de Elastic Beanstalk.\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/synthetics-canary-active-www.png)


# AWS Elastic Beanstalk y AWS X-Ray
<a name="xray-services-beanstalk"></a>

**nota**  
Aviso de SDK/Daemon mantenimiento de X-Ray: el 25 de febrero de 2026, el AWS X-Ray SDKs/Daemon entrará en modo de mantenimiento, donde AWS se limitarán las versiones de X-Ray SDK y Daemon para abordar únicamente los problemas de seguridad. Para obtener más información sobre la cronología del soporte, consulte [Cronología de X-Ray SDK y Daemon Support](xray-sdk-daemon-timeline.md). Recomendamos migrar a. OpenTelemetry Para obtener más información sobre la migración a OpenTelemetry, consulte [Migración de una instrumentación de rayos X a una instrumentación](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html). OpenTelemetry 

AWS Elastic Beanstalk las plataformas incluyen el daemon X-Ray. Puede [ejecutar el daemon](xray-daemon-beanstalk.md) mediante la configuración de una opción en la consola de Elastic Beanstalk o con un archivo de configuración.

En la plataforma Java SE, puede utilizar un archivo Buildfile para compilar la aplicación con Maven o Gradle en la instancia. El SDK de X-Ray para Java AWS SDK para Java está disponible en Maven, por lo que puede implementar solo el código de su aplicación y compilarlo a instancia para evitar agrupar y cargar todas sus dependencias.

Puede utilizar las propiedades de entorno de Elastic Beanstalk para configurar el SDK de X-Ray. El método que Elastic Beanstalk utiliza para transferir las propiedades del entorno a su aplicación varía en función de la plataforma. Use las variables de entorno del SDK de X-Ray o las propiedades del sistema según su plataforma.
+ **[Plataforma Node.js](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html)**: use las [variables de entorno](xray-sdk-nodejs-configuration.md#xray-sdk-nodejs-configuration-envvars).
+ **[Plataforma Java SE](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-platform.html)**: use las [variables de entorno](xray-sdk-java-configuration.md#xray-sdk-java-configuration-envvars).
+ **[Plataforma Tomcat](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-tomcat-platform.html)**: use las [propiedades del sistema](xray-sdk-java-configuration.md#xray-sdk-java-configuration-sysprops).

Para obtener más información, consulta [Cómo configurar la AWS X-Ray depuración](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-configuration-debugging.html) en la Guía para desarrolladores. AWS Elastic Beanstalk 

# Elastic Load Balancing y AWS X-Ray
<a name="xray-services-elb"></a>

Los equilibradores de carga de aplicación de Elastic Load Balancing añaden un ID de rastro a las solicitudes HTTP entrantes en un encabezado denominado `X-Amzn-Trace-Id`.

```
X-Amzn-Trace-Id: Root=1-5759e988-bd862e3fe1be46a994272793
```

**Formato de ID de rastro de X-Ray**

Un `trace_id` de X-Ray consta de tres números separados por guiones. Por ejemplo, `1-58406520-a006649127e371903a2de979`. Esto incluye:
+ El número de versión, que es `1`.
+ La hora en que se realizó la solicitud original, en formato de tiempo Unix, en **8 dígitos hexadecimales**.

  Por ejemplo, las 10:00 del 1 de diciembre de 2016, PST en formato de tiempo Unix es `1480615200` segundos o `58406520` en formato hexadecimal.
+ Un identificador 96 bits del rastro, único a nivel global, en **24 dígitos hexadecimales**.

Los equilibradores de carga no envían datos a X-Ray ni aparecen como nodo en su mapa de servicio.

Para obtener más información, consulte la sección [Rastreo de solicitudes en el equilibrador de carga de aplicaciones](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-request-tracing.html) en la Guía para desarrolladores de Elastic Load Balancing.

# Amazon EventBridge y AWS X-Ray
<a name="xray-services-eventbridge"></a>

AWS X-Ray se integra con Amazon EventBridge para rastrear los eventos que se transmiten EventBridge. [Si un servicio equipado con el SDK de X-Ray envía eventos a EventBridge, el contexto de rastreo se propaga a los destinos de eventos posteriores dentro del encabezado de rastreo.](xray-concepts.md#xray-concepts-tracingheader) El SDK de X-Ray recoge automáticamente el encabezado de rastreo y lo aplica a cualquier instrumentación posterior. Esta continuidad permite a los usuarios rastrear, analizar y depurar todos los servicios posteriores y proporciona una visión más completa del sistema. 

Para obtener más información, consulte [EventBridge X-Ray Integration](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-xray-integ.html) en la *Guía del EventBridge usuario*.

## Visualización del origen y los destinos en el mapa de servicio de X-Ray
<a name="xray-services-eventbridge-service-map"></a>

El [mapa de rastreo](xray-console-servicemap.md) de X-Ray muestra un nodo de EventBridge eventos que conecta los servicios de origen y destino, como en el siguiente ejemplo:

![\[X-Ray muestra un nodo de EventBridge eventos que conecta los servicios de origen y destino\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/service-map-eventbridge.png)


## Propague el contexto de rastro a los destinos de eventos.
<a name="xray-services-eventbridge-auto-inject"></a>

El SDK de X-Ray permite que la fuente de EventBridge eventos propague el contexto de rastreo a los objetivos de eventos posteriores. Los siguientes ejemplos específicos del idioma muestran la llamada EventBridge desde una función de Lambda en la que [está habilitado el rastreo activo](https://docs.aws.amazon.com//lambda/latest/dg/services-xray.html#services-xray-api):

------
#### [ Java ]

Agregue las dependencias necesarias para X-Ray:
+ [AWS X-Ray SDK para Java](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-xray/)
+ [AWS X-Ray SDK de grabadora para Java](https://mvnrepository.com/artifact/com.amazonaws/aws-xray-recorder-sdk-aws-sdk/)

```
package example;

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.SQSEvent;
import com.amazonaws.xray.AWSXRay;
import com.amazonaws.services.eventbridge.AmazonEventBridge;
import com.amazonaws.services.eventbridge.AmazonEventBridgeClientBuilder;
import com.amazonaws.services.eventbridge.model.PutEventsRequest;
import com.amazonaws.services.eventbridge.model.PutEventsRequestEntry;
import com.amazonaws.services.eventbridge.model.PutEventsResult;
import com.amazonaws.services.eventbridge.model.PutEventsResultEntry;
import com.amazonaws.xray.handlers.TracingHandler;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.lang.StringBuilder;
import java.util.Map;
import java.util.List;
import java.util.Date;
import java.util.Collections;

/*
   Add the necessary dependencies for XRay:
   https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-xray
   https://mvnrepository.com/artifact/com.amazonaws/aws-xray-recorder-sdk-aws-sdk
*/
public class Handler implements RequestHandler<SQSEvent, String>{
  private static final Logger logger = LoggerFactory.getLogger(Handler.class);

  /*
    build EventBridge client
  */
  private static final AmazonEventBridge eventsClient = AmazonEventBridgeClientBuilder
          .standard()
          // instrument the EventBridge client with the XRay Tracing Handler.
          // the AWSXRay globalRecorder will retrieve the tracing-context 
          // from the lambda function and inject it into the HTTP header.
          // be sure to enable 'active tracing' on the lambda function.
          .withRequestHandlers(new TracingHandler(AWSXRay.getGlobalRecorder()))
          .build();

  @Override
  public String handleRequest(SQSEvent event, Context context)
  {
    PutEventsRequestEntry putEventsRequestEntry0 = new PutEventsRequestEntry();
    putEventsRequestEntry0.setTime(new Date());
    putEventsRequestEntry0.setSource("my-lambda-function");
    putEventsRequestEntry0.setDetailType("my-lambda-event");
    putEventsRequestEntry0.setDetail("{\"lambda-source\":\"sqs\"}");
    PutEventsRequest putEventsRequest = new PutEventsRequest();
    putEventsRequest.setEntries(Collections.singletonList(putEventsRequestEntry0));
    // send the event(s) to EventBridge
    PutEventsResult putEventsResult = eventsClient.putEvents(putEventsRequest);
    try {
      logger.info("Put Events Result: {}", putEventsResult);
    } catch(Exception e) {
      e.getStackTrace();
    }
    return "success";
  }
}
```

------
#### [ Python ]

 Agregue la siguiente dependencia a su archivo requirements.txt: 

```
aws-xray-sdk==2.4.3        
```

```
import boto3
from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.core import patch_all

# apply the XRay handler to all clients.
patch_all()

client = boto3.client('events')

def lambda_handler(event, context):
    response = client.put_events(
        Entries=[
            {
                'Source': 'foo',
                'DetailType': 'foo',
                'Detail': '{\"foo\": \"foo\"}'
            },
        ]
    )
    return response
```

------
#### [ Go ]

```
package main

import (
  "context"
  "github.com/aws/aws-lambda-go/lambda"
  "github.com/aws/aws-lambda-go/events"
  "github.com/aws/aws-sdk-go/aws/session"
  "github.com/aws/aws-xray-sdk-go/xray"
  "github.com/aws/aws-sdk-go/service/eventbridge"
  "fmt"
)

var client = eventbridge.New(session.New())


func main() {
 //Wrap the eventbridge client in the AWS XRay tracer
  xray.AWS(client.Client)
  lambda.Start(handleRequest)
}

func handleRequest(ctx context.Context, event events.SQSEvent) (string, error) {
  _, err := callEventBridge(ctx)
  if err != nil {
    return "ERROR", err
  }
  return "success", nil
}


func callEventBridge(ctx context.Context) (string, error) {
    entries := make([]*eventbridge.PutEventsRequestEntry, 1)
    detail := "{ \"foo\": \"foo\"}"
    detailType := "foo"
    source := "foo"
    entries[0] = &eventbridge.PutEventsRequestEntry{
        Detail: &detail,
        DetailType: &detailType,
        Source: &source,
    }

  input := &eventbridge.PutEventsInput{
     Entries: entries,
  }

  // Example sending a request using the PutEventsRequest method.
  resp, err := client.PutEventsWithContext(ctx, input)

  success := "yes"
  if err == nil { // resp is now filled
      success = "no"
      fmt.Println(resp)
  }
  return success, err
}
```

------
#### [ Node.js ]

```
const AWSXRay = require('aws-xray-sdk')
//Wrap the aws-sdk client in the AWS XRay tracer
const AWS = AWSXRay.captureAWS(require('aws-sdk'))
const eventBridge = new AWS.EventBridge()

exports.handler = async (event) => {

  let myDetail = { "name": "Alice" }

  const myEvent = { 
    Entries: [{
      Detail: JSON.stringify({ myDetail }),
      DetailType: 'myDetailType',
      Source: 'myApplication',
      Time: new Date
    }]
  }

  // Send to EventBridge
  const result = await eventBridge.putEvents(myEvent).promise()

  // Log the result
  console.log('Result: ', JSON.stringify(result, null, 2))

}
```

------
#### [ C\$1 ]

 Agregue los siguientes paquetes de X-Ray a sus dependencias de C\$1: 

```
<PackageReference Include="AWSXRayRecorder.Core" Version="2.6.2" />
<PackageReference Include="AWSXRayRecorder.Handlers.AwsSdk" Version="2.7.2" />
```

```
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Amazon;
using Amazon.Util;
using Amazon.Lambda;
using Amazon.Lambda.Model;
using Amazon.Lambda.Core;
using Amazon.EventBridge;
using Amazon.EventBridge.Model;
using Amazon.Lambda.SQSEvents;
using Amazon.XRay.Recorder.Core;
using Amazon.XRay.Recorder.Handlers.AwsSdk;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;

[assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.Json.JsonSerializer))]

namespace blankCsharp
{
  public class Function
  {
    private static AmazonEventBridgeClient eventClient;

    static Function() {
      initialize();
    }

    static async void initialize() {
      //Wrap the AWS SDK clients in the AWS XRay tracer
      AWSSDKHandler.RegisterXRayForAllServices();
      eventClient = new AmazonEventBridgeClient();
    }

    public async Task<PutEventsResponse> FunctionHandler(SQSEvent invocationEvent, ILambdaContext context)
    {
      PutEventsResponse response;
      try
      {
        response = await callEventBridge();
      }
      catch (AmazonLambdaException ex)
      {
        throw ex;
      }

      return response;
    }

    public static async Task<PutEventsResponse> callEventBridge()
    {
      var request = new PutEventsRequest();
      var entry = new PutEventsRequestEntry();
      entry.DetailType = "foo";
      entry.Source = "foo";
      entry.Detail = "{\"instance_id\":\"A\"}";
      List<PutEventsRequestEntry> entries = new List<PutEventsRequestEntry>();
      entries.Add(entry);
      request.Entries = entries;
      var response = await eventClient.PutEventsAsync(request);
      return response;
    }
  }
}
```

------

# AWS Lambda y AWS X-Ray
<a name="xray-services-lambda"></a>

**nota**  
Aviso de SDK/Daemon mantenimiento de X-Ray: el 25 de febrero de 2026, el AWS X-Ray SDKs/Daemon entrará en modo de mantenimiento, donde AWS se limitarán las versiones de X-Ray SDK y Daemon para abordar únicamente los problemas de seguridad. Para obtener más información sobre la cronología del soporte, consulte [Cronología de X-Ray SDK y Daemon Support](xray-sdk-daemon-timeline.md). Recomendamos migrar a. OpenTelemetry Para obtener más información sobre la migración a OpenTelemetry, consulte [Migración de una instrumentación de rayos X a una instrumentación](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html). OpenTelemetry 

Puede utilizarla para rastrear sus funciones AWS X-Ray . AWS Lambda Lambada ejecuta el [daemon de X-Ray](xray-daemon.md) y registra un segmento con detalles sobre la invocación y ejecución de la función. Para realizar una instrumentación adicional, puede agrupar el SDK de X-Ray con su función para registrar las llamadas salientes y añadir anotaciones y metadatos.

Si otro servicio instrumentado llama a la función de Lambda, Lambda rastrea las solicitudes que ya se hayan muestreado sin necesidad de realizar ninguna configuración adicional. El servicio principal puede ser una aplicación web instrumentada u otra función de Lambda. Su servicio puede invocar la función directamente con un cliente de AWS SDK instrumentado o llamando a una API de API Gateway con un cliente HTTP instrumentado.

AWS X-Ray admite el seguimiento de aplicaciones basadas en eventos mediante Amazon AWS Lambda SQS. Utilice la CloudWatch consola para ver una vista conectada de cada solicitud mientras está en cola con Amazon SQS y procesada por una función Lambda descendente. Las trazas de los productores de mensajes ascendentes se vinculan automáticamente a las trazas de los nodos consumidores de Lambda descendentes, lo que crea una end-to-end vista de la aplicación. Para obtener más información, consulte [Rastreo de aplicaciones basadas en eventos](xray-tracelinking.md). 

**nota**  
Si tiene habilitados los rastros para una función de Lambda descendente, también debe tenerlos habilitados para la función de Lambda raíz que llama a la función descendente para que dicha función genere los rastros.

Si un servicio que no está instrumentado invoca la función de Lambda o dicha función se ejecuta en una programación, puede configurar Lambda para que muestree y registre las invocaciones con el rastreo activo.

**Para configurar la integración de X-Ray en una AWS Lambda función**

1. Abra la [consola de AWS Lambda](https://console.aws.amazon.com/lambda).

1. Seleccione **Funciones** en el panel de navegación izquierdo.

1. Elija su función.

1. En la pestaña **Configuración**, desplácese hacia abajo hasta la tarjeta **Herramientas de monitorización adicionales**. También puede encontrar esta tarjeta seleccionando **Herramientas de supervisión y operaciones** en el panel de navegación izquierdo.

1. Seleccione **Editar**.

1. En **AWS X-Ray**, habilite **Rastreo activo**.

En los tiempos de ejecución con un SDK de X-Ray correspondiente, Lambda también ejecuta el daemon de X-Ray.

**X-Ray SDKs en Lambda**
+ **SDK de X-Ray para Go**: tiempos de ejecución de Go 1.7 y versiones más recientes
+ **SDK de X-Ray para Java**: tiempo de ejecución de Java 8
+ **SDK de X-Ray para Node.js**: tiempos de ejecución de Node.js 4.3 y versiones más recientes
+ **SDK de X-Ray para Python**: tiempos de ejecución de Python 2.7, Python 3.6 y versiones más recientes
+ **SDK de X-Ray para .NET**: tiempos de ejecución de .NET Core 2.0 y versiones más recientes

Para utilizar el SDK de X-Ray en Lambda, agrúpelo con el código de la función cada vez que cree una nueva versión. Puede instrumentar las funciones de Lambda con los mismos métodos que utiliza para instrumentar aplicaciones que se ejecutan en otros servicios. La diferencia principal es que no utiliza el SDK para instrumentar las solicitudes entrantes, tomar decisiones de muestreo y crear segmentos.

La otra diferencia entre la instrumentación de funciones de Lambda y aplicaciones web es que el código de su función no puede modificar el segmento que Lambda crea y envía a X-Ray. Puede crear subsegmentos y registrar anotaciones y metadatos en ellos, pero no puede añadir anotaciones y metadatos al segmento principal.

Para obtener más información, consulte [Uso de AWS X-Ray](https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html) en la *Guía para desarrolladores de AWS Lambda *.

# AWS Step Functions y AWS X-Ray
<a name="xray-services-stepfunctions"></a>

AWS X-Ray se integra en AWS Step Functions para rastrear y analizar las solicitudes de Step Functions. Puede visualizar los componentes de su máquina de estado, identificar cuellos de botella en el rendimiento y solucionar problemas de solicitudes que dieron lugar a un error. Para obtener más información, consulte [AWS X-Ray y Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-xray-tracing.html) en la Guía para desarrolladores de AWS Step Functions.

**Para habilitar el rastreo de X-Ray al crear una nueva máquina de estado**

1. Abra la consola de Step Functions en [https://console.aws.amazon.com/states/](https://console.aws.amazon.com/states/).

1. Elija **Crear máquina de estado**.

1. En la página **Definir una máquina de estado**, elija **Crear con fragmentos de código** o **Empezar con una plantilla**. Si decide ejecutar un proyecto de muestra, no podrá habilitar el rastreo de X-Ray durante la creación. En vez de eso, habilite el rastreo de X-Ray después de crear su máquina de estado.

1. Elija **Siguiente**.

1. En la página **Especificar detalles**, configure su máquina de estado.

1. Elija **Activar rastreo de X-Ray**.

**Para habilitar el rastreo de X-Ray en una máquina de estado existente**

1. En la consola de Step Functions, seleccione la máquina de estado para la que desee activar el rastreo.

1. Elija **Editar**.

1. Elija **Activar rastreo de X-Ray**.

1. (Opcional) Genere automáticamente un nuevo rol para su máquina de estado para incluir los permisos de X-Ray seleccionando **Crear nuevo rol** en la ventana Permisos.  
![\[Permissions section with options to create a new role, choose existing, or enter ARN.\]](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/stepfunctions-permissions.png)

1. Seleccione **Save**.

**nota**  
Al crear una nueva máquina de estados, se rastrea automáticamente si la solicitud está muestreada y el rastreo está habilitado en un servicio previo como Amazon API Gateway o AWS Lambda. Para cualquier máquina de estado existente que no esté configurada a través de la consola, por ejemplo, a través de una plantilla de CloudFormation, compruebe que tiene una política de IAM que conceda permisos suficientes para habilitar los rastros de X-Ray.