Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo di CloudWatch Logs per registrare la cronologia delle esecuzioni in Step Functions
I flussi di lavoro standard registrano la cronologia di esecuzione in AWS Step Functions, sebbene sia possibile configurare facoltativamente la registrazione su Amazon CloudWatch Logs.
A differenza dei flussi di lavoro standard, Express Workflows non registra la cronologia di esecuzione in AWS Step Functions. Per visualizzare la cronologia di esecuzione e i risultati di un Express Workflow, devi configurare la registrazione su Amazon CloudWatch Logs. I log di pubblicazione non bloccano o rallentano le esecuzioni.
Nota
Quando configuri la registrazione, verranno applicati i costi di CloudWatch Logs e ti verrà addebitata
Configurazione della registrazione
Quando si crea un flusso di lavoro standard utilizzando la console Step Functions, quella macchina a stati non sarà configurata per inviare log a CloudWatch Logs. Quando si crea un Express Workflow utilizzando la console Step Functions, quella macchina a stati sarà configurata per impostazione predefinita per inviare log a CloudWatch Logs.
Per i flussi di lavoro Express, Step Functions può creare un ruolo con il necessario AWS Identity and Access Management (IAM) politica per i CloudWatch registri. Se si crea un flusso di lavoro standard o un flusso di lavoro Express utilizzando APICLI, o AWS CloudFormation, Step Functions non abilita la registrazione per impostazione predefinita e dovrai assicurarti che il tuo ruolo disponga delle autorizzazioni necessarie.
Per ogni esecuzione avviata dalla console, Step Functions fornisce un collegamento a CloudWatch Logs, configurato con il filtro corretto per recuperare gli eventi di registro specifici per quell'esecuzione.
Facoltativamente, puoi configurare Customer Managed AWS KMS chiavi per crittografare i log. Vedi Crittografia dei dati inattivi per i dettagli e le impostazioni di autorizzazione.
Per configurare la registrazione, puoi passare il LoggingConfigurationparametro quando usi CreateStateMachineo UpdateStateMachine. È possibile analizzare ulteriormente i dati in CloudWatch Logs utilizzando CloudWatch Logs Insights. Per ulteriori informazioni, consulta Analisi dei dati di registro con CloudWatch Logs Insights.
CloudWatch Registra i payload
Gli eventi della cronologia di esecuzione possono contenere proprietà di input o output nelle loro definizioni. Se l'input con escape o l'output con escape inviato a CloudWatch Logs supera i 248 KB, verrà troncato a causa delle quote di log. CloudWatch
-
È possibile determinare se un payload è stato troncato esaminando le proprietà and.
inputDetails
outputDetails
Per ulteriori informazioni, consulta il Tipo di dati.HistoryEventExecutionDataDetails
-
Per i flussi di lavoro standard, puoi visualizzare la cronologia completa delle esecuzioni utilizzando
GetExecutionHistory
. -
GetExecutionHistory
non è disponibile per Express Workflows. Se vuoi vedere l'input e l'output completi, puoi usare Amazon S3ARNs. Per ulteriori informazioni, consulta Utilizzo di Amazon S3 ARNs anziché trasferire payload di grandi dimensioni in Step Functions.
IAMPolitiche per la registrazione nei registri CloudWatch
È inoltre necessario configurare il IAM ruolo di esecuzione della macchina a stati per disporre dell'autorizzazione appropriata per accedere ai CloudWatch registri, come mostrato nell'esempio seguente.
IAMesempio di politica
Di seguito è riportata una policy di esempio che è possibile utilizzare per configurare le autorizzazioni. Come illustrato nell'esempio seguente, è necessario specificare * nel Resource
campo. CloudWatch APIle azioni, come CreateLogDelivery e DescribeLogGroups, non supportano i tipi di risorse definiti da Amazon CloudWatch Logs. Per ulteriori informazioni, vedere Azioni definite da Amazon CloudWatch Logs.
-
Per informazioni su CloudWatch risorse, vedi CloudWatch Logs risorse e operazioni nella Amazon CloudWatch User Guide.
-
Per informazioni sulle autorizzazioni necessarie per configurare l'invio di log a CloudWatch Logs, consulta Autorizzazioni utente nella sezione intitolata Logs sent to 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": "*" } ] }
Risoluzione dei problemi relativi alla registrazione della macchina a stati nei registri CloudWatch
Se la tua macchina a stati non è in grado di inviare log a CloudWatch Logs, prova i seguenti passaggi:
-
Verifica che il ruolo di esecuzione della tua macchina a stati sia autorizzato ad accedere ai CloudWatch registri.
Quando chiamate CreateStateMachineo UpdateStateMachineAPIterminate gli endpoint, assicuratevi che il IAM ruolo specificato nel
roleArn
parametro fornisca le autorizzazioni necessarie, mostrate nell'esempio di policy precedenteIAM. -
Verifica che la politica delle risorse CloudWatch Logs non superi il limite di 5.120 caratteri.
Se la politica supera il limite di caratteri, inserisci come prefisso i nomi dei gruppi di log
/aws/vendedlogs/states
per concedere le autorizzazioni alle macchine a stati ed evitare il limite. Quando si crea un gruppo di log nella console Step Functions, i nomi dei gruppi di log suggeriti hanno già il prefisso./aws/vendedlogs/states
Per ulteriori informazioni sulle migliori pratiche di registrazione, consulta. CloudWatch Registra i limiti di dimensione delle politiche relative alle risorse
Livelli di registro per gli eventi di esecuzione di Step Functions
I livelli di registro vanno da ALL
ERROR
a FATAL
aOFF
. Tutti i tipi di eventi vengono registratiALL
, nessun tipo di evento viene registrato se impostato su. OFF
Per ERROR
e FATAL
, consulta la tabella seguente.
Per ulteriori informazioni sui dati di esecuzione visualizzati per le esecuzioni di Express Workflow basate su questi livelli di registro, vedere. Differenze di esperienza tra console Standard ed Express
Tipo di evento | ALL |
ERROR |
FATAL |
OFF |
---|---|---|---|---|
ChoiceStateEntered |
Registrato | Non registrato | Non registrato | Non registrato |
ChoiceStateExited |
Registrato | Non registrato | Non registrato | Non registrato |
ExecutionAborted |
Registrato | Registrato | Registrato | Non registrato |
ExecutionFailed |
Registrato | Registrato | Registrato | Non registrato |
ExecutionStarted |
Registrato | Non registrato | Non registrato | Non registrato |
ExecutionSucceeded |
Registrato | Non registrato | Non registrato | Non registrato |
ExecutionTimedOut |
Registrato | Registrato | Registrato | Non registrato |
FailStateEntered |
Registrato | Registrato | Non registrato | Non registrato |
LambdaFunctionFailed |
Registrato | Registrato | Non registrato | Non registrato |
LambdaFunctionScheduled | Registrato | Non registrato | Non registrato | Non registrato |
LambdaFunctionScheduleFailed |
Registrato | Registrato | Non registrato | Non registrato |
LambdaFunctionStarted |
Registrato | Non registrato | Non registrato | Non registrato |
LambdaFunctionStartFailed |
Registrato | Registrato | Non registrato | Non registrato |
LambdaFunctionSucceeded |
Registrato | Non registrato | Non registrato | Non registrato |
LambdaFunctionTimedOut |
Registrato | Registrato | Non registrato | Non registrato |
MapIterationAborted |
Registrato | Registrato | Non registrato | Non registrato |
MapIterationFailed |
Registrato | Registrato | Non registrato | Non registrato |
MapIterationStarted |
Registrato | Non registrato | Non registrato | Non registrato |
MapIterationSucceeded |
Registrato | Non registrato | Non registrato | Non registrato |
MapRunAborted |
Registrato | Registrato | Non registrato | Non registrato |
MapRunFailed |
Registrato | Registrato | Non registrato | Non registrato |
MapStateAborted |
Registrato | Registrato | Non registrato | Non registrato |
MapStateEntered |
Registrato | Non registrato | Non registrato | Non registrato |
MapStateExited |
Registrato | Non registrato | Non registrato | Non registrato |
MapStateFailed |
Registrato | Registrato | Non registrato | Non registrato |
MapStateStarted |
Registrato | Non registrato | Non registrato | Non registrato |
MapStateSucceeded |
Registrato | Non registrato | Non registrato | Non registrato |
ParallelStateAborted |
Registrato | Registrato | Non registrato | Non registrato |
ParallelStateEntered |
Registrato | Non registrato | Non registrato | Non registrato |
ParallelStateExited |
Registrato | Non registrato | Non registrato | Non registrato |
ParallelStateFailed | Registrato | Registrato | Non registrato | Non registrato |
ParallelStateStarted |
Registrato | Non registrato | Non registrato | Non registrato |
ParallelStateSucceeded |
Registrato | Non registrato | Non registrato | Non registrato |
PassStateEntered |
Registrato | Non registrato | Non registrato | Non registrato |
PassStateExited |
Registrato | Non registrato | Non registrato | Non registrato |
SucceedStateEntered |
Registrato | Non registrato | Non registrato | Non registrato |
SucceedStateExited |
Registrato | Non registrato | Non registrato | Non registrato |
TaskFailed |
Registrato | Registrato | Non registrato | Non registrato |
TaskScheduled |
Registrato | Non registrato | Non registrato | Non registrato |
TaskStarted | Registrato | Non registrato | Non registrato | Non registrato |
TaskStartFailed |
Registrato | Registrato | Non registrato | Non registrato |
TaskStateAborted |
Registrato | Registrato | Non registrato | Non registrato |
TaskStateEntered |
Registrato | Non registrato | Non registrato | Non registrato |
TaskStateExited | Registrato | Non registrato | Non registrato | Non registrato |
TaskSubmitFailed | Registrato | Registrato | Non registrato | Non registrato |
TaskSubmitted | Registrato | Non registrato | Non registrato | Non registrato |
TaskSucceeded | Registrato | Non registrato | Non registrato | Non registrato |
TaskTimedOut | Registrato | Registrato | Non registrato | Non registrato |
WaitStateAborted | Registrato | Registrato | Non registrato | Non registrato |
WaitStateEntered | Registrato | Non registrato | Non registrato | Non registrato |
WaitStateExited | Registrato | Non registrato | Non registrato | Non registrato |