2016-05-26 1 views
0

Mon onglet de surveillance dans Elastic Beanstalk affiche des erreurs HTTP 5xx occasionnelles, provenant à la fois de l'instance EB et de l'ELB qui effectue son équilibrage de charge. Le problème est que je les vois généralement seulement quelques heures après leur apparition, et au moment où je me connecte à l'instance EB, les journaux ont tourné et ne voient aucune trace de l'erreur.Diagnostic d'erreurs HTTP 5xx occasionnelles dans Elastic Beanstalk et Elastic Load Balancer

Quelle est la meilleure façon d'enregistrer la demande et la réponse associées à ces erreurs pour une consultation ultérieure?

Répondre

0

L'option la meilleure et la moins chère pour y parvenir est de créer un travail cron sur l'instance EC2 qui déplacera les journaux dans un compartiment AWS S3 toutes les 15 minutes environ. Ou en d'autres termes, stockez les journaux dans AWS S3 afin de pouvoir les analyser quand vous le souhaitez.

0

Voici quelques choses que j'ai trouvé au cours des dernières semaines (je vais peut-être modifier dans une réponse plus cohérente plus tard):

  • Tenir compte de la superposition ici: nous avons ELB -> httpd -> Tomcat (dans mon exemple). J'avais oublié de httpd (Apache 2.2 atm)
  • Vous pouvez activer la journalisation ELB dans un compartiment S3 de votre choix. Cela vous permet de voir les résultats renvoyés au client
  • De là, trace à httpd pour voir s'il y a des erreurs dans /var/log/httpd
  • Et puis à partir de là, trace à travers les journaux Tomcat pour voir si les mêmes erreurs pop-up, il
  • je vois des erreurs dans ELB et httpd qui ne sont pas dans Tomcat montrant
  • je voyais aussi un certain nombre de messages d'erreur similaires à:

->

"proxy: error reading status line from remote server" 
"(103)Software caused connection abort: proxy: pass request body failed" 

En lisant ces pages, elles peuvent être causées par des bogues dans mod_proxy.