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:
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.)
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:
.pem
)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.)
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
Vous n’avez peut-être pas besoin de journaux eb, essayez d'abord eb ssh
puis
tail -f /var/log/*
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'
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.
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
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.
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à.