3 votes

Comment puis-je trouver la raison pour laquelle une instance de tâche est désenregistrée ?

Nous avons un tas de services fonctionnant dans ECS. Tous sont configurés pour exécuter au moins deux instances. Avec certains de ces services, je remarque qu'à intervalles irréguliers, l'une des instances est désenregistrée. Dans les journaux, il n'y a pas d'erreurs, et le contrôle de santé n'échoue jamais. Je me demande donc pourquoi ECS décide de désenregistrer une instance de tâche ECS qui semble parfaitement fonctionner ? Existe-t-il un moyen d'en connaître la raison ?

Il serait ainsi beaucoup plus facile de décider de ce qu'il convient de faire pour le stabiliser.

2voto

huizache Points 21

Il y a plusieurs façons de déboguer cela :

  • Il est évident que les journaux sont utiles pour découvrir pourquoi une instance est devenue malsaine. Si vous utilisez un ELB avec un contrôle de santé, vous voudrez vérifier vos journaux d'accès pour voir si le point de terminaison du contrôle de santé a renvoyé une réponse d'erreur. Vous avez dit que vous n'avez rien vu dans les journaux, mais je me suis dit que je devais le mentionner pour toute personne qui verrait cette réponse à l'avenir, au cas où cela les aiderait.
  • Vérifiez le Onglet "Événements" sur la page d'un service dont une instance est morte - lorsque des tâches sont enregistrées ou désenregistrées, ECS enregistre l'événement dans la liste des événements. Cependant, vous devrez vous assurer de vérifier peu de temps après l'événement car la liste des événements n'affichera que les événements les plus récents.
  • Si la page d'information d'une tâche est ouverte avant que la tâche ne meure, la zone de définition du conteneur peut répertorier des informations sous la section de la raison de la sortie. De la même manière que pour la page des événements, la tâche radiée sera finalement supprimée après une certaine période de temps, il est donc utile de vérifier peu de temps après la suppression de la tâche.
  • Si rien de ce qui précède ne fonctionne, essayez peut-être de créer un tableau de bord CloudWatch. Utilisez le Statistique HTTPCode_ELB_5XX_Count pour l'ALB/ELB qui se trouve devant le service - il s'agit généralement de 504s indiquant un dépassement de délai ( activer la journalisation S3 pour l'ELB vous le dira avec certitude), et vous pourriez trouver un taux élevé de réponses 5XX si une tâche meurt en raison de délais d'attente pendant le contrôle de santé, ce qui pourrait vous mettre sur la bonne voie - cependant, notez qu'un tel événement sera certainement enregistré dans la liste des événements pour le service également.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X