AWS Step Functions

Información general

AWS Step Functions te permite coordinar los componentes de aplicaciones distribuidas y microservicios mediante flujos (flows) de trabajo visuales.

Esta integración te permite ver métricas básicas de AWS Step Functions en Datadog. Para el rastreo y las métricas mejoradas, consulta Monitorización serverless de Datadog para AWS Step Functions.

Configuración

Instalación

Si aún no lo has hecho, configura la integración Amazon Web Services. A continuación, añade los siguientes permisos al documento de la política de tu rol AWS/Datadog:

states:ListStateMachines,
states:DescribeStateMachine

Recopilación de métricas

  1. En la página de la integración AWS, asegúrate de que States está habilitado en la pestaña Metric Collection. Si tus máquinas de estado utilizan AWS Lambda, asegúrate también de que Lambda está seleccionado.
  2. Instala la integración Datadog - AWS Step Functions.

Para enriquecer las métricas AWS Lambda

Si tus estados de Step Functions son funciones Lambda, al instalar esta integración se añaden las etiquetas (tags) statemachinename, statemachinearn y stepname adicionales a tus métricas Lambda. Esto te permite ver a qué máquinas de estado pertenecen tus funciones Lambda: Puedes visualizarlo en la página Serverless.

Recopilación de métricas mejorada

Datadog también puede generar métricas mejoradas para tus Step Functions para ayudarte a realizar un seguimiento del promedio o p99 de las duraciones de pasos individuales. Para utilizar estas métricas mejoradas, consulta Monitorización serverless de Datadog para AWS Step Functions.

Recopilación de logs

  1. Configura AWS Step Functions para enviar logs a CloudWatch. Nota: Utiliza el prefijo del grupo de logs de CloudWatch predeterminado /aws/vendedlogs/states de Datadog para identificar el origen de los logs y analizarlos automáticamente.
  2. Envía los logs a Datadog.

Recopilación de trazas

Puedes habilitar la recopilación de trazas de dos formas: a través de Datadog APM para AWS Step Functions o a través de AWS X-Ray.

Habilitar el rastreo a través de Datadog APM para AWS Step Functions

Para habilitar el rastreo distribuido para tus AWS Step Functions. Consulta Monitorización serverless de Datadog para AWS Step Functions.

Habilitar el rastreo a través de AWS X-Ray

Esta opción no recopila métricas mejoradas para AWS Step Functions. Para recopilar estas métricas, debes habilitar el rastreo a través de Datadog APM para AWS Step Functions.

Para recopilar trazas de tus AWS Step Functions a través de AWS X-Ray:

  1. Habilita la integración Datadog - AWS X-Ray.
  2. Inicia sesión en la consola de AWS.
  3. Ve a Step Functions.
  4. Selecciona una de tus Step Functions y haz clic en Edit (Editar).
  5. Desplázate a la sección Rastreo en la parte inferior de la página y selecciona la casilla para Habilitar el rastreo X-Ray.
  6. Recomendado: Instala la biblioteca de rastreo AWS X-Ray en tus funciones para obtener trazas más detalladas.

Datos recopilados

Métricas

aws.states.activities_failed
(count)
Número de actividades fallidas.
aws.states.activities_heartbeat_timed_out
(count)
Número de actividades interrumpidas debido a un tiempo de espera de latido.
aws.states.activities_scheduled
(count)
Número de actividades programadas.
aws.states.activities_started
(count)
Número de actividades iniciadas.
aws.states.activities_succeeded
(count)
Número de actividades completadas con éxito.
aws.states.activities_timed_out
(count)
Número de actividades interrumpidas en el momento del cierre.
aws.states.activity_run_time
(gauge)
Intervalo de tiempo medio, en milisegundos, entre el momento del inicio de la actividad y su cierre.
Se muestra como milisegundo
aws.states.activity_run_time.maximum
(gauge)
Intervalo de tiempo máximo, en milisegundos, entre el momento del inicio de la actividad y su cierre.
Se muestra como milisegundo
aws.states.activity_run_time.minimum
(gauge)
Intervalo de tiempo mínimo, en milisegundos, entre el momento del inicio de la actividad y su cierre.
Se muestra como milisegundo
aws.states.activity_run_time.p95
(gauge)
Intervalo de tiempo del percentil 95, en milisegundos, entre el momento del inicio de la actividad y su cierre.
Se muestra como milisegundo
aws.states.activity_run_time.p99
(gauge)
Intervalo de tiempo del percentil 99, en milisegundos, entre el momento del inicio de la actividad y su cierre.
Se muestra como milisegundo
aws.states.activity_schedule_time
(gauge)
Intervalo de tiempo medio, en milisegundos, en que la actividad ha permanecido en estado de programación.
Se muestra como milisegundo
aws.states.activity_schedule_time.maximum
(gauge)
Intervalo de tiempo máximo, en milisegundos, en que la actividad ha permanecido en estado de programación.
Se muestra como milisegundo
aws.states.activity_schedule_time.minimum
(gauge)
Intervalo de tiempo mínimo, en milisegundos, en que la actividad ha permanecido en estado de programación.
Se muestra como milisegundo
aws.states.activity_schedule_time.p95
(gauge)
Intervalo de tiempo del percentil 95, en milisegundos, en que la actividad ha permanecido en estado de programación.
Se muestra como milisegundo
aws.states.activity_schedule_time.p99
(gauge)
Intervalo de tiempo del percentil 99, en milisegundos, en que la actividad ha permanecido en estado de programación.
Se muestra como milisegundo
aws.states.activity_time
(gauge)
Intervalo de tiempo medio, en milisegundos, entre el momento de la programación de la actividad y su cierre.
Se muestra como milisegundo
aws.states.activity_time.maximum
(gauge)
Intervalo de tiempo máximo, en milisegundos, entre el momento de la programación de la actividad y su cierre.
Se muestra como milisegundo
aws.states.activity_time.minimum
(gauge)
Intervalo de tiempo mínimo, en milisegundos, entre el momento de la programación de la actividad y su cierre.
Se muestra como milisegundo
aws.states.activity_time.p95
(gauge)
Intervalo de tiempo del percentil 95, en milisegundos, entre el momento de la programación de la actividad y su cierre.
Se muestra como milisegundo
aws.states.activity_time.p99
(gauge)
Intervalo de tiempo del percentil 99, en milisegundos, entre el momento de la programación de la actividad y su cierre.
Se muestra como milisegundo
aws.states.enhanced.execution.execution_time
(gauge)
Tiempo medio de ejecución de la máquina de estados.
Se muestra como nanosegundo
aws.states.enhanced.execution.execution_time.maximum
(gauge)
Tiempo máximo de ejecución de la máquina de estados.
Se muestra como nanosegundo
aws.states.enhanced.execution.execution_time.minimum
(gauge)
Tiempo mínimo de ejecución de la máquina de estados.
Se muestra como nanosegundo
aws.states.enhanced.execution.execution_time.p95
(gauge)
Percentil 95 del tiempo de ejecución de la máquina de estados.
Se muestra como nanosegundo
aws.states.enhanced.execution.execution_time.p99
(gauge)
Percentil 99 del tiempo de ejecución de la máquina de estados.
Se muestra como nanosegundo.
aws.states.enhanced.execution.failed
(count)
Número de ejecuciones de máquinas de estados fallidas.
aws.states.enhanced.execution.started
(count)
Número de ejecuciones de máquinas de estado iniciadas.
aws.states.enhanced.execution.succeeded
(count)
Número de ejecuciones de máquinas de estado exitosas.
aws.states.enhanced.task.execution.task_duration
(gauge)
Duración media de una tarea en la máquina de estados.
Se muestra como nanosegundo
aws.states.enhanced.task.execution.task_duration.maximum
(gauge)
Duración máxima de una tarea en la máquina de estados.
Se muestra como nanosegundo
aws.states.enhanced.task.execution.task_duration.minimum
(gauge)
Duración mínima de una tarea en la máquina de estados.
Se muestra como nanosegundo
aws.states.enhanced.task.execution.task_duration.p95
(gauge)
Percentil 95 de la duración de una tarea en la máquina de estados.
Se muestra como nanosegundo
aws.states.enhanced.task.execution.task_duration.p99
(gauge)
Percentil 99 de la duración de una tarea en la máquina de estados.
Se muestra como nanosegundo
aws.states.enhanced.task.execution.task_failed
(count)
Número de ejecuciones de tareas de máquinas de estado fallidas.
aws.states.enhanced.task.execution.task_started
(count)
Número de ejecuciones de tareas de máquinas de estado iniciadas.
aws.states.enhanced.task.execution.task_succeeded
(count)
Número de ejecuciones de tareas de máquinas de estado exitosas.
aws.states.execution_throttled
(count)
Número de eventos StateEntered además de los reintentos.
aws.states.execution_time
(gauge)
Intervalo de tiempo medio, en milisegundos, entre el comienzo de la ejecución y su cierre.
Se muestra como milisegundo
aws.states.execution_time.maximum
(gauge)
Intervalo de tiempo máximo, en milisegundos, entre el comienzo de la ejecución y su cierre.
Se muestra como milisegundo
aws.states.execution_time.minimum
(gauge)
Intervalo de tiempo mínimo, en milisegundos, entre el comienzo de la ejecución y su cierre.
Se muestra como milisegundo
aws.states.execution_time.p95
(gauge)
Intervalo del percentil 95, en milisegundos, entre el comienzo de la ejecución y su cierre.
Se muestra como milisegundo
aws.states.execution_time.p99
(gauge)
Intervalo del percentil 99, en milisegundos, entre el comienzo de la ejecución y su cierre.
Se muestra como milisegundo
aws.states.executions_aborted
(count)
Número de ejecuciones abortadas/terminadas.
aws.states.executions_failed
(count)
Número de ejecuciones fallidas.
aws.states.executions_started
(count)
Número de ejecuciones iniciadas.
aws.states.executions_succeeded
(count)
Número de ejecuciones completadas con éxito.
aws.states.executions_timed_out
(count)
Número de ejecuciones interrumpidas por cualquier motivo.
aws.states.lambda_function_run_time
(gauge)
Intervalo de tiempo medio, en milisegundos, entre el inicio de la función Lambda y su cierre.
Se muestra como milisegundo
aws.states.lambda_function_run_time.maximum
(gauge)
Intervalo de tiempo máximo, en milisegundos, entre el inicio de la función Lambda y su cierre.
Se muestra como milisegundo
aws.states.lambda_function_run_time.minimum
(gauge)
Intervalo de tiempo mínimo, en milisegundos, entre el inicio de la función Lambda y su cierre.
Se muestra como milisegundo
aws.states.lambda_function_run_time.p95
(gauge)
Intervalo de tiempo del percentil 95, en milisegundos, entre el inicio de la función Lambda y su cierre.
Se muestra como milisegundo
aws.states.lambda_function_run_time.p99
(gauge)
Intervalo de tiempo del percentil 99, en milisegundos, entre el inicio de la función Lambda y su cierre.
Se muestra como milisegundo
aws.states.lambda_function_schedule_time
(gauge)
Intervalo de tiempo medio, en milisegundos, en que la actividad ha permanecido en estado de programación.
Se muestra como milisegundo
aws.states.lambda_function_schedule_time.maximum
(gauge)
Intervalo de tiempo máximo, en milisegundos, en que la actividad ha permanecido en estado de programación.
Se muestra como milisegundo
aws.states.lambda_function_schedule_time.minimum
(gauge)
Intervalo de tiempo mínimo, en milisegundos, en que la actividad ha permanecido en estado de programación.
Se muestra como milisegundo
aws.states.lambda_function_schedule_time.p95
(gauge)
Intervalo de tiempo del percentil 95, en milisegundos, en que la actividad ha permanecido en estado de programación.
Se muestra como milisegundo
aws.states.lambda_function_schedule_time.p99
(gauge)
Intervalo de tiempo del percentil 99, en milisegundos, en que la actividad ha permanecido en estado de programación.
Se muestra como milisegundo
aws.states.lambda_function_time
(gauge)
Intervalo de tiempo medio, en milisegundos, entre la programación de la función Lambda y su cierre.
Se muestra como milisegundo
aws.states.lambda_function_time.maximum
(gauge)
Intervalo de tiempo máximo, en milisegundos, entre la programación de la función Lambda y su cierre.
Se muestra como milisegundo
aws.states.lambda_function_time.minimum
(gauge)
Intervalo de tiempo mínimo, en milisegundos, entre la programación de la función Lambda y su cierre.
Se muestra como milisegundo
aws.states.lambda_function_time.p95
(gauge)
Intervalo de tiempo del percentil 95, en milisegundos, entre la programación de la función Lambda y su cierre.
Se muestra como milisegundo
aws.states.lambda_function_time.p99
(gauge)
Intervalo de tiempo del percentil 99, en milisegundos, entre la programación de la función Lambda y su cierre.
Se muestra como milisegundo
aws.states.lambda_functions_failed
(count)
Número de funciones Lambda fallidas.
aws.states.lambda_functions_heartbeat_timed_out
(count)
Número de funciones Lambda interrumpidas debido a un tiempo de espera de latido.
aws.states.lambda_functions_scheduled
(count)
Número de funciones Lambda programadas.
aws.states.lambda_functions_started
(count)
Número de funciones Lambda iniciadas.
aws.states.lambda_functions_succeeded
(count)
Número de funciones Lambda completadas con éxito.
aws.states.lambda_functions_timed_out
(count)
Número de funciones Lambda interrumpidas al cerrarse.

Eventos

La integración AWS Step Functions no incluye eventos.

Checks de servicio

La integración AWS Step Functions no incluye checks de servicios.

Solucionar problemas

¿Necesitas ayuda? Ponte en contacto con el servicio de asistencia de Datadog.