Monitoraggio delle metriche di Step Functions tramite Amazon CloudWatch - AWS Step Functions

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

Monitoraggio delle metriche di Step Functions tramite Amazon CloudWatch

Il monitoraggio è una parte importante per mantenere l'affidabilità, la disponibilità e le prestazioni delle AWS Step Functions tue AWS soluzioni. È necessario raccogliere il maggior numero di dati di monitoraggio dai AWS servizi utilizzati in modo da poter eseguire il debug di errori multipunto.

Prima di iniziare a monitorare Step Functions, è necessario creare un piano di monitoraggio che risponda alle seguenti domande:

  • Quali sono gli obiettivi del monitoraggio?

  • Di quali risorse si intende eseguire il monitoraggio?

  • Con quale frequenza sarà eseguito il monitoraggio di queste risorse?

  • Quali strumenti di monitoraggio verranno utilizzati?

  • Chi eseguirà i processi di monitoraggio?

  • Chi deve ricevere una notifica quando si verifica un problema?

Il passaggio successivo consiste nello stabilire una baseline per le prestazioni normali di nel tuo ambiente. A questo proposito, misura le prestazioni in diversi orari e in diverse condizioni di carico. Durante il monitoraggio di Step Functions, valuta la possibilità di archiviare i dati di monitoraggio storici. Tali dati possono servire come baseline per il confronto con i dati relativi sulle prestazioni correnti, per identificare modelli di prestazioni normali e anomalie nelle prestazioni nonché elaborare metodi mediante i quali risolvere i problemi.

Ad esempio, con Step Functions, puoi monitorare quante attività o AWS Lambda attività falliscono a causa di un timeout del battito cardiaco. Quando le prestazioni non rientrano nella baseline stabilita, è possibile che sia necessario modificare l'intervallo di heartbeat.

Per stabilire una baseline, devi monitorare almeno i seguenti parametri:

  • ActivitiesStarted

  • ActivitiesTimedOut

  • ExecutionsStarted

  • ExecutionsTimedOut

  • LambdaFunctionsStarted

  • LambdaFunctionsTimedOut

Metriche Step Functions per CloudWatch

Step Functions fornisce i seguenti tipi di metriche ad Amazon CloudWatch. Puoi utilizzare questi parametri per monitorare le macchine a stati e le attività e per impostare allarmi sui valori di soglia. Puoi visualizzare le metriche utilizzando. AWS Management Console

CloudWatch consegna delle metriche

I parametri di CloudWatch vengono distribuiti sulla base del miglior tentativo.

La completezza e la tempestività dei parametri non è garantita. È possibile che il data point per una richiesta specifica venga restituito con un timestamp successivo a quello del momento effettivo di elaborazione della richiesta. Il data point potrebbe subire un ritardo di un minuto prima di essere disponibile oppure potrebbe non essere consegnato affatto. CloudWatch CloudWatchle metriche di richiesta ti danno un'idea delle esecuzioni delle macchine a stati in tempo quasi reale. Non è pensato per essere una contabilità completa di tutte le metriche relative all'esecuzione.

Poiché questa funzionalità richiede il massimo impegno, i report disponibili nella dashboard di Billing & Cost Management potrebbero includere una o più richieste di accesso che non compaiono nelle metriche di esecuzione.

Metriche che segnalano un intervallo di tempo

Alcune delle CloudWatch metriche di Step Functions sono intervalli di tempo, misurati sempre in millisecondi. Queste metriche generalmente corrispondono alle fasi dell'esecuzione per le quali è possibile impostare i timeout della macchina a stati, dell'attività e della funzione Lambda, con nomi descrittivi.

Ad esempio, il parametro ActivityRunTime misura il tempo necessario per il completamento di un'attività dopo che ne viene avviata l'esecuzione. Puoi impostare un valore di timeout per lo stesso periodo di tempo.

Nella CloudWatch console, puoi ottenere i risultati migliori se scegli la media come statistica di visualizzazione per le metriche degli intervalli di tempo.

Metriche che riportano un conteggio

Alcune CloudWatch metriche di Step Functions riportano i risultati sotto forma di conteggio. Ad esempio, ExecutionsFailed registra il numero di esecuzioni di macchina di stato che hanno esito negativo.

Step Functions emette due ExecutionsStarted metriche per ogni esecuzione di una macchina a stati. Ciò fa sì che la SampleCountstatistica della ExecutionsStarted metrica mostri il valore di 2 per ogni esecuzione di una macchina a stati. La SampleCount statistica mostra ExecutionStarted=1 e ExecutionStarted=0 quando l'esecuzione è completata.

Suggerimento

Ti consigliamo di selezionare Sum come statistica di visualizzazione per le metriche che riportano un conteggio nella console. CloudWatch

Parametri di esecuzione

Il AWS/States namespace include le seguenti metriche per tutte le esecuzioni di Step Functions. Si tratta di metriche adimensionali che si applicano a tutto il tuo account in una regione.

Parametro Descrizione
OpenExecutionCount

Numero approssimativo di esecuzioni attualmente aperte, ossia flussi di lavoro attualmente in corso nel tuo account.

L'intento è quello di fornire informazioni dettagliate su quando i flussi di lavoro si avvicinano al limite massimo di esecuzione, per evitare ExecutionLimitExceedederrori durante le chiamate o per i flussi di lavoro standard. StartExecution RedriveExecution

OpenExecutionCountè un numero approssimativo di flussi di lavoro aperti. Questa metrica sarà inferiore al numero di flussi di lavoro in esecuzione osservato. L'esecuzione di un numero di flussi di lavoro aperti inferiore a 10.000 può mostrare zero esecuzioni aperte. Affinché un allarme ti avvisi se ti stai avvicinando al tuoOpenExecutionLimit, ti consigliamo di utilizzare la statistica Maximum con una soglia di 100.000 o superiore, poiché il limite predefinito del flusso di lavoro aperto è di 1.000.000 di esecuzioni.

OpenExecutionLimit

Numero massimo di esecuzioni aperte. Per ulteriori informazioni, consulta Quote relative agli account.

Questo limite non si applica ai flussi di lavoro Express.

Metriche di esecuzione per la macchina a stati con versione o alias

Quando si esegue l'esecuzione di una macchina a stati con una versione o un alias, Step Functions emette le seguenti metriche. La ExecutionThrottled metrica verrà emessa solo in caso di esecuzione limitata. Queste metriche includeranno un metodo StateMachineArn per identificare una macchina a stati specifica.

Parametro Descrizione
ExecutionTime Intervallo, in millisecondi, tra l'inizio dell'esecuzione e il momento in cui si chiude.
ExecutionThrottled Numero di StateEntered eventi e tentativi che sono stati limitati. Questo si riferisce al throttling di StateTransition. Per ulteriori informazioni, consulta Quote relative alla limitazione statale.
ExecutionsAborted Numero di esecuzioni interrotte o terminate.
ExecutionsFailed Numero di esecuzioni non riuscite.
ExecutionsStarted Numero di esecuzioni iniziate.
ExecutionsSucceeded Numero di esecuzioni completate con successo.
ExecutionsTimedOut Numero di esecuzioni scadute per qualsiasi motivo.

Metriche di esecuzione per Express Workflows

Il AWS/States namespace include le seguenti metriche per le esecuzioni di Step Functions Express Workflows.

Parametro Descrizione
ExpressExecutionMemory

La memoria totale consumata da un Express Workflow.

ExpressExecutionBilledDuration

La durata per la quale viene addebitato un Express Workflow.

ExpressExecutionBilledMemory

La quantità di memoria consumata per la quale viene addebitato un Express Workflow.

Redrivemetriche di esecuzione per i flussi di lavoro standard

Quando si esegue redriveuna macchina a stati, Step Functions emette le seguenti metriche.

Per tutte le redriven esecuzioni, viene emessa la Executions* metrica. Ad esempio, supponiamo che un'esecuzione si interromparedriven. Questa esecuzione emetterà punti dati diversi da zero per entrambi e. RedrivenExecutionsAborted ExecutionsAborted

Parametro Descrizione
ExecutionsRedriven redrivenNumero di esecuzioni.
RedrivenExecutionsAborted Numero di redriven esecuzioni annullate o terminate.
RedrivenExecutionsTimedOut Numero di redriven esecuzioni scadute per qualsiasi motivo.
RedrivenExecutionsSucceeded Numero di redriven esecuzioni completate con successo.
RedrivenExecutionsFailed Numero di redriven esecuzioni non riuscite.

Metriche di esecuzione di Dimension for Step Functions

Dimensione Descrizione
StateMachineArn

L'Amazon Resource Name (ARN) della macchina a stati per l'esecuzione in questione.

Dimensioni per le esecuzioni con versione

Dimensione Descrizione
StateMachineArn

L'Amazon Resource Name (ARN) della macchina a stati la cui esecuzione è stata avviata da una versione.

Version

Versione della macchina a stati utilizzata per avviare l'esecuzione.

Dimensioni per le esecuzioni con un alias

Dimensione Descrizione
StateMachineArn

L'Amazon Resource Name (ARN) della macchina a stati la cui esecuzione è stata avviata da un alias.

Alias

Alias della macchina a stati utilizzato per avviare l'esecuzione.

Metriche del conteggio delle risorse per versioni e alias

Il AWS/States namespace include le seguenti metriche per il conteggio delle versioni e degli alias di una macchina a stati.

Parametro Descrizione
AliasCount

Numero di alias creati per la macchina a stati.

È possibile creare fino a 100 alias per ogni macchina a stati.

VersionCount

Numero di versioni pubblicate per la macchina a stati.

È possibile pubblicare fino a 1000 versioni di una macchina a stati.

Dimensione per le metriche del conteggio delle risorse per versioni e alias

Dimensione Descrizione
ResourceArn

L'Amazon Resource Name (ARN) della macchina a stati con una versione o un alias.

Parametri delle attività

Il AWS/States namespace include le seguenti metriche per le attività di Step Functions.

Parametro Descrizione
ActivityRunTime Intervallo, in millisecondi, tra l'inizio dell'attività e il momento in cui si chiude.
ActivityScheduleTime Intervallo, in millisecondi, per il quale l'attività rimane nello stato di pianificazione.
ActivityTime Intervallo, in millisecondi, tra il momento in cui l'attività è pianificata e l'ora di chiusura.
ActivitiesFailed Numero di attività non riuscite.
ActivitiesHeartbeatTimedOut Numero di attività che scadono a causa di un timeout del battito cardiaco.
ActivitiesScheduled Numero di attività programmate.
ActivitiesStarted Numero di attività avviate.
ActivitiesSucceeded Numero di attività completate con successo.
ActivitiesTimedOut Numero di attività che scadono alla chiusura.

Metriche delle attività di Dimension for Step Functions

Dimensione Descrizione

ActivityArn

L'ARNoggetto dell'attività.

Parametri della funzione Lambda

Il AWS/States namespace include le seguenti metriche per le funzioni Step Functions Lambda.

Parametro Descrizione
LambdaFunctionRunTime Intervallo, in millisecondi, tra l'inizio e la chiusura della funzione Lambda.
LambdaFunctionScheduleTime Intervallo, in millisecondi, per il quale la funzione Lambda rimane nello stato di pianificazione.
LambdaFunctionTime Intervallo, in millisecondi, tra il momento in cui la funzione Lambda è pianificata e l'ora in cui si chiude.
LambdaFunctionsFailed Numero di funzioni Lambda non riuscite.
LambdaFunctionsScheduled Numero di funzioni Lambda pianificate.
LambdaFunctionsStarted Numero di funzioni Lambda avviate.
LambdaFunctionsSucceeded Numero di funzioni Lambda completate con successo.
LambdaFunctionsTimedOut Numero di funzioni Lambda che scadono alla chiusura.

Metriche della funzione Lambda di Dimension for Step Functions

Dimensione Descrizione

LambdaFunctionArn

La ARN funzione Lambda.

Nota

Le metriche delle funzioni Lambda vengono emesse per gli stati delle attività che specificano la funzione Lambda nel campo. ARN Resource Stati di attività che utilizzano invece "Resource": "arn:aws:states:::lambda:invoke" emit Service Integration Metrics. Per ulteriori informazioni, consulta Invoca una AWS Lambda funzione con Step Functions.

Parametri di integrazione del servizio

Il AWS/States namespace include le seguenti metriche per le integrazioni dei servizi Step Functions. Per ulteriori informazioni, consulta Integrazione di altri servizi con Step Functions.

Parametro Descrizione
ServiceIntegrationRunTime Intervallo, in millisecondi, tra l'inizio del Service Task e il momento in cui viene chiuso.
ServiceIntegrationScheduleTime Intervallo, in millisecondi, durante il quale il Service Task rimane nello stato di pianificazione.
ServiceIntegrationTime Intervallo, in millisecondi, tra il momento in cui il Service Task è pianificato e l'ora di chiusura.
ServiceIntegrationsFailed Numero di attività di servizio non riuscite.
ServiceIntegrationsScheduled Numero di attività di assistenza pianificate.
ServiceIntegrationsStarted Numero di attività di servizio avviate.
ServiceIntegrationsSucceeded Numero di attività di assistenza completate con successo.
ServiceIntegrationsTimedOut Numero di attività di servizio scadute alla chiusura.

Metriche di integrazione dei servizi Dimension for Step Functions

Dimensione Descrizione

ServiceIntegrationResourceArn

La risorsa ARN del servizio integrato.

Parametri servizio

Il AWS/States namespace include le seguenti metriche per il servizio Step Functions.

Parametro Descrizione
ThrottledEvents

Numero di richieste che sono state limitate.

ProvisionedBucketSize

Numero di richieste disponibili al secondo.

ProvisionedRefillRate

Numero di richieste al secondo consentite nel bucket.

ConsumedCapacity

Numero di richieste al secondo.

Metriche del servizio Dimension for Step Functions

Dimensione Descrizione

ServiceMetric

Filtra i dati per visualizzare i parametri delle transizioni dello stato.

APIMetriche

Il AWS/States namespace include le seguenti metriche per Step Functions. API

Parametro Descrizione
ThrottledEvents

Numero di richieste che sono state limitate.

ProvisionedBucketSize

Numero di richieste disponibili al secondo.

ProvisionedRefillRate

Numero di richieste al secondo consentite nel bucket.

ConsumedCapacity

Numero di richieste al secondo.

APIMetriche di Dimension for Step Functions

Dimensione Descrizione

APIName

Filtra i dati in base a uno API dei API nomi specificati.

Visualizzazione delle metriche di Step Functions in CloudWatch

Puoi utilizzare la CloudWatch console per visualizzare le metriche di Step Functions per esecuzioni, attività, funzioni e integrazioni di servizi.

  1. Accedi AWS Management Console e apri la console. CloudWatch

  2. Scegliere Metrics (Parametri) e nella scheda All Metrics (Tutti i parametri), scegliere States (Stati).

    Se hai eseguito esecuzioni di recente, vedrai fino a quattro tipi di metriche:

    • Parametri di esecuzione

    • Parametri di funzioni di attività

    • Metriche Lambda Funtopicction

    • Metriche di integrazione dei servizi

  3. Scegliere un tipo di parametro per visualizzare un elenco di parametri.

    • Per ordinare le metriche in base al nome della metrica oppure StateMachineArn, utilizza le intestazioni delle colonne.

    • Per visualizzare grafici per un parametro, selezionare la casella accanto al parametro nell'elenco. È possibile modificare i parametri del grafico utilizzando i controlli degli intervalli di tempo sopra il grafico.

      È possibile scegliere intervalli di tempo personalizzati utilizzando valori assoluti o relativi (giorni e ore specifici). È anche possibile utilizzare l'elenco a discesa per visualizzare i valori come linee, aree impilate o numeri (valori).

    • Per visualizzare i dettagli di un grafico, passa il mouse sul codice cromatico della metrica che appare sotto il grafico per visualizzare i dettagli metrici.

Per ulteriori informazioni sull'utilizzo dei CloudWatch parametri, consulta Using Amazon CloudWatch Metrics nella Amazon CloudWatch User Guide.

Impostazione degli allarmi per le metriche di Step Functions in CloudWatch

Puoi utilizzare gli CloudWatch allarmi Amazon per eseguire azioni. Ad esempio, se desideri sapere quando viene raggiunta una soglia di allarme, puoi impostare un allarme per inviare una notifica a un SNS argomento di Amazon o inviare un'e-mail quando la StateMachinesFailed metrica supera una determinata soglia.

Per impostare un allarme per un parametro

  1. Accedi AWS Management Console e apri la CloudWatch console.

  2. Scegliere Metrics (Parametri) e nella scheda All Metrics (Tutti i parametri), scegliere States (Stati).

    Se hai eseguito esecuzioni di recente, vedrai fino a quattro tipi di metriche:

    • Parametri di esecuzione

    • Parametri di funzioni di attività

    • Metriche della funzione Lambda

    • Metriche di integrazione dei servizi

  3. Scegliere un tipo di parametro per visualizzare un elenco di parametri.

  4. Scegliere un parametro, quindi Graphed metrics (Parametri nel grafico).

  5. Scegli l'icona a forma di campana accanto a una metrica nell'elenco per visualizzare la pagina Crea allarme.

  6. Immettere i valori in Alarm threshold (Soglia allarme) e Actions (Operazioni), quindi scegliere Create Alarm (Crea allarme).

Per ulteriori informazioni sull'impostazione e l'utilizzo degli CloudWatch allarmi, consulta Creating Amazon CloudWatch Alarms nella Amazon CloudWatch User Guide.