5 votes

Comment déboguer un service ECS Fargate qui redémarre occasionnellement sa tâche en raison de contrôles de santé de l'équilibreur de charge élastique malsains ?

J'héberge une application brillante sur ECS Fargate. Cela fonctionne assez bien, mais de temps en temps, lorsque j'utilise l'application, elle se bloque. Je l'ai tracé à ce qui suit dans l'onglet événements :

service YYYY has started 1 tasks: task XXX
service YYYY has stopped 1 running tasks: task XXX
service YYYY deregistered 1 targets in target-group (Name of Elastic Load Balancer)
service YYYY (port 3838) is unhealthy in target-group (Name of Elastic Load Balancer) due to (reason Request timed out).

Quelqu'un sait-il ce qui peut causer ce problème ? Ou bien, comment puis-je approfondir la question ?

Cela pourrait-il être lié à des pics d'utilisation du CPU dans l'application ?

J'ai vu qu'à certains moments, l'utilisation du CPU atteint 100%. Si l'utilisateur utilise l'application d'une manière qui entraîne cette utilisation élevée, le conteneur peut-il être considéré comme malsain ?

De plus, la mise à l'échelle automatique est activée pour l'application lorsque le CPU > 50% - cependant, elle n'est pas activée dans les moments où l'utilisation du CPU atteint 100%. Avez-vous une idée ?

1voto

ORP Points 195

Vous pouvez obtenir des détails sur les tâches arrêtées sur la Console ECS Cluster -> Tasks -> Stopped et ensuite entrez dans la tâche spécifique. Console ECS

De plus, dans cet onglet, vous pouvez obtenir les journaux du conteneur si vous avez configuré le pilote de journal approprié dans la définition de la tâche.

0voto

Chart96 Points 40

L'application écrit-elle des journaux ? Assurez-vous que ces journaux sont envoyés à la console du conteneur afin qu'ils apparaissent dans les journaux CloudWatch pour ECS.

Ajoutez ce qui suit à votre Dockerfile pour que les journaux soient envoyés à la console :

RUN ln -sf /proc/self/fd/1 /var/log/mylocation/mylogfil.log && \
    ln -sf /proc/self/fd/1 /var/log/mylocation/myerrorfile.log

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X