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
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. 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 y de X-Raypuntos 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 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 porque es fácil superar el límite de tamaño del documento de rastreo para dichas ejecuciones.
Temas
Ajustes y configuración
Habilite el X-Ray rastreo al crear una máquina de estados
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.
-
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 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
Elija Siguiente.
-
En la página Especificar detalles, configure su máquina de estado.
-
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
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
Para habilitarlo X-Ray en una máquina de estados existente:
-
En la consola de Step Functions
, seleccione la máquina de estado para la que desee activar el rastreo. -
Elija Edit (Edición de).
-
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.
-
(Opcional) Auto-generate una nueva función para la máquina de estado que incluya los X-Ray permisos.
-
Seleccione Save.
Configurar el X-Ray rastreo para Step Functions
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:
-
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 X-Ray muestreo y cómo configurar los distintos parámetros, consulte Configuración de las reglas de muestreo en la X-Ray consola.
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 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 StartSyncExecutionAPI StartExecutiono.
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
La X-Ray consola
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 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.
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 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
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
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
Integraciones de servicios 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 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
Las integraciones de servicios con X-Ray soporte nativo incluyen:
-
AWS Step Functions
Instrumentación requerida
Integraciones de servicios que requieren X-Ray instrumentación:
-
Amazon Elastic Container Service
-
AWS Batch
-
AWS Fargate
Client-side solo rastreo
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
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
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 trazas del proyecto de muestra.
Rastros
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.
Mapa de servicios
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.
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.
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.
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.
Habrá un segmento diferente para cada nodo en el mapa de servicios.
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
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
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 estándar.
¿Qué ocurre si no hay datos en el mapa de registros de seguimiento o en el mapa de servicio?
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
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 del Región de AWS usuario de IAM.