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
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
-
Para determinar si una carga se ha truncado, revise las propiedades
inputDetails
youtputDetails
. Para obtener más información, consulte el Tipo de datosHistoryEventExecutionDataDetails
. -
En el caso de los flujos de trabajo estándar, puede ver el historial de ejecución completo mediante
GetExecutionHistory
. -
GetExecutionHistory
no está disponible para flujos de trabajo rápidos. Si desea ver las entradas y salidas completas, puede utilizar Amazon S3ARNs. Para obtener más información, consulte Uso de Amazon S3 ARNs en lugar de transferir grandes cargas en Step Functions.
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:
-
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. -
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 |