In che modo è possibile risolvere gli errori InvalidSequenceToken (token di sequenza non valido) nei registri di Cloudwatch?

Ultimo aggiornamento: 24/03/2022

Ricevo un errore InvalidSequenceToken nei file di log quando invio i log ad Amazon CloudWatch utilizzando l'agente di CloudWatch. In che modo posso risolvere questo errore?

Breve descrizione

L'agente di CloudWatch utilizza l'API PutLogEvents per pubblicare su CloudWatch. Questa API utilizza una sequenza di token per ogni chiamata PutLogEvents consecutiva e ogni flusso di log possiede un token sequenza associato. Quando l'agente di CloudWatch effettua la chiamata PutLogEvents, viene fornita una sequenza di token (a meno che non si scriva su un flusso di log appena creato). In risposta, CloudWatch restituisce la prossima sequenza di token prevista a quella fonte. La sequenza di token restituita deve essere utilizzata per il prossimo evento di log inviato.

Se CloudWatch riceve un evento con una sequenza di token che non è prevista per un sistema di log, restituisce l'errore InvalidSequenceToken con la sequenza di token prevista. Se necessario, puoi utilizzare la chiamata API DescribeLogStreams per ottenere un token aggiornato.

L'errore InvalidSequenceToken si verifica quando:

  • Hai recentemente installato o riavviato il servizio dell'agente di CloudWatch
  • Più fonti inviano i log agli stessi flussi

Risoluzione

Errori InvalidSquenceToken dopo il riavvio dell'agente di CloudWatch

Potresti visualizzare questo errore dopo il riavvio dell'agente di CloudWatch. Quando il servizio dell'agente di CloudWatch è appena stato avviato o riavviato, il primo tentativo di inviare i log non riesce. Si tratta di un comportamento previsto che si verifica perché il flusso di log esiste già nei log in CloudWatch. Di conseguenza, l'agente di CloudWatch non sa quale token sequenza utilizzare. Dato che dispone di un meccanismo di tentativi integrato, l'agente di CloudWatch preleva il token sequenza corretto e lo utilizza per eseguire nuovamente il push dei log.

Errori InvalidSequenceToken quando più fonti inviano i log allo stesso flusso di log

Ricevi un errore InvalidSequenceToken se disponi di più istanze che inviano i log allo stesso flusso di log. Allo stesso modo, se disponi di più file di log nella stessa istanza che invia i log allo stesso flusso di log, ricevi un errore. Questo accade perché il token sequenza inviato nella chiamata PutLogEvents non corrisponde al token previsto dal flusso.

Risoluzione degli errori InvalidSequenceToken

Esamina i file di configurazione dell'agente e assicurati di non inviare i log da più fonti allo stesso flusso di log. La configurazione di più fonti di log per inviare dati a un singolo flusso di log non è supportata. Aggiorna il file di configurazione dell'agente per utilizzare nomi di flussi di log univoci per ogni fonte. Quindi, riavvia il servizio dell'agente utilizzando il comando fetch-config.


Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?