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. Debe recopilar la mayor cantidad de datos de supervisión de los AWS servicios que utilice para poder depurar errores multipuntuales.

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.

Por ejemplo, con Step Functions, puedes controlar cuántas actividades o AWS Lambda tareas fallan debido al tiempo de espera de un latido. Si el rendimiento se sale de la referencia establecida, es posible que tenga que cambiar el intervalo de latidos.

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

  • ActivitiesStarted

  • ActivitiesTimedOut

  • ExecutionsStarted

  • ExecutionsTimedOut

  • LambdaFunctionsStarted

  • LambdaFunctionsTimedOut

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 mediante AWS Management Console.

CloudWatch entrega de métricas

CloudWatch las métricas se entregan haciendo el mejor esfuerzo 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. El punto de datos puede demorarse un minuto antes de estar disponible o CloudWatch puede que no se entregue en absoluto. CloudWatch Las 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.

Step Functions emite dos métricas ExecutionsStarted para cada ejecución de máquina de estado. Esto hace que la SampleCountestadística de la ExecutionsStarted métrica muestre el valor de 2 para cada ejecución de una máquina de estados. La SampleCount estadística muestra ExecutionStarted=1 y ExecutionStarted=0 cuándo se completa la ejecución.

sugerencia

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

Métricas de ejecución

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

Métrica Descripción
OpenExecutionCount

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

El objetivo es proporcionar información sobre cuándo los 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 si se está acercando a su 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 la máquina de estado con versión o alias

Cuando ejecuta una máquina de estado con una versión o un alias, Step Functions emite las siguientes métricas. La métrica ExecutionThrottled solo se emitirá en caso de ejecución limitada. Estas métricas incluirán una StateMachineArn para identificar una máquina de estado específica.

Métrica Descripción
ExecutionTime Intervalo, en milisegundos, entre el momento en que se inicia la ejecución y el momento en que se cierra.
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.
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.

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étrica Descripción
ExpressExecutionMemory

La memoria total consumida por un flujo de trabajo rápido.

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.

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

Cuando redrivecuando se ejecuta en una máquina de estados, Step Functions emite las siguientes métricas.

Para todos redriven en las ejecuciones, se emite la Executions* métrica. Por ejemplo, digamos un redriven la ejecución se interrumpe. Esta ejecución emitirá puntos de datos distintos de cero para RedrivenExecutionsAborted y ExecutionsAborted.

Métrica Descripción
ExecutionsRedriven Número de redriven ejecuciones.
RedrivenExecutionsAborted Número de redriven ejecuciones que se cancelan o dan por terminadas.
RedrivenExecutionsTimedOut Número de redriven ejecuciones cuyo tiempo de espera se agota por cualquier motivo.
RedrivenExecutionsSucceeded Número de redriven ejecuciones que se completaron satisfactoriamente.
RedrivenExecutionsFailed Número de redriven ejecuciones fallidas.

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

Dimensión 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 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 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 recuento de recursos para versiones y alias

El espacio de nombres AWS/States incluye las siguientes métricas para el recuento de versiones y alias de una máquina de estado.

Métrica 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 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étrica Descripción
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.
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.

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

Dimensión 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 de Step Functions.

Métrica 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 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 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 Descripción

ServiceIntegrationResourceArn

EL ARN de recurso del servicio integrado.

Métricas de servicios

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

Métrica 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 servicios de Step Functions

Dimensión Descripción

ServiceMetric

Filtra datos para mostrar las métricas de transiciones de estado.

Métricas de API

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

Métrica 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 Descripción

APIName

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

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 AWS Management Console 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 ordenar tus métricas por nombre de métrica o usa StateMachineArnlos encabezados de las columnas.

    • 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 AWS Management Console y ábrela.

  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.

  4. Elija una métrica y, a continuación, elija Métricas diagramadas.

  5. 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.

  6. 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.