AWS Elastic Beanstalk Вращение журнала - PullRequest
0 голосов
/ 06 сентября 2018

Я запускаю java-приложение на AWS Elastic Beanstalk (Java 8 работает на 64-битной версии Amazon Linux / 2.7.4). По умолчанию java-приложение регистрирует STDOUT, а Elastic Beanstalk автоматически сохраняет STDOUT в / var / log / web-1. .журнал. Это работает как ожидалось.

См. https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-procfile.html для получения дополнительной информации о том, как Elastic Beanstalk захватывает и сохраняет STDOUT.

Когда файл web-1.log достигает определенного размера, он поворачивается в /var/log/rotated/web-1.logXXX.gz. Однако, как только это происходит, исходный файл web-1.log очищается (ожидается), и в него больше не записывается никаких сообщений журнала (не ожидается). Все будущие сообщения журнала, по-видимому, направляются непосредственно в файл в повернутом каталоге журнала.

Есть идеи, что может быть причиной этого? Я не вносил никаких изменений в способ, которым Elastic Beanstalk обрабатывает ротацию логов.

1 Ответ

0 голосов
/ 17 января 2019

В экземплярах Elastic Beanstalk (по крайней мере те, которые я использую) запущен демон logrotate. Может быть, вы можете настроить его, поместив файл конфигурации в /etc/logrotate.d?

Проблема с пустым журналом может быть из-за устаревшего дескриптора файла, когда журнал вращается? См. этот ответ , где приведены примеры того, как с этим справиться.

...