我遇到了一个问题,catalina.out
Tomcat 8 Java 8 Elastic Beanstalk 实例上的日志文件正在扩展到实例中没有存储空间的程度,这不允许实例继续向 CloudWatch 发送日志,并阻止我部署新版本。该catalina.out
文件通过 .ebextension 转发到 CloudWatch。
有什么办法可以减轻这种情况吗?一些理论上的方法可能是通过滚动日志和删除旧版本catalina.out
,或者在实例没有剩余存储空间时滚动实例。
在回答之前,请考虑以下几点:
我知道日志不应该那么大,这目前是一个限制,在不久的将来或在解决此问题之前无法修复。
我已经在使用基于不同参数的缩放,因此我无法使用基于存储空间的缩放。
我正在使用 Log4j2,但
catalina.out
由 tomcat 处理,因此配置带有删除的滚动文件不是一种选择(特别是通过 Log4j2,可能有一种方法可以通过 AWS 上的 Tomcat 来实现)。catalina.out
除了将其内容转发到 CloudWatch 之外,我还想将文件保留在实例上,而不是直接将日志发送到 CloudWatch。无法知道日志文件将占用的最大存储空间,因为您并不总是提前知道何时使用新实例(因此扩展存储空间不是长期解决方案)。