Uso de CloudWatch registros para registrar el historial de ejecuciones en Step Functions - 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.

Uso de CloudWatch registros para registrar el historial de ejecuciones en Step Functions

Los flujos de trabajo estándar registran el historial de ejecución en AWS Step Functions, aunque si lo desea, puede configurar el registro en Amazon CloudWatch Logs.

A diferencia de los flujos de trabajo estándar, los flujos de trabajo exprés no registran el historial de ejecución en AWS Step Functions. Para ver el historial de ejecución y los resultados de un flujo de trabajo rápido, debe configurar el registro en Amazon CloudWatch Logs. La publicación de registros no bloquea ni ralentiza las ejecuciones.

nota

Al configurar el registro, se aplicarán CloudWatch los cargos de Logs y se le facturará según la tarifa de los registros vendidos. Para obtener más información, consulta Registros vendidos en la pestaña Registros de la página de precios. CloudWatch

Configuración de registros

Al crear un flujo de trabajo estándar mediante la consola Step Functions, esa máquina de estados no se configurará para enviar CloudWatch registros a Logs. Al crear un flujo de trabajo rápido mediante la consola Step Functions, esa máquina de estados se configurará de forma predeterminada para enviar CloudWatch registros a Logs.

Para los flujos de trabajo exprés, Step Functions puede crear un rol con lo necesario AWS Identity and Access Management (IAM) política para CloudWatch registros. Si crea un flujo de trabajo estándar o un flujo de trabajo rápido con APICLI, o AWS CloudFormation, Step Functions no habilitará el registro de forma predeterminada y tendrás que asegurarte de que tu función cuenta con los permisos necesarios.

Para cada ejecución iniciada desde la consola, Step Functions proporciona un enlace a CloudWatch los registros, configurado con el filtro correcto para recuperar los eventos de registro específicos de esa ejecución.

Si lo desea, puede configurarlo como gestionado por el cliente AWS KMS claves para cifrar sus registros. Consulte Cifrado de datos en reposo para obtener información detallada y configurar los permisos.

Para configurar el registro, puede pasar el LoggingConfigurationparámetro cuando utilice CreateStateMachineo UpdateStateMachine. Puede analizar más a fondo sus datos en CloudWatch CloudWatch Logs Insights. Para obtener más información, consulte Análisis de datos de registro con CloudWatch Logs Insights.

CloudWatch Registra las cargas útiles

Los eventos del historial de ejecución pueden contener propiedades de entrada o salida en sus definiciones. Si la entrada de escape o la salida de salida enviada a CloudWatch Logs supera los 248 KB, se truncará como resultado de las cuotas de Logs. CloudWatch

IAMPolíticas para iniciar sesión en CloudWatch Logs

También tendrá que configurar la IAM función de ejecución de su máquina de estado para que tenga el permiso adecuado para iniciar sesión en CloudWatch Logs, como se muestra en el siguiente ejemplo.

IAMejemplo de política

A continuación se muestra una política de ejemplo que puede utilizar para configurar los permisos. Como se muestra en el siguiente ejemplo, debe especificar * en el Resource campo. CloudWatch APIlas acciones, como CreateLogDelivery y DescribeLogGroups, no admiten los tipos de recursos definidos por Amazon CloudWatch Logs. Para obtener más información, consulte Acciones definidas por Amazon CloudWatch Logs.

  • Para obtener más información CloudWatch recursos, consulte CloudWatch Logs recursos y operaciones en la Guía del CloudWatch usuario de Amazon.

  • Para obtener información sobre los permisos que necesita para configurar el envío de CloudWatch registros a Logs, consulte los permisos de usuario en la sección titulada Registros enviados a CloudWatch Logs.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:CreateLogStream", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:PutLogEvents", "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": "*" } ] }
Solución de problemas con el registro automático de estados en CloudWatch Logs

Si su máquina de estado no puede enviar CloudWatch registros a Logs, intente los siguientes pasos:

  1. Compruebe que la función de ejecución de su máquina de estado tenga permiso para iniciar sesión en CloudWatch Logs.

    Cuando llames a CreateStateMachinenuestros UpdateStateMachineAPIpuntos de conexión, asegúrate de que la IAM función especificada en el roleArn parámetro proporciona los permisos necesarios, como se muestra en el ejemplo de IAM política anterior.

  2. Compruebe que la política de recursos de CloudWatch Logs no supere el límite de 5.120 caracteres.

    Si la política supera el límite de caracteres, añada el prefijo a los nombres de los grupos de registros /aws/vendedlogs/states para conceder permisos a las máquinas de su estado y evitar el límite. Al crear un grupo de registros en la consola de Step Functions, los nombres de los grupos de registros sugeridos ya tienen el prefijo. /aws/vendedlogs/states Para obtener más información sobre las prácticas recomendadas de registro, consulteCloudWatch Registra los límites de tamaño de la política de recursos.

Niveles de registro de los eventos de ejecución de Step Functions

Los niveles de registro van de ALL ERROR a FATAL aOFF. Se registran todos los tipos de eventosALL, no se registra ningún tipo de evento cuando se establece enOFF. Para ERROR y FATAL, consulte la tabla siguiente.

Para obtener más información sobre los datos de ejecución que se muestran para las ejecuciones de flujos de trabajo rápidos en función de estos Niveles de registro, consulte Las consolas Standard y Express experimentan diferencias.

Tipo de evento ALL ERROR FATAL OFF

ChoiceStateEntered

Registrado No registrado No registrado ¿No está registrado

ChoiceStateExited

Registrado No registrado ¿No está registrado ¿No está registrado

ExecutionAborted

Registrado Registrado Registrado No registrado

ExecutionFailed

Registrado Registrado Registrado No registrado

ExecutionStarted

Registrado No registrado ¿No está registrado ¿No está registrado

ExecutionSucceeded

Registrado No registrado ¿No está registrado ¿No está registrado

ExecutionTimedOut

Registrado Registrado Registrado No registrado

FailStateEntered

Registrado Registrado No registrado ¿No está registrado

LambdaFunctionFailed

Registrado Registrado No registrado ¿No está registrado
LambdaFunctionScheduled Registrado No registrado ¿No está registrado ¿No está registrado

LambdaFunctionScheduleFailed

Registrado Registrado No registrado ¿No está registrado

LambdaFunctionStarted

Registrado No registrado ¿No está registrado ¿No está registrado

LambdaFunctionStartFailed

Registrado Registrado No registrado ¿No está registrado

LambdaFunctionSucceeded

Registrado No registrado ¿No está registrado ¿No está registrado

LambdaFunctionTimedOut

Registrado Registrado No registrado ¿No está registrado

MapIterationAborted

Registrado Registrado No registrado ¿No está registrado

MapIterationFailed

Registrado Registrado No registrado ¿No está registrado

MapIterationStarted

Registrado No registrado ¿No está registrado ¿No está registrado

MapIterationSucceeded

Registrado No registrado ¿No está registrado ¿No está registrado

MapRunAborted

Registrado Registrado No registrado ¿No está registrado

MapRunFailed

Registrado Registrado No registrado ¿No está registrado

MapStateAborted

Registrado Registrado No registrado ¿No está registrado

MapStateEntered

Registrado No registrado ¿No está registrado ¿No está registrado

MapStateExited

Registrado No registrado ¿No está registrado ¿No está registrado

MapStateFailed

Registrado Registrado No registrado ¿No está registrado

MapStateStarted

Registrado No registrado ¿No está registrado ¿No está registrado

MapStateSucceeded

Registrado No registrado ¿No está registrado ¿No está registrado

ParallelStateAborted

Registrado Registrado No registrado ¿No está registrado

ParallelStateEntered

Registrado No registrado ¿No está registrado ¿No está registrado

ParallelStateExited

Registrado No registrado ¿No está registrado ¿No está registrado
ParallelStateFailed Registrado Registrado No registrado ¿No está registrado

ParallelStateStarted

Registrado No registrado ¿No está registrado ¿No está registrado

ParallelStateSucceeded

Registrado No registrado ¿No está registrado ¿No está registrado

PassStateEntered

Registrado No registrado ¿No está registrado ¿No está registrado

PassStateExited

Registrado No registrado ¿No está registrado ¿No está registrado

SucceedStateEntered

Registrado No registrado ¿No está registrado ¿No está registrado

SucceedStateExited

Registrado No registrado ¿No está registrado ¿No está registrado

TaskFailed

Registrado Registrado No registrado ¿No está registrado

TaskScheduled

Registrado No registrado ¿No está registrado ¿No está registrado
TaskStarted Registrado No registrado ¿No está registrado ¿No está registrado

TaskStartFailed

Registrado Registrado No registrado ¿No está registrado

TaskStateAborted

Registrado Registrado No registrado ¿No está registrado

TaskStateEntered

Registrado No registrado ¿No está registrado ¿No está registrado
TaskStateExited Registrado No registrado ¿No está registrado ¿No está registrado
TaskSubmitFailed Registrado Registrado No registrado ¿No está registrado
TaskSubmitted Registrado No registrado ¿No está registrado ¿No está registrado
TaskSucceeded Registrado No registrado ¿No está registrado ¿No está registrado
TaskTimedOut Registrado Registrado No registrado ¿No está registrado
WaitStateAborted Registrado Registrado No registrado ¿No está registrado
WaitStateEntered Registrado No registrado ¿No está registrado ¿No está registrado
WaitStateExited Registrado No registrado ¿No está registrado ¿No está registrado