Смягчение проблем с хранилищем с помощью catalina.out на Elastic Beanstalk
У меня возникла проблема, когда catalina.out
файл журнала в экземпляре Tomcat 8 Java 8 Elastic Beanstalk расширяется до точки, где в экземпляре не осталось хранилища, что не позволяет экземпляру продолжать отправлять журналы в CloudWatch и не позволяет мне развертывать новые версии. catalina.out
файл пересылается в CloudWatch через.ebextension.
Есть ли способ смягчить это? некоторые теоретические пути могут быть через скользящие журналы и удаление старых версий catalina.out
или бросать экземпляры, когда у них не осталось места для хранения.
Прежде чем ответить, пожалуйста, примите во внимание следующее:
Мне известно, что журнал не должен быть таким большим, как он есть, это в настоящее время является ограничением и не может быть исправлено в ближайшем будущем или до устранения этой проблемы.
Я уже использую масштабирование, основанное на другом параметре, поэтому масштабирование, основанное на объеме памяти, мне не доступно.
Я использую Log4j2, но
catalina.out
обрабатывается tomcat, поэтому настройка прокручиваемого файла с удалением не является опцией (в частности, через Log4j2, может быть способ сделать это через Tomcat в AWS).Я хотел бы сохранить
catalina.out
файл на экземплярах в дополнение к пересылке его содержимого в CloudWatch вместо прямой отправки журналов в CloudWatch.Нет никакого способа узнать максимальный объем памяти, который займет файл журнала, поскольку вы не всегда заранее знаете, когда будет использоваться новый экземпляр (поэтому расширение хранилища не является долгосрочным решением).
1 ответ
Разделяйте файлы журналов в другом разделе, для этого может пригодиться эфемерное / инстансное хранилище. Поэтому, даже если он заполняется, не наносите ущерб другим операциям: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html
Отправляйте и вращайте журналы с помощью агента журналов CloudWatch: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html
Задайте настройки среды, JVM, Log4J и контейнера с помощью.ebextensions: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html