Monitorización de las métricas de Step Functions con Amazon CloudWatch - AWS Step Functions

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.

Monitorización de las métricas de Step Functions con Amazon CloudWatch

El monitoreo es una parte importante del mantenimiento de la confiabilidad, la disponibilidad y el rendimiento de AWS Step Functions sus AWS soluciones. Puede recopilar datos de los AWS servicios que utiliza para depurar errores multipunto.

Antes de empezar la supervisión de Step Functions, debe crear un plan de supervisión que responda a las siguientes preguntas:

  • ¿Cuáles son los objetivos de la supervisión?

  • ¿Qué recursos va a supervisar?

  • ¿Con qué frecuencia va a supervisar estos recursos?

  • ¿Qué herramientas de supervisión va a utilizar?

  • ¿Quién se encargará de realizar las tareas de supervisión?

  • ¿Quién debería recibir una notificación cuando surjan problemas?

El siguiente paso consiste en establecer un punto de referencia para el rendimiento normal de en su entorno. Para ello, mida el rendimiento en diversas ocasiones y con diferentes condiciones de carga. Cuando monitoree Step Functions, debe tener en cuenta el almacenamiento de los datos de monitoreo históricos. Estos datos pueden servirle como referencia para compararlos con los datos de rendimiento actuales, para identificar los patrones de rendimiento normales y las anomalías del rendimiento, y para idear métodos de solución de problemas.

Recomendamos supervisar los errores de actividad y tarea para establecer una referencia. Cuando el rendimiento no alcance su métrica de referencia, establezca una alerta para poder investigar la causa raíz.

Para establecer un punto de referencia debe, como mínimo, monitorizar las siguientes métricas:

  • ExecutionsStarted

  • ExecutionsTimedOut

  • Opcional (si usas Actividades) - ActivitiesStarted

  • Opcional (si usas Actividades) - ActivitiesTimedOut

Tipos de métricas de Step Functions para CloudWatch

Step Functions proporciona los siguientes tipos de métricas a Amazon CloudWatch. Puede utilizarlas para supervisar las máquinas de estado y las actividades, así como para establecer alarmas en los valores que actúan como umbral. Puede ver las métricas medianteConsola de administración de AWS.

Las métricas se agrupan mediante un espacio de nombres, un contenedor de CloudWatch métricas, de modo que las métricas de diferentes aplicaciones no se agreguen por error.

Nombres y registros con caracteres no ASCII

Step Functions acepta nombres para máquinas de estado, ejecuciones, actividades y etiquetas que contengan caracteres no ASCII. Dado que estos caracteres impedirán que Amazon registre CloudWatch datos, te recomendamos que utilices únicamente caracteres ASCII para poder realizar un seguimiento de las métricas de Step Functions.

CloudWatch métricas, entrega

Las métricas de CloudWatch se entregan según el "mejor esfuerzo", es decir, en la medida que sea posible.

La integridad y la puntualidad de las métricas no están garantizadas. Es posible que el punto de datos de una solicitud determinada se envíe con una marca temporal posterior al momento en el que la solicitud se ha procesado realmente. Es posible que el punto de datos se demore un minuto antes de CloudWatch estar disponible o que no se entregue en absoluto. CloudWatchLas métricas de solicitudes le dan una idea de las ejecuciones de las máquinas de estado prácticamente en tiempo real. No pretende ser un recuento completo de todas las métricas relacionadas con la ejecución.

Dado que esta característica funciona en la medida de lo posible, los informes disponibles en el panel de Administración de facturación y costos podrían incluir una o varias solicitudes de acceso que no aparecen en las métricas de la ejecución.

Métricas que informan un intervalo de tiempo

Algunas de las CloudWatch métricas de Step Functions son intervalos de tiempo, siempre medidos en milisegundos. Estas métricas, por lo general, se corresponden con fases de ejecución en las que puede definir tiempos de espera para las máquinas de estado, las actividades y las funciones de Lambda utilizando nombres descriptivos.

Por ejemplo, la métrica ActivityRunTime mide el tiempo que tarda una actividad en completarse una vez que comienza su ejecución Puede establecer un tiempo de espera con este mismo período de tiempo.

En la CloudWatch consola, puede obtener los mejores resultados si elige el promedio como estadística de visualización para las métricas de intervalos de tiempo.

Métricas que informan un recuento

Algunas de las CloudWatch métricas de Step Functions muestran los resultados como un recuento. Por ejemplo, ExecutionsFailed registra el número o recuento de ejecuciones con errores de la máquina de estado.

Cabe destacar que Step Functions emite dos métricas ExecutionsStarted para cada ejecución de máquina de estado. Como resultado, la SampleCountestadística de la ExecutionsStarted métrica mostrará el valor de 2 para cada ejecución de una máquina de estados. La SampleCount estadística muestra ExecutionStarted=1 y, a continuación, una ExecutionStarted=0 vez finalizada la ejecución.

Del mismo modo, otras métricas del estado de la ejecución pueden emitirse más de una vez debido a que at-least-once las métricas se entregan con el máximo esfuerzo. CloudWatch

sugerencia

Recomendamos usar Sum como estadística de visualización para las métricas que indican un recuento en la CloudWatch consola.

Visualización de las métricas de Step Functions en CloudWatch

Puede usar la CloudWatch consola para ver las métricas de Step Functions sobre ejecuciones, actividades, funciones e integraciones de servicios.

  1. Inicie sesión en la CloudWatch consola Consola de administración de AWS y ábrala.

  2. Elija Métricas) y, en la pestaña Todas las métricas, elija Estados.

    Si recientemente realizó alguna ejecución, podrá ver hasta cuatro tipos de métricas:

    • Métricas de ejecución

    • Métricas de funciones de actividades

    • Métricas de función de Lambda

    • Métricas de integración de servicios

  3. Elija un tipo de métrica para ver una lista de métricas.

    • Para ver los gráficos de una métrica, active la casilla que aparece en la lista junto a la métrica. Puede cambiar los parámetros del gráfico utilizando los controles de intervalo de tiempo situados encima del gráfico.

      Puede elegir intervalos de tiempo personalizados que utilicen valores relativos o absolutos (fechas y horas específicas). También puede utilizar la lista desplegable para mostrar los valores como líneas, áreas apiladas o números (valores).

    • Para ver los detalles de un gráfico, pase el cursor sobre el código de color de la métrica que aparece debajo del gráfico para mostrar los detalles de la métrica.

Para obtener más información sobre cómo trabajar con CloudWatch métricas, consulta Uso de Amazon CloudWatch Metrics en la Guía del CloudWatch usuario de Amazon.

Configuración de alarmas para las métricas de Step Functions en CloudWatch

Puedes usar CloudWatch las alarmas de Amazon para realizar acciones. Por ejemplo, si desea saber cuándo se alcanza el umbral de una alarma, puede configurar una alarma que envíe una notificación a un tema de Amazon SNS o un correo electrónico cuando la métrica StateMachinesFailed supere un determinado umbral.

Para configurar una alarma en una métrica

  1. Inicia sesión en la CloudWatch consola Consola de administración de AWS y ábrela.

  2. Elige una o más métricas para verlas y, a continuación, selecciona Métricas graficadas.

  3. Seleccione el icono con forma de campana situado junto a una métrica de la lista para que aparezca la página Crear una alarma.

  4. Especifique los valores de Umbral de alarma y Acciones y, a continuación, elija Crear alarma.

Para obtener más información sobre la configuración y el uso de CloudWatch alarmas, consulte Creación de CloudWatch alarmas de Amazon en la Guía del CloudWatch usuario de Amazon.

Métricas de uso a nivel de cuenta

El espacio de AWS/Usage nombres incluye las siguientes métricas de Step Functions.

Las siguientes métricas son adimensionales y se aplican a toda tu cuenta en una región.

Métrica Description (Descripción)
StateMachineCount

Recuento de máquinas de estado activas actualmente en tu cuenta. Puede que tengas que añadir o eliminar una máquina de estados de tu cuenta y esperar unos minutos para activar esta métrica en tu cuenta.

ActivityCount

Recuento de las actividades actualmente activas en tu cuenta. Puede que tengas que añadir o eliminar una actividad de tu cuenta y esperar unos minutos para activar esta métrica en tu cuenta.

OpenExecutionCountPerStateMachine

Abre las ejecuciones por máquina de estados de tu cuenta.

Métricas de ejecución

El espacio de nombres AWS/States incluye las siguientes métricas para todas las ejecuciones de Step Functions.

Las siguientes métricas son adimensionales y se aplican a toda tu cuenta en una región.

Métrica Description (Descripción)
OpenExecutionCount

Número aproximado de ejecuciones actualmente abiertas: flujos de trabajo que se encuentran actualmente en curso en su cuenta.

La intención es proporcionar información sobre cuándo tus flujos de trabajo se acercan al límite máximo de ejecución, a fin de evitar ExecutionLimitExceedederrores al realizar llamadas StartExecution o en el caso de los flujos RedriveExecution de trabajo estándar.

OpenExecutionCount es un número aproximado de flujos de trabajo abiertos. Esta métrica será inferior al recuento observado de flujos de trabajo en ejecución. Si se ejecuta un recuento de flujos de trabajo abiertos inferior a 10 000, es posible que no se produzcan ejecuciones abiertas. Para que una alarma le avise cuando se acerque al OpenExecutionLimit, le recomendamos que utilice la estadística Máximo con un umbral de 100 000 o superior, ya que el límite predeterminado del flujo de trabajo abierto es de 1 000 000 de ejecuciones.

OpenExecutionLimit

Número máximo de ejecuciones abiertas. Para obtener más información, consulte Cuotas relacionadas con las cuentas.

Este límite no se aplica a los flujos de trabajo rápidos.

Métricas de ejecución para todas las máquinas de estado

Todas las máquinas de estado emiten métricas. La métrica ExecutionThrottled solo se emitirá en caso de ejecución limitada.

Las siguientes métricas se pueden filtrar con una StateMachineArn para identificar una máquina de estados específica.

Métricas a nivel de cuenta

Sin un ARN de máquina de estado, las siguientes métricas se muestran a nivel de cuenta. Proporcione un ARN de máquina de estado para informar a nivel de máquina de estado.

Métrica Description (Descripción)
ExecutionsAborted Número de ejecuciones canceladas o terminadas.
ExecutionsFailed Número de ejecuciones que han producido un error.
ExecutionsStarted Número de ejecuciones iniciadas.
ExecutionsSucceeded Número de ejecuciones realizadas correctamente.
ExecutionsTimedOut Número de ejecuciones cuyo tiempo de espera se agotó por algún motivo.
ExecutionThrottled Número de eventos StateEntered y de reintentos que han sido objeto de una limitación controlada. Está relacionado con la limitación controlada de StateTransition. Para obtener más información, consulte Cuotas relacionadas con la limitación controlada de estados.
ExecutionTime Intervalo, en milisegundos, entre el momento en que se inicia la ejecución y el momento en que se cierra.

Métricas de ejecución para flujos de trabajo rápidos

El espacio de nombres AWS/States incluye las siguientes métricas para las ejecuciones de flujos de trabajo rápidos de Step Functions.

Métricas a nivel de cuenta

Sin un ARN de máquina de estado, los ExpressExecutionBilledMemory informes ExpressExecutionBilledDuration y se generan a nivel de cuenta. Proporcione un ARN de máquina de estado para informar a nivel de máquina de estado.

Métrica Description (Descripción)
ExpressExecutionBilledDuration

La duración por la que se cobra un flujo de trabajo rápido.

ExpressExecutionBilledMemory

La cantidad de memoria consumida por la que se cobra un flujo de trabajo rápido.

ExpressExecutionMemory

La memoria total consumida por un Express Workflow específico.

Redrive de métricas de ejecución para flujos de trabajo estándar

Cuando redrive la ejecución de una máquina de estado, Step Functions emite las siguientes métricas.

La métrica Executions* se emite para todas las ejecuciones redriven. Por ejemplo, supongamos que una ejecución redriven se anula. Esta ejecución emitirá puntos de datos distintos de cero para RedrivenExecutionsAborted y ExecutionsAborted.

Métrica Description (Descripción)
ExecutionsRedriven Número de ejecuciones redriven.
RedrivenExecutionsAborted Número de ejecuciones redriven que se cancelan o finalizan.
RedrivenExecutionsTimedOut Número de ejecuciones redriven cuyo tiempo de espera se agotó por algún motivo.
RedrivenExecutionsSucceeded Número de ejecuciones redriven realizadas correctamente.
RedrivenExecutionsFailed Número de ejecuciones redriven que produjeron un error.

Dimensión para métricas de ejecución de Step Functions

Dimensión Description (Descripción)
StateMachineArn

El nombre de recurso de Amazon (ARN) de la máquina de estado de la ejecución en cuestión.

Dimensiones de las ejecuciones con una versión

Dimensión Description (Descripción)
StateMachineArn

El nombre de recurso de Amazon (ARN) de la máquina de estado cuya ejecución inició una versión.

Version

Versión de la máquina de estado que se utiliza para iniciar la ejecución.

Dimensiones de las ejecuciones con un alias

Dimensión Description (Descripción)
StateMachineArn

El nombre de recurso de Amazon (ARN) de la máquina de estado cuya ejecución inició un alias.

Alias

Alias de máquina de estado que se utiliza para iniciar la ejecución.

Métricas de ejecución de mapas

El espacio de nombres AWS/States incluye las siguientes métricas para todas las Map Runs de Step Functions. Se trata de métricas adimensionales que se aplican a toda su cuenta en una región.

Métrica Description (Descripción)
ApproximateOpenMapRunCount

Número aproximado de Map Runs abiertas actualmente en curso en su cuenta.

Con esta métrica, puedes tomar medidas cuando te acerques a la meta para evitar que el OpenMapRunLimitmapa se acumule en el mapa.

Para que una alarma te avise si te estás acercando a la tuya OpenMapRunLimit, te recomendamos que utilices la estadística Máxima con un umbral de 900 o más, ya que el valor predeterminado OpenManRunLimites 1000 tiradas de mapa.

OpenMapRunLimit

Número máximo de Map Runs abiertas.

Para obtener más información, consulte Cuotas relacionadas con las cuentas.

ApproximateMapRunBacklogSize

Número aproximado de Map Runs que están atrasadas. Las corridas de mapas pendientes esperan a que se MapRunStartedproduzca el evento hasta que el número total de series de mapas abiertas sea inferior a la cuota.

El recuento de elementos será cero mientras Map Run esté atrasada. El recuento aumentará cuando Map Run se abra y comience a leer sus entradas.

Métricas de versión y alias

El espacio de AWS/States nombres incluye las siguientes métricas para los recuentos de versiones y alias de una máquina de estados.

Métrica Description (Descripción)
AliasCount

Número de alias creados para la máquina de estado.

Puede crear hasta 100 alias para cada máquina de estado.

VersionCount

Número de versiones publicadas para la máquina de estado.

Puede publicar hasta 1000 versiones de una máquina de estado.

Dimensión para métricas de recuento de recursos para versiones y alias

Dimensión Description (Descripción)
ResourceArn

El nombre de recurso de Amazon (ARN) de la máquina de estado con un alias o una versión.

Métricas de actividad

El espacio de nombres AWS/States incluye las siguientes métricas para las actividades de Step Functions.

Métricas a nivel de cuenta

Sin un ARN de máquina de estado, las siguientes métricas se muestran a nivel de cuenta. Proporcione un ARN de máquina de estado para informar a nivel de máquina de estado.

Métrica Description (Descripción)
ActivitiesFailed Número de actividades que han producido un error.
ActivitiesHeartbeatTimedOut Número de actividades cuyo tiempo de espera se agotó debido a que se agotó el tiempo de espera del latido.
ActivitiesScheduled Número de actividades programadas.
ActivitiesStarted Número de actividades iniciadas.
ActivitiesSucceeded Número de actividades realizadas correctamente.
ActivitiesTimedOut Número de actividades cuyo tiempo de espera se agotó durante el cierre.
ActivityRunTime Intervalo, en milisegundos, entre el momento en que se inicia la actividad y el momento en que se cierra.
ActivityScheduleTime Intervalo, en milisegundos, en el que la actividad permanece en el estado de programación.
ActivityTime Intervalo, en milisegundos, entre el momento en que se programa la actividad y el momento en que se cierra.

Dimensión para métricas de actividad de Step Functions

Dimensión Description (Descripción)
ActivityArn

El ARN de la actividad.

Métricas de función de Lambda

El espacio de nombres AWS/States incluye las siguientes métricas para las funciones de Lambda a las que se hace referencia directamente en el campo Resource de una definición de estado Task. Puede encontrar estas métricas en máquinas de estado heredadas. En las máquinas de estado modernas, recomendamos utilizar la integración optimizada de Lambda, que emite métricas de integración de servicios.

Métrica Description (Descripción)
LambdaFunctionRunTime Intervalo, en milisegundos, entre el momento en que se inicia la función de Lambda y el momento en que se cierra.
LambdaFunctionScheduleTime Intervalo, en milisegundos, en el que la función de Lambda permanece en el estado de programación.
LambdaFunctionTime Intervalo, en milisegundos, entre el momento en que se programa la función de Lambda y el momento en que se cierra.
LambdaFunctionsFailed Número de funciones de Lambda que han producido un error.
LambdaFunctionsScheduled Número de funciones de Lambda programadas.
LambdaFunctionsStarted Número de funciones de Lambda iniciadas.
LambdaFunctionsSucceeded Número de funciones de Lambda realizadas correctamente.
LambdaFunctionsTimedOut Número de funciones de Lambda cuyo tiempo de espera se agotó durante el cierre.

Dimensión para métricas de la función de Lambda de Step Functions

Dimensión Description (Descripción)
LambdaFunctionArn

El ARN de la función de Lambda.

nota

Las métricas de la función de Lambda se emiten para los estados Task que especifican el ARN de la función de Lambda en el campo Resource. Los estados Task que utilizan "Resource": "arn:aws:states:::lambda:invoke" emiten Métricas de integración de servicios en su lugar. Para obtener más información, consulte Invoca una AWS Lambda función con Step Functions.

Métricas de integración de servicios

El espacio de nombres AWS/States incluye las siguientes métricas para las integraciones de servicio de Step Functions. Para obtener más información, consulte Integración de servicios con Step Functions.

Métrica Description (Descripción)
ServiceIntegrationRunTime Intervalo, en milisegundos, entre el momento en que se inicia la tarea de servicio y el momento en que se cierra.
ServiceIntegrationScheduleTime Intervalo, en milisegundos, en el que la tarea de servicio permanece en el estado de programación.
ServiceIntegrationTime Intervalo, en milisegundos, entre el momento en que se programa la tarea de servicio y el momento en que se cierra.
ServiceIntegrationsFailed Número de tareas de servicio que han producido un error.
ServiceIntegrationsScheduled Número de tareas de servicio programadas.
ServiceIntegrationsStarted Número de tareas de servicio iniciadas.
ServiceIntegrationsSucceeded Número de tareas de servicio realizadas correctamente.
ServiceIntegrationsTimedOut Número de tareas de servicio cuyo tiempo de espera se agotó durante el cierre.

Dimensión para métricas de integración de servicios de Step Functions

Dimensión Description (Descripción)
ServiceIntegrationResourceArn

EL ARN de recurso del servicio integrado.

Métricas de servicios

El espacio de AWS/States nombres incluye las siguientes métricas para las métricas del servicio Step Functions.

Métricas a nivel de cuenta

Sin un ARN de máquina de estado, las siguientes métricas se muestran a nivel de cuenta. Proporcione un ARN de máquina de estado para informar a nivel de máquina de estado.

Métrica Description (Descripción)
ConsumedCapacity

Número de solicitudes por segundo.

ProvisionedBucketSize

Número de solicitudes disponibles por segundo.

ProvisionedRefillRate

Número de solicitudes por segundo que se permiten en el bucket.

ThrottledEvents

Número de solicitudes que han sido objeto de una limitación controlada.

Dimensión para métricas de servicios de Step Functions

Dimensión Description (Descripción)
ServiceMetric

Filtra los datos para StateTransition mostrarlos.

StateMachineArn

Filtra los datos para mostrar las transiciones de una máquina de estados específica.

Métricas de uso de la API

El espacio de nombres AWS/States incluye las siguientes métricas para la API de Step Functions.

Métrica Description (Descripción)
ThrottledEvents

Número de solicitudes que han sido objeto de una limitación controlada.

ProvisionedBucketSize

Número de solicitudes disponibles por segundo.

ProvisionedRefillRate

Número de solicitudes por segundo que se permiten en el bucket.

ConsumedCapacity

Número de solicitudes por segundo.

Dimensión para métricas de la API de Step Functions

Dimensión Description (Descripción)
APIName

Filtra datos a una API con el nombre de API especificado.