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
Puede utilizar AWS X-Ray 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 donde 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 y X-Ray 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 KB para las máquinas de estado de Step Functions. Si se proporcionan más de 100 KB 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 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, ya que el límite de tamaño de los documentos de rastreo se supera con facilidad para dichas ejecuciones.
Temas
- Ajustes y configuración
- Conceptos
- Integraciones de servicios
- Visualización de la consola de X-Ray
- Visualización de la información de rastreo de X-Ray para Step Functions
- Registros de seguimiento
- Mapa de servicios
- Segmentos y subsegmentos
- Análisis
- Configuración
- ¿Qué ocurre si no hay datos en el mapa de registros de seguimiento o en el mapa de servicio?
Ajustes y configuración
Habilitar el rastreo de X-Ray al crear una máquina de estado
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.
-
Abra la consola de Step Functions
y seleccione Crear máquina de estado. -
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.
Elija Siguiente.
-
En la página Especificar detalles, configure su máquina de estado.
-
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 utilizar un IAM rol existente, debe asegurarse de que se permita la escritura de X-Ray. Para obtener más información sobre los permisos que necesita, consulte IAMlas políticas de X-Ray.
Habilitar X-Ray en una máquina de estado existente
Para habilitar X-Ray en una máquina de estado existente:
-
En la consola de Step Functions
, seleccione la máquina de estado para la que desee activar el rastreo. -
Elija Editar.
-
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 estatal existente, debe asegurarse de tener una IAM política 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 IAM de políticas deIAMpolíticas de AWS X-Ray llamadas en Step Functions.
-
(Opcional) Genere automáticamente un nuevo rol para su máquina de estado para incluir los permisos de X-Ray.
-
Seleccione Guardar.
Configurar el rastreo de X-Ray para Step Functions
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:
-
Vaya a la consola de X-Ray
. -
Seleccione Muestreo.
-
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.
Integrar los servicios ascendentes
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 puerta HTTP API de enlace integrada. Sin embargo, si utilizas una función Lambda y/o unaSDK, tendrás que configurar las traceHeader
StartSyncExecution
APIllamadas StartExecution
o tú mismo.
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)
Conceptos
La consola de X-Ray
La AWS X-Ray consola le permite ver los mapas de servicio y los rastreos de las solicitudes que atienden sus aplicaciones. Puede acceder a la consola para ver la información detallada recopilada por X-Ray cuando está habilitado en su máquina de estados.
Consulte Visualización de la consola de X-Ray 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.
Segmentos, subsegmentos y registros de seguimiento
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
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
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
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. Esto le permite analizar el rendimiento de su máquina de estado y localizar e identificar rápidamente los 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
Integración de los servicios de Step Functions y X-Ray
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 utilizando el. AWS X-Ray SDK 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
Las integraciones de servicios con soporte nativo de X-Ray incluyen:
-
AWS Step Functions
Instrumentación requerida
Integraciones de servicios que requieren la instrumentación X-Ray:
-
Amazon Elastic Container Service
-
AWS Batch
-
AWS Fargate
Rastreo solo del lado del cliente
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
-
AWS CodeBuild
-
AWS Glue
Visualización de la consola de X-Ray
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
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 Ejemplo de creación de un patrón de devolución de llamada con Amazon SQSSNS, Amazon y Lambda.
Registros de seguimiento
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 trazas de rayos X para una máquina estatal.](images/xray-tracing-overview.png)
Mapa de servicios
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 servicio en las trazas de rayos X.](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 rastreo de X-Ray.](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 estados que se está rastreando.](images/sample-callback-example.png)
Segmentos y subsegmentos
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.
Serás un segmento diferente para cada nodo del mapa de servicio.
![Captura de pantalla de ejemplo de segmentos y subsegmentos para una máquina de estados.](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 detallada sobre la temporización. Un subsegmento puede contener detalles adicionales sobre una llamada a un AWS servicio, a un dispositivo externo o a una HTTP API base de datos. SQL
Análisis
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. La consola le permite explorar, analizar y visualizar los registros de seguimiento a través de gráficos de tiempo de respuesta y series temporales. Esto puede ayudarle a localizar rápidamente los 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
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 usar la configuración predeterminada, donde X-Ray cifra los rastros y la fecha en reposo o, si es necesario, puede elegir una KMS clave. En este último caso, se aplican tasas de AWS KMS estándar.
¿Qué ocurre si no hay datos en el mapa de registros de seguimiento o en el mapa de servicio?
Si ha habilitado X-Ray, pero no ve ningún dato en la consola de X-Ray, compruebe que:
-
Sus IAM funciones están configuradas correctamente para poder escribir en X-Ray.
-
Las reglas de muestreo permiten el muestreo de datos.
-
Como puede transcurrir un tiempo antes de que se apliquen las IAM funciones recién creadas o modificadas, vuelva a comprobar los mapas 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 IAM cuenta
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 Región de AWS en la Guía del IAM usuario.