Подтвердить что ты не робот

Есть ли CLI для хвостовых логов с AWS Elastic Beanstalk

Есть ли утилита CLI для хвостовых журналов из приложений Elastic Beanstalk. В частности, приложение для флюорита python.

Вы можете использовать свой eb CLI, чтобы получить мгновенный снимок...

eb logs

Но я хотел бы сделать (похоже на то, что heroku предлагает)...

eb logs --tail

Кто-нибудь это сделал?

Спасибо!


Некоторые ссылки:

4b9b3361

Ответ 1

Теперь это так просто, как:

eb logs --stream

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

(Я понимаю, что лабораторный ответ уже включал --stream но я продолжаю просматривать этот ответ, потому что я хочу видеть все журналы, а не только одну группу. И если бы моя память была лучше, мне не пришлось бы продолжать гуглить то же самое вопрос и заканчивается в том же месте.)

Ответ 2

ОБНОВЛЕНИЕ: Мой ответ продолжает получать положительные отзывы, но с 2013 года все изменилось. Теперь проще вести журналы EB - посмотрите на ответ в posit labs, чтобы найти более простой способ сделать это :-).


Оригинальный ответ:

Я тоже боролся с этим. Утилита eb CLI, по-видимому, в настоящее время не позволяет отслеживать журналы приложений.

Тем не менее, вы можете привязать эти журналы:

  1. Создание пары ключей в консоли EC2 (которая должна дать вам файл .pem)
  2. Связывание вашего экземпляра EB с этой парой ключей (в консоли EB)
  3. Поиск общедоступного DNS вашего экземпляра в консоли EC2
  4. Подключение к вашему экземпляру через ssh ('ssh -i [yourpemfile.pem] ec2-user @[your.public.dns]
  5. Хвост файла журнала. Для приложения Node.js этот tail -f/var/log/nodejs/nodejs.log. Я не знаю, что эквивалентно приложению Flask.

(Спасибо Ричарду Саутару за то, что он направил меня в правильном направлении.)

Ответ 3

Вы можете использовать флаг -g для установки группы журналов, а затем использовать --stream для потоковой передачи результатов. Не нужно ssh в конкретную машину.

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

Ответ 4

Вам могут не понадобиться журналы журналов eb, сначала попробуйте eb ssh, затем

tail -f /var/log/*

Ответ 5

Итак, для других, которые все еще ищут это, я написал небольшой инструмент для хвостовых журналов для эластичной среды beanstalk, вам просто нужно указать имя среды и имя файла, он будет делать SSH и зачерпнуть файл каждого экземпляра.

./eb-tail env-name

или

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

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

Ответ 6

Это то, что я делаю:

Захватите местоположение файла журнала из eb logs

eb logs

Каждый журнал EB-дисплеев поставляется с ------- предшествующим/предваряющим его. Например, для журналов для пассажиров на Rails:

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

Затем SSH на сервер и закройте журналы:

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

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

Ответ 7

Вы не можете напрямую записывать журналы, так как AWS EB объединяет несколько журналов вместе. Рассматривая журнал приложений, который вас интересует, вы можете перейти на вкладку EC2 и нажать кнопку подключения на самом сервере (вам может потребоваться определить ключ- пара, просто следуйте инструкциям). После входа в сервер вы можете вывести свой журнал там.

Ответ 8

Вот что я использую для привязки нескольких журналов с нескольких серверов, включая aws:

for $server in server-1 server-2 server-3 server-4; do
    ssh -t $server -f "tail -f /var/log/some-process/error.log|sed -e 's/^/$server /'" &
done

Источник: https://gist.github.com/iolloyd/da60ef316643d7894bdf

Это позволяет мне контролировать несколько удаленных экземпляров на моей локальной машине.

Ответ 9

Это не использует eb-cli, но самый простой способ для потоковой передачи журналов состоит в том, чтобы использовать eb logs -cw enable затем читать поток на портале cloudwatch.

Ответ 10

У меня нет среды, где я могу проверить это, но, глядя на код, он выглядит так, как вы можете:

eb logs tail

проверить строку констант .py 129