

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.

# Las funciones de Trace Step Functions solicitan 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. Su máquina de estado envía datos de rastreo a X-Ray, y X-Ray procesa los datos para generar un mapa de servicio y resúmenes de rastreo con capacidad de búsqueda.

Con X-Ray activado para su máquina de estados, puede rastrear las solicitudes a medida que se ejecutan en Step Functions, en todas AWS las regiones en las que X-Ray esté disponible. Esto le aporta información general detallada de una solicitud completa de Step Functions. Step Functions enviará registros de seguimiento a X-Ray para ejecuciones de máquinas de estado, incluso cuando un ID de seguimiento no se pasa por un servicio ascendente. Puede usar un mapa del servicio de X-Ray para ver la latencia de una solicitud, incluidos los AWS servicios que estén integrados con X-Ray. También puede configurar reglas de muestreo para indicar a X-Ray qué solicitudes debe registrar y a qué velocidad de muestreo, de acuerdo con los criterios que especifique.

Cuando X-Ray no está habilitado para su máquina de estado y un servicio ascendente no transfiere un ID de registro de seguimiento, Step Functions no enviará registros de seguimiento a X-Ray para ejecuciones de máquinas de estado. Sin embargo, si un servicio ascendente transfiere un ID de seguimiento, Step Functions enviará registros de seguimiento a X-Ray para ejecuciones de 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 puntos de conexión y cuotas de [Step Functions](https://docs.aws.amazon.com/general/latest/gr/step-functions.html) y [X-Ray](https://docs.aws.amazon.com/general/latest/gr/xray.html) para obtener información sobre la compatibilidad con regiones de X-Ray y Step Functions. 

**Cuotas combinadas de X-Ray y Step Functions**  
Puede añadir datos a un registro de seguimiento durante un máximo de siete días y consultar datos de rastreo que se remonten a treinta días, que es el tiempo que X-Ray almacena los datos de rastreo. Los registros de seguimiento estarán sujetos a las cuotas de X-Ray. Además de otras cuotas, X-Ray proporciona un tamaño de seguimiento mínimo garantizado de 100 KiB para las máquinas de estado de Step Functions. Si se proporcionan más de 100 KiB de datos de rastreo a X-Ray, esto puede dar lugar a un rastreo congelado. Consulte la sección de cuotas de servicio de la página [Puntos de conexión y cuotas de X-Ray](https://docs.aws.amazon.com/general/latest/gr/xray.html#limits_xray) para obtener más información sobre otras cuotas de X-Ray.

**importante**  
Step Functions no admite el seguimiento de X-Ray para las ejecuciones de flujos de trabajo secundarios iniciadas por un [*estado Distributed Map*](state-map-distributed.md), ya que el [límite de tamaño de los documentos de rastreo](https://docs.aws.amazon.com/general/latest/gr/xray.html#limits_xray) se supera con facilidad para dichas ejecuciones.

**Topics**
+ [Ajustes y configuración](#xray-concept-create)
+ [Conceptos](#xray-concepts)
+ [Integraciones de servicios](#xray-concept-integrations)
+ [Visualización de la consola de X-Ray](#xray-concept-tracing-details)
+ [Visualización de la información de rastreo de X-Ray para Step Functions](#concepts-xray-tracing-events)
+ [Registros de seguimiento](#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>

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

Seleccione **Habilitar rastreo de X-Ray** en la página **Especificar detalles** para habilitar el rastreo de X-Ray al crear una nueva máquina de estado.

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 se selecciona **Ejecutar un proyecto de muestra**, no se podrá habilitar el rastreo de X-Ray durante la creación de la máquina de estado y tendrá que habilitarse una vez creada la máquina de estado. Para obtener más información sobre cómo habilitar X-Ray en una máquina de estado existente, consulte [Habilitar X-Ray en una máquina de estado existente](#xray-concept-enable-existing).

   Elija **Siguiente**.

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

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

    La máquina de estado de Step Functions enviará ahora registros de seguimiento a X-Ray para las ejecuciones de máquinas de estado.
**nota**  
Si decide usar un rol de IAM existente, debe asegurarse de que se permiten las escrituras de X-Ray. Para obtener más información sobre los permisos necesarios, consulte el siguiente tema.

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

Para habilitar el rastreo de X-Ray, 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 rastreo de X-Ray para una máquina de estado existente, debe asegurarse de añadir una política con permisos suficientes para habilitar los rastreos de 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 estado existente
<a name="xray-concept-enable-existing"></a>

Para habilitar X-Ray en una máquina de estado 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 **Editar**.

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

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

1. (Opcional) Genere automáticamente un nuevo rol para su máquina de estado para incluir los permisos de X-Ray.

1. Seleccione **Guardar**. 

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

La primera vez que ejecute una máquina de estados con el rastreo de rayos X activado, utilizará los valores de configuración predeterminados para el rastreo de rayos X. 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 configurar X-Ray para modificar la regla de muestreo predeterminada y configurar reglas adicionales que aplican el muestreo en función de las propiedades del servicio o solicitud.

Por ejemplo, es posible que desee deshabilitar el muestreo y rastrear todas las solicitudes de llamadas que modifiquen el estado o el manejo Cuentas de AWS de 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 muestreo de X-Ray y cómo configurar los distintos parámetros, consulte [Configuración de reglas de muestreo en la consola de X-Ray](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 la activación de `traceHeader` las llamadas a la [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartSyncExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartSyncExecution.html)API [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html](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 en la carga**  
 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 consola de X-Ray
<a name="xray-concepts-console"></a>

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

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

Para obtener información detallada sobre la consola X-Ray, consulte la [documentación de la consola de X-Ray](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 eficaz y proporcionar una muestra representativa de las solicitudes que su aplicación atiende, X-Ray aplica un algoritmo de **muestreo** para determinar qué solicitudes se rastrearán. Esto se puede cambiar editando las reglas de muestreo.

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

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

### 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 análisis de X-Ray, consulte [Interactuar con la consola de AWS X-Ray Analytics](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-analytics.html)

## Integración de los servicios de 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 daemon X-Ray o tomando decisiones de muestreo y cargando los datos de rastreo a X-Ray. Otros deben ser instrumentados con el SDK. AWS X-Ray Algunos aún no admiten la integración de X-Ray. La integración de X-Ray es necesaria para proporcionar datos de rastreo completos cuando se utiliza una integración de servicios con Step Functions 

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

Las integraciones de servicios con soporte nativo de X-Ray 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 la [instrumentación X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html):
+ Amazon Elastic Container Service
+ AWS Batch
+ AWS Fargate

### Rastreo solo del lado del cliente
<a name="xray-concept-integrations-unsupported"></a>

Otras integraciones de servicios no admiten registros de seguimiento de X-Ray. 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 consola de X-Ray
<a name="xray-concept-tracing-details"></a>

Los servicios envían datos a X-Ray como segmentos. X-Ray agrupa los segmentos que tienen una solicitud en común en registros de seguimiento. X-Ray procesa los registros de seguimiento para generar un gráfico de servicios, que constituye una representación visual de la aplicación. 

Una vez iniciada la ejecución de la máquina de estado, se pueden ver los registros de seguimiento de X-Ray al seleccionar el enlace al **mapa de registros de seguimiento de X-Ray** en la sección **Detalles de ejecución**.

Una vez que haya habilitado X-Ray en la máquina de estado, puede ver la información de rastreo de sus ejecuciones en la consola de X-Ray. 

## Visualización de la información de rastreo de X-Ray para 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 comenzar una ejecución. Se muestran registros de seguimiento de X-Ray para el proyecto de muestra [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). 

## Registros de seguimiento
<a name="concepts-xray-traces"></a>

Una vez finalizada la ejecución, puede ir a la consola de X-Ray, donde aparecerá la página **Registros de seguimiento** de X-Ray. 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 registros de seguimiento de X-Ray para una máquina de estado.\]](http://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 servicio en la consola de X-Ray le ayuda a identificar los servicios donde ocurran errores, donde haya conexiones con alta latencia o donde se observen registros de seguimiento de solicitudes que dieron error. 

![\[Captura de pantalla ilustrativa centrada en el mapa de servicios de los registros de seguimiento de X-Ray.\]](http://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.

![\[Ejemplo de detalles para un nodo de seguimiento de X-Ray.\]](http://docs.aws.amazon.com/es_es/step-functions/latest/dg/images/xray-tracing-servicemap-detail.png)


Puede ver cómo se correlaciona el mapa del servicio de X-Ray con la máquina de estado. Hay un nodo de mapa de servicio para cada integración de servicios que es llamada por Step Functions, siempre que admita X-Ray. 

![\[Ejemplo de representación gráfica de la máquina de estado sometida a seguimiento.\]](http://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.\]](http://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 consola de X-Ray.
+  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 utilizar la configuración predeterminada, donde X-Ray cifra los registros de seguimiento y los datos en reposo, o, si es necesario, puede elegir una clave de 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 ha habilitado X-Ray, pero no ve ningún dato en la consola de X-Ray, compruebe que:
+ Los roles de IAM están configurados correctamente para poder escribir en X-Ray.
+ 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 ve **Datos no encontrados** en el panel X-Ray Traces, compruebe la [configuración de su cuenta de IAM](https://console.aws.amazon.com/iam/home?#/account_settings) y asegúrese de que AWS Security Token Service esté habilitada para 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.*