web-dev-qa-db-fra.com

Existe-t-il une interface de ligne de commande pour suivre les journaux à partir d'AWS Elastic Beanstalk

Existe-t-il un utilitaire CLI pour la journalisation des journaux à partir d'applications Elastic Beanstalk. Plus précisément, une application de flacon en python.

Vous pouvez utiliser leur CLI eb pour obtenir un cliché instantané ...

eb logs

Mais je voudrais faire (semblable à ce que offres heroku ) ...

eb logs --tail

Quelqu'un a-t-il accompli cela?

Merci!


Quelques références:

29
Jonathan

C'est maintenant aussi simple que:

eb logs --stream

https://docs.aws.Amazon.com/elasticbeanstalk/latest/dg/eb3-logs.html

(Je me rends compte que la réponse du laboratoire incluait déjà l'option --stream mais je continue à parcourir cette réponse parce que je veux voir tous les journaux, pas seulement un groupe. Et si ma mémoire était meilleure, je n'aurais pas à garder Google. la même question et se retrouver au même endroit.)

4
eremite

UPDATE: Ma réponse ne cesse de recevoir des votes positifs, mais les choses ont changé depuis 2013. Il est maintenant plus facile de gérer les journaux EB. Regardez réponse de posit labs pour un moyen plus simple de le faire: - ).


Réponse originale:

J'avais eu du mal avec celui-ci aussi. L'utilitaire de la CLI eb ne semble pas permettre de modifier les journaux de vos applications pour le moment.

Cependant, vous pouvez aligner ces journaux en:

  1. Création d'une paire de clés dans la console EC2 (ce qui devrait vous donner un fichier .pem)
  2. Liaison de votre instance EB à cette paire de clés (dans la console EB) 
  3. Recherche du DNS public de votre instance dans la console EC2
  4. Connexion à votre instance via ssh (`ssh -i [votrepemfile.pem] ec2-user @ [votre.public.dns]
  5. Tailing votre fichier journal. Pour une application Node.js, il s'agit de tail -f /var/log/nodejs/nodejs.log. Je ne sais pas quelle est l'équivalent d'une application Flask.

(Merci à Richard Soutar pour m'avoir orienté dans la bonne direction à ce sujet.)

24
Jorge Aranda

Vous pouvez utiliser l'indicateur -g pour définir le groupe de journaux, puis utiliser --stream pour diffuser les résultats. Pas besoin de ssh dans une machine spécifique. 

eb logs -g /aws/elasticbeanstalk/yourApp-env/var/log/nodejs/nodejs.log --stream
8
posit labs

Vous n’avez peut-être pas besoin de journaux eb, essayez d'abord eb ssh puis

tail -f /var/log/*
5
tarikakyol

Donc, pour les autres qui le recherchent encore, j’ai écrit un petit outil qui permet de créer des journaux de bord pour un environnement de haricot élastique, il vous suffit de spécifier le nom de l’environnement et le nom du fichier, le SSH et le fichier de chaque instance.

./eb-tail env-name

ou

./eb-tail env-name -f '/path/to/file'

https://github.com/ahmednasir91/eb-tail

2
Ahmed

Cela n'utilise pas eb-cli, mais le moyen le plus simple de diffuser les journaux consiste à utiliser eb logs -cw enable, puis à lire le flux dans le portail cloudwatch.

0
jimmy

C'est ce que je fais:

Saisissez l'emplacement du fichier journal souhaité à partir de eb logs

eb logs

Chaque journal EB affiché est accompagné d'un ------- précédant/le précédant. Par exemple, pour les journaux de passagers sur les rails:

-------------------------------------
/var/app/support/logs/production.log
-------------------------------------

Puis SSH sur le serveur et réduisez les journaux:

eb ssh    # may have to eb ssh --setup for first time use

# from inside the server
tail -f /var/app/support/logs/production.log
0
risa_risa

Quelque chose que j'utilise pour extraire plusieurs journaux de plusieurs serveurs, y compris aws, est le suivant.

https://Gist.github.com/iolloyd/da60ef316643d7894bdf

Cela me permet de surveiller plusieurs instances distantes sur mon ordinateur local.

0
Lloyd Moore

Vous ne pouvez pas personnaliser les journaux directement, car AWS EB regroupe plusieurs journaux. En supposant que c'est le journal de l'application qui vous intéresse, vous pouvez accéder à l'onglet EC2 et cliquer sur le bouton de connexion du serveur réel (vous devrez peut-être définir une paire de clés). Suivez les instructions). Une fois connecté au serveur, vous pouvez rédiger votre journal à partir de là.

0
Tal