

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.

# Trace Step Functions solicita datos en AWS X-Ray
<a name="concepts-xray-tracing"></a>

Puede utilizar [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) para 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. La máquina de estados envía datos de rastreo y los X-Ray procesa para X-Ray generar un mapa de servicio y resúmenes de rastreo en los que se pueden realizar búsquedas.

Si X-Ray está activado para su máquina de estados, puede rastrear las solicitudes a medida que se ejecutan en Step Functions, en todas AWS las regiones donde X-Ray esté disponible. Esto le aporta información general detallada de una solicitud completa de Step Functions. Step Functions enviará las trazas a X-Ray para las ejecuciones en máquinas de estado, incluso cuando un servicio anterior no pase un ID de rastreo. Puedes usar un mapa de X-Ray servicios para ver la latencia de una solicitud, incluidos AWS los servicios con X-Ray los que esté integrada. También puede configurar las reglas de muestreo para indicar X-Ray qué solicitudes registrar y a qué frecuencias de muestreo, según los criterios que especifique.

Si no X-Ray está activado para su máquina de estado y un servicio ascendente no transfiere un ID de rastreo, Step Functions no enviará seguimientos X-Ray para las ejecuciones de la máquina de estado. Sin embargo, si un servicio ascendente pasa un identificador de seguimiento, Step Functions enviará seguidamente los seguimientos X-Ray para que se ejecuten en máquinas de estado.

Se puede utilizar AWS X-Ray con Step Functions en las regiones en las que se admiten ambas funciones. Consulte las páginas de [Step Functions](https://docs.aws.amazon.com/general/latest/gr/step-functions.html) y de [X-Ray](https://docs.aws.amazon.com/general/latest/gr/xray.html)puntos finales y cuotas para obtener información sobre la compatibilidad regional con Step Functions. X-Ray 

**X-Ray Cuotas combinadas de Step Functions y Step Functions**  
Puede añadir datos a un rastreo durante un máximo de siete días y consultar los datos de rastreo que se remontan a treinta días, el período de tiempo que se X-Ray almacenan los datos de rastreo. Sus trazas estarán sujetas a X-Ray cuotas. Además de otras cuotas, X-Ray proporciona un tamaño de traza mínimo garantizado de 100 KiB para las máquinas de estado Step Functions. Si se proporcionan más de 100 KiB de datos de rastreo X-Ray, esto puede resultar en un rastreo congelado. Consulte la sección de cuotas de servicio de la página de [X-Ray puntos finales y cuotas](https://docs.aws.amazon.com/general/latest/gr/xray.html#limits_xray) para obtener más información sobre otras cuotas para X-Ray.

**importante**  
Step Functions no admite el X-Ray rastreo de las ejecuciones de flujos de trabajo secundarios iniciadas por un [*estado de mapa distribuido*](state-map-distributed.md) porque es fácil superar el [límite de tamaño del documento de rastreo](https://docs.aws.amazon.com/general/latest/gr/xray.html#limits_xray) para dichas ejecuciones.

**Topics**
+ [Ajustes y configuración](#xray-concept-create)
+ [Conceptos](#xray-concepts)
+ [Integraciones de servicios](#xray-concept-integrations)
+ [Visualización de la X-Ray consola](#xray-concept-tracing-details)
+ [Visualización de X-Ray la información de rastreo de Step Functions](#concepts-xray-tracing-events)
+ [Rastros](#concepts-xray-traces)
+ [Mapa de servicios](#concepts-xray-tracing-overview)
+ [Segmentos y subsegmentos](#concepts-xray-tracing-segments)
+ [Análisis](#concepts-xray-tracing-analytics)
+ [Configuración](#concepts-xray-tracing-config)
+ [¿Qué ocurre si no hay datos en el mapa de registros de seguimiento o en el mapa de servicio?](#concepts-xray-troubleshooting)

## Ajustes y configuración
<a name="xray-concept-create"></a>

### Habilite el X-Ray rastreo al crear una máquina de estados
<a name="xray-concept-create-new"></a>

Puede habilitar el X-Ray rastreo al crear una nueva máquina de estados seleccionando **Habilitar el X-Ray rastreo** en la página **Especificar** detalles.

1. Abra la [consola de Step Functions](https://console.aws.amazon.com/states/home) y seleccione **Crear máquina de estado**.

1. En la página **Elegir un método de creación**, seleccione la opción adecuada para crear su máquina de estado. Si selecciona **Ejecutar un proyecto de muestra**, no podrá habilitar el X-Ray rastreo durante la creación de la máquina de estados y tendrá que habilitar el X-Ray rastreo una vez creada la máquina de estados. Para obtener más información sobre la activación X-Ray en una máquina de estados existente, consulte. [Habilitar X-Ray en una máquina de estados existente](#xray-concept-enable-existing)

   Elija **Siguiente**.

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

1. Seleccione **Activar el X-Ray rastreo.** 

    Su máquina de estados de Step Functions ahora enviará trazas a X-Ray para las ejecuciones de la máquina de estados.
**nota**  
Si decide utilizar una función de IAM existente, debe asegurarse de que se permiten las X-Ray escrituras. Para obtener más información sobre los permisos necesarios, consulte el siguiente tema.

### Las políticas de IAM utilizan AWS X-Ray en Step Functions
<a name="xray-iam"></a>

Para habilitar el X-Ray rastreo, necesitará una política de IAM con los permisos adecuados para permitir el rastreo. Si la máquina de estado utiliza otros servicios integrados, es posible que necesite políticas de IAM adicionales. Consulte las políticas de IAM para sus integraciones de servicios específicas.

 Si habilita el X-Ray rastreo en una máquina de estado existente, debe asegurarse de agregar una política con permisos suficientes para habilitar los rastreos. X-Ray 

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "xray:PutTraceSegments",
                "xray:PutTelemetryRecords",
                "xray:GetSamplingRules",
                "xray:GetSamplingTargets"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

### Habilitar X-Ray en una máquina de estados existente
<a name="xray-concept-enable-existing"></a>

Para habilitarlo X-Ray en una máquina de estados existente:

1. En la [consola de Step Functions](https://console.aws.amazon.com/states/home), seleccione la máquina de estado para la que desee activar el rastreo.

1. Elija **Edit (Edición de)**.

1. Seleccione **Activar el X-Ray rastreo.**

    Aparecerá una notificación en la que se indicará que es posible que haya que hacer cambios adicionales. 
**nota**  
Al habilitar una máquina X-Ray de estado existente, debe asegurarse de tener una política de IAM que conceda permisos suficientes X-Ray para realizar rastreos. Puede añadir una manualmente o generarla. Para obtener más información, consulte la sección Política de IAM para [Las políticas de IAM utilizan AWS X-Ray en Step Functions](#xray-iam). 

1. (Opcional) Auto-generate una nueva función para la máquina de estado que incluya los X-Ray permisos.

1. Seleccione **Save**. 

### Configurar el X-Ray rastreo para Step Functions
<a name="xray-concept-configure"></a>

La primera vez que ejecute una máquina de estados con X-Ray el rastreo activado, utilizará los valores de configuración predeterminados para X-Ray el rastreo. AWS X-Ray no recopila datos de cada solicitud que se envía a una aplicación. En su lugar, recopila datos para un número estadísticamente significativo de solicitudes. De forma predeterminada, se registra la primera solicitud cada segundo y el cinco por ciento de las solicitudes adicionales. Una petición por segundo es el *depósito*. Esto garantiza que se registre al menos un registro de seguimiento cada segundo mientras el servicio atienda solicitudes. El cinco por ciento es el *porcentaje* al que se muestrean las solicitudes adicionales más allá del tamaño del depósito.

Para evitar incurrir en cargos por servicio al empezar, la tasa de muestreo predeterminada es conservadora. Puede configurarlo X-Ray para modificar la regla de muestreo predeterminada y configurar reglas adicionales que apliquen el muestreo en función de las propiedades del servicio o la solicitud.

Por ejemplo, es posible que desee deshabilitar el muestreo y rastrear todas las solicitudes de llamadas que modifiquen el estado, el manejo Cuentas de AWS o las transacciones. Para llamadas de solo lectura de alto volumen, como sondeo en segundo plano, comprobaciones de estado o mantenimiento de conexión, es posible muestrear con un bajo índice y seguir obteniendo datos suficientes para ver los problemas que se produzcan.

Para configurar una regla de muestreo para su máquina de estado:

1. Vaya a la [consola de X-Ray ](https://console.aws.amazon.com/xray/home).

1. Seleccione **Muestreo**.

1. Para crear una regla, elija **Crear regla de muestreo**.

   Para editar una regla, elija el nombre de una regla.

   Para eliminar una regla, elija una regla y utilice el menú **Acciones** para eliminarla.

Algunas partes de las reglas de muestreo existentes, como el nombre y la prioridad, no se pueden cambiar. En su lugar, es posible añadir o clonar una regla existente, realizar los cambios que se deseen y, posteriormente, utilizar la nueva regla.

Para obtener información detallada sobre las reglas de X-Ray muestreo y cómo configurar los distintos parámetros, consulte [Configuración de las reglas de muestreo en la X-Ray consola](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-sampling.html). 

### Integrar los servicios ascendentes
<a name="integ-upstream-services"></a>

Para integrar la ejecución de los flujos de trabajo de Step Functions, como los flujos de trabajo rápidos, sincrónico y estándar, con un servicio ascendente, debe configurar el `traceHeader`. Esto se hace automáticamente si utiliza una API de HTTP en API Gateway. Sin embargo, si utilizas una función Lambda o and/or un SDK, tendrás que configurar tú mismo las llamadas `traceHeader` a la [`StartSyncExecution`](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartSyncExecution.html)API [`StartExecution`](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)o.

Debe especificar el formato de `traceHeader` como `\p{ASCII}∗`. Además, para que Step Functions pueda usar el mismo ID de seguimiento, debe especificar el formato como `Root={TRACE_ID};Sampled={1 or 0}`. Si utiliza una función de Lambda, reemplace `TRACE_ID` por el ID de seguimiento del segmento actual y establezca el campo muestreado como `1` si el modo de muestreo fuera verdadero y `0` si el modo de muestreo fuera falso. Si se proporciona el ID de seguimiento en este formato, obtendrá un seguimiento completo.

A continuación se muestra un ejemplo escrito en Python para mostrar cómo especificar el `traceHeader`.

```
state_machine = config.get_string_paramter("STATE_MACHINE_ARN")
    if (xray_recorder.current_subsegment() is not None and 
        xray_recorder.current_subsegment().sampled) :
        trace_id = "Root={};Sampled=1".format(
            xray_recorder.current_subsegment().trace_id
        )
    else:
        trace_id = "Root=not enabled;Sampled=0"
    LOGGER.info("trace %s", trace_id)
    
    # execute it
    response = states.start_sync_execution(
        stateMachineArn=state_machine,
        input=event['body'],
        name=context.aws_request_id,
        traceHeader=trace_id
    )
    LOGGER.info(response)
```

**X-Ray rastrear en el encabezado o la carga útil**  
 Para los X-Ray seguimientos, todos los AWS servicios utilizan el `X-Amzn-Trace-Id` encabezado de la solicitud HTTP. El uso del encabezado es el mecanismo preferido para identificar un rastro. Las operaciones de la API `StartExecution` y `StartSyncExecution` también pueden utilizar `traceHeader` desde el cuerpo de la carga útil de la solicitud. Si se proporcionan **ambas** fuentes, Step Functions utilizará el **valor del encabezado** (preferido) en lugar del valor del cuerpo de la solicitud. 

## Conceptos
<a name="xray-concepts"></a>

### La X-Ray consola
<a name="xray-concepts-console"></a>

En la AWS X-Ray consola, puede ver los mapas de servicio y los rastreos de las solicitudes que atienden sus aplicaciones cuando X-Ray está habilitada para su máquina de estados.

Consulte [Visualización de la X-Ray consola](#xray-concept-tracing-details) para obtener información sobre cómo acceder a la X-Ray consola para ejecutar las máquinas de estado.

Para obtener información detallada sobre la X-Ray consola, consulte la [documentación de la X-Ray consola](https://docs.aws.amazon.com/xray/latest/devguide/xray-console.html). 

### Segmentos, subsegmentos y registros de seguimiento
<a name="xray-concepts-traces"></a>

Un **segmento** registra información sobre una solicitud enviada a su máquina de estado. Contiene información como el trabajo que realiza la máquina de estado y también puede contener **subsegmentos** con información sobre las llamadas posteriores.

Un **registro de seguimiento** recopila todos los segmentos que genera una solicitud.

### Muestreo
<a name="xray-concepts-sampling"></a>

Para garantizar un rastreo eficiente y proporcionar una muestra representativa de las solicitudes que atiende su aplicación, X-Ray aplica un algoritmo de **muestreo** para determinar qué solicitudes se rastrean. Esto se puede cambiar editando las reglas de muestreo.

### Métricas
<a name="xray-concepts-metrics"></a>

Para su máquina de estados, X-Ray medirá el tiempo de invocación, el tiempo de transición de estado, el tiempo de ejecución total de Step Functions y las variaciones en este tiempo de ejecución. Se puede acceder a esta información a través de la X-Ray consola.

### Análisis
<a name="xray-concepts-analyzing"></a>

La consola de AWS X-Ray Analytics es una herramienta interactiva para interpretar los datos de rastreo. Puede acotar el conjunto de datos con filtros cada vez más detallados haciendo clic en los gráficos y los paneles de métricas y campos asociados al conjunto de registros de seguimiento actual. Puede analizar el rendimiento de su máquina de estado para localizar e identificar problemas de rendimiento.

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

## Integraciones de servicios Step Functions y X-Ray
<a name="xray-concept-integrations"></a>

 Algunos de los AWS servicios que se integran con Step Functions permiten la integración AWS X-Ray añadiendo un encabezado de rastreo a las solicitudes, ejecutando el X-Ray daemon o tomando decisiones de muestreo y cargando datos de rastreo en. X-Ray Otros deben instrumentarse mediante el SDK. AWS X-Ray Algunas aún no admiten la X-Ray integración. X-Ray la integración es necesaria para proporcionar datos de rastreo completos cuando se utiliza una integración de servicios con Step Functions 

### X-Ray Soporte nativo
<a name="xray-concept-integrations-native"></a>

Las integraciones de servicios con X-Ray soporte nativo incluyen:
+ [Amazon Simple Notification Service](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-sns.html)
+ [Amazon Simple Queue Service](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-sqs.html)
+ [AWS Lambda](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-lambda.html)
+ AWS Step Functions

### Instrumentación requerida
<a name="xray-concept-integrations-instrument"></a>

[Integraciones de servicios que requieren X-Ray instrumentación:](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)
+ Amazon Elastic Container Service
+ AWS Batch
+ AWS Fargate

### Client-side solo rastreo
<a name="xray-concept-integrations-unsupported"></a>

Otras integraciones de servicios no admiten X-Ray rastreos. Sin embargo, aún se pueden recopilar rastreos del lado del cliente:
+ Amazon DynamoDB
+ Amazon EMR
+ Amazon SageMaker AI
+ AWS CodeBuild
+ AWS Glue

## Visualización de la X-Ray consola
<a name="xray-concept-tracing-details"></a>

X-Ray recibe los datos de los servicios como segmentos. X-Ray agrupa los segmentos que tienen una solicitud común en trazas. X-Ray procesa las trazas para generar un gráfico de servicio que proporciona una representación visual de la aplicación. 

Tras iniciar la ejecución de la máquina de estados, puede ver sus X-Ray trazas seleccionando el enlace del **mapa de X-Ray trazas** en la sección de **detalles de ejecución**.

Una vez que haya activado X-Ray su máquina de estados, podrá ver la información de rastreo de sus ejecuciones en la X-Ray consola. 

## Visualización de X-Ray la información de rastreo de Step Functions
<a name="concepts-xray-tracing-events"></a>

Los siguientes pasos ilustran el tipo de información que puede ver en la consola después de habilitar X-Ray y ejecutar una ejecución. X-Ray se muestran las [Creación de un ejemplo de patrón de devolución de llamada con Amazon SQS, Amazon SNS y Lambda](callback-task-sample-sqs.md) trazas del proyecto de muestra. 

## Rastros
<a name="concepts-xray-traces"></a>

Una vez finalizada la ejecución, puede ir a la X-Ray consola, donde verá la página X-Ray **Traces**. Aquí se muestra información general del mapa de servicio, así como información de registros de seguimiento y segmentos de la máquina de estado. 

![Captura de pantalla ilustrativa de las X-Ray trazas de una máquina de estados.](https://docs.aws.amazon.com/es_es/step-functions/latest/dg/images/xray-tracing-overview.png)


## Mapa de servicios
<a name="concepts-xray-tracing-overview"></a>

El mapa de servicios de la X-Ray consola le ayuda a identificar los servicios en los que se producen errores, en los que hay conexiones con alta latencia o a ver el seguimiento de las solicitudes que no se han realizado correctamente. 

![Captura de pantalla ilustrativa centrada en el mapa de servicios en X-Ray trazas.](https://docs.aws.amazon.com/es_es/step-functions/latest/dg/images/xray-tracing-servicemap.png)


En el mapa de registros de seguimiento, puede elegir un nodo de servicio para ver sus solicitudes o un límite entre dos nodos para ver las solicitudes que pasaron por esa conexión. Aquí, se ha seleccionado el nodo `WaitForCallBack` y puede ver información adicional sobre su estado de ejecución y respuesta.

![Detalles de ejemplo de un nodo de X-Ray rastreo.](https://docs.aws.amazon.com/es_es/step-functions/latest/dg/images/xray-tracing-servicemap-detail.png)


Puede ver cómo el mapa de X-Ray servicio se correlaciona con la máquina de estados. Hay un nodo de mapa de servicios para cada integración de servicios que recibe el nombre de Step Functions, siempre que sea compatible X-Ray. 

![Ejemplo de representación gráfica de la máquina de estado sometida a seguimiento.](https://docs.aws.amazon.com/es_es/step-functions/latest/dg/images/sample-callback-example.png)


## Segmentos y subsegmentos
<a name="concepts-xray-tracing-segments"></a>

Un **registro de seguimiento** es una colección de **segmentos** que genera una solicitud. Cada segmento incluye el nombre del recurso, detalles de la solicitud y detalles del trabajo realizado. En la página **Registros de seguimiento**, puede ver los segmentos y, si están expandidos, sus subsegmentos correspondientes. Puede elegir un segmento o subsegmento para ver información detallada sobre este.

Habrá un segmento diferente para cada nodo en el mapa de servicios.

![Ejemplo de captura de pantalla de los segmentos y subsegmentos de una máquina de estado.](https://docs.aws.amazon.com/es_es/step-functions/latest/dg/images/xray-tracing-segments.png)


La selección de un segmento incluye el nombre del recurso, detalles de la solicitud y detalles del trabajo realizado. 

Un segmento puede desglosar los datos del trabajo realizado en subsegmentos. Al elegir un subsegmento, se muestran detalles e información granular sobre el tiempo. Un subsegmento puede contener detalles adicionales sobre una llamada a un AWS servicio, una API HTTP externa o una base de datos SQL.

## Análisis
<a name="concepts-xray-tracing-analytics"></a>



La consola AWS X-Ray **de Analytics** es una herramienta interactiva para interpretar los datos de rastreo. Puede utilizarla para comprender con más facilidad el rendimiento de su máquina de estado. Puede explorar, analizar y visualizar registros de seguimiento mediante gráficos interactivos de tiempo de respuesta y series temporales para identificar problemas de rendimiento y latencia.

Puede acotar el conjunto de datos con filtros cada vez más detallados haciendo clic en los gráficos y los paneles de métricas y campos asociados al conjunto de registros de seguimiento actual.

## Configuración
<a name="concepts-xray-tracing-config"></a>

Puede configurar las opciones de muestreo y cifrado desde la X-Ray consola.
+  Seleccione **Muestreo** para ver los detalles sobre la frecuencia y la configuración de muestreo. 

  Puede cambiar las reglas de muestreo para controlar la cantidad de datos que se registran y modificar el comportamiento de muestreo para adaptarlo a sus requisitos específicos.
+ Seleccione **Cifrado** para modificar la configuración de cifrado. 

  Puede usar la configuración predeterminada, en la que se X-Ray cifran las trazas y los datos en reposo, o, si es necesario, puede elegir una clave KMS. En este último caso, se aplican tasas de [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/) estándar.

## ¿Qué ocurre si no hay datos en el mapa de registros de seguimiento o en el mapa de servicio?
<a name="concepts-xray-troubleshooting"></a>

Si la has activado X-Ray, pero no ves ningún dato en la X-Ray consola, comprueba que:
+ Sus funciones de IAM están configuradas correctamente para poder escribir X-Ray en ellas.
+ Las reglas de muestreo permiten el muestreo de datos.
+ Dado que puede que haya un pequeño retraso hasta que se apliquen los roles de IAM recién creados o modificados, vuelva a comprobar los mapas de registros de seguimiento o de servicio transcurridos unos minutos.
+ Si ves que **no se encuentran datos** en el panel de X-Ray rastreos, comprueba la [configuración de tu cuenta de IAM](https://console.aws.amazon.com/iam/home?#/account_settings) y asegúrate de que AWS Security Token Service esté habilitada en la región deseada. Para obtener más información, consulte [Activación y desactivación AWS STS en y en la Guía](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#sts-regions-activate-deactivate) del Región de AWS usuario de *IAM.*