Comment résoudre les erreurs InvalidSequenceToken dans Cloudwatch Logs ?

Dernière mise à jour : 24/03/2022

Je reçois une erreur InvalidSequenceToken dans les fichiers journaux lorsque j'envoie des journaux à Amazon CloudWatch à l'aide de l'agent CloudWatch. Comment puis-je résoudre cette erreur ?

Brève description

L'agent CloudWatch utilise l'API PutLogEvents pour publier sur CloudWatch. Cette API utilise un jeton de séquence pour chaque appel PutLogEvents consécutif, et chaque flux de journaux est associé à un jeton de séquence. Lorsque l'agent CloudWatch effectue l'appel PutLogEvents, un jeton de séquence est fourni (sauf si vous écrivez dans un flux de journaux nouvellement créé). En réponse, CloudWatch renvoie le prochain jeton de séquence attendu à cette source. Le jeton de séquence renvoyé doit être utilisé pour le prochain événement de journal transmis.

Si CloudWatch reçoit un événement avec un jeton de séquence qu'il n'attend pas pour un système de journalisation, il renvoie l'erreur InvalidSequenceToken avec le jeton de séquence attendu. Si nécessaire, vous pouvez utiliser l'appel d'API DescribeLogStreams pour obtenir un jeton mis à jour.

L'erreur InvalidSequenceToken se produit lorsque :

  • Vous avez récemment installé ou redémarré le service de l'agent CloudWatch
  • Plusieurs sources envoient des journaux aux mêmes flux

Résolution

Erreurs InvalidSquenceToken après le redémarrage de l'agent CloudWatch

Cette erreur peut s'afficher après le redémarrage de l'agent CloudWatch. Lorsque le service d'agent CloudWatch vient de démarrer ou de redémarrer, la première tentative de transmission des journaux échoue. Ce comportement est attendu, car le flux de journaux existe déjà dans CloudWatch Logs. Par conséquent, l'agent CloudWatch ne sait pas quel jeton de séquence utiliser. Comme il dispose d'un mécanisme de nouvelle tentative intégré, l'agent CloudWatch récupère le bon jeton de séquence et l'utilise à nouveau pour transmettre les journaux.

Erreurs InvalidSequenceToken lorsque plusieurs sources envoient des journaux au même flux de journaux

Vous recevez une erreur InvalidSequenceToken si plusieurs instances envoient des journaux au même flux de journaux. De même, si plusieurs fichiers journaux dans la même instance envoient des journaux vers le même flux de journaux, vous recevez un message d'erreur. Cela se produit, car le jeton de séquence envoyé lors de l'appel PutLogEvents ne correspond pas au jeton attendu par le flux.

Résoudre les erreurs InvalidSequenceToken

Passez en revue les fichiers de configuration de l'agent et assurez-vous que vous n'envoyez pas de journaux provenant de plusieurs sources au même flux de journaux. La configuration de plusieurs sources de journaux pour envoyer des données à un seul flux de journaux n'est pas prise en charge. Mettez à jour le fichier de configuration de l'agent pour utiliser des noms de flux de journaux uniques pour chaque source. Redémarrez ensuite le service d'agent à l'aide de la commande fetch-config.


Cet article vous a-t-il été utile ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?