java - 使用 Elastic Beanstalk 上的 catalina.out 缓解存储问题

标签 java amazon-web-services tomcat amazon-elastic-beanstalk catalina.out

我遇到一个问题,Tomcat 8 Java 8 Elastic Beanstalk 实例上的 catalina.out 日志文件正在扩展到实例中没有剩余存储空间的程度,这不允许实例继续向 CloudWatch 发送日志,并阻止我部署新版本。 catalina.out 文件通过 .ebextension 转发到 CloudWatch。

有什么办法可以缓解这种情况吗?一些理论上的方法可能是通过滚动日志和删除旧版本的 catalina.out,或者在实例没有剩余存储空间时滚动实例。

在回答之前,请考虑以下事项:

  • 我知道日志不应该这么大,目前这是一个限制,无法在不久的将来或解决此问题之前修复。

  • 我已经在使用基于不同参数的缩放,因此我无法使用基于存储空间的缩放。

  • 我正在使用 Log4j2,但 catalina.out 由 tomcat 处理,因此配置滚动文件删除不是一个选项(具体通过 Log4j2,可能有一种方法可以做到通过 AWS 上的 Tomcat)。

  • 除了将其内容转发到 CloudWatch 而不是直接将日志发送到 CloudWatch 之外,我还想在实例上保留 catalina.out 文件。

  • 无法知道日志文件将占用的最大存储空间,因为您并不总是提前知道何时会使用新实例(因此扩展存储空间不是长期解决方案)。

最佳答案

关于java - 使用 Elastic Beanstalk 上的 catalina.out 缓解存储问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54532958/

相关文章:

java - 如何比较ArrayList和SQLite表行?

java - 是否有任何选项可以将 R 与 NetSuite 连接以定期向 NetSuite 用户提供分析结果?

java - 在 JavaFX 中使用新按钮动态更新 GridPane -> 如何重绘?

amazon-web-services - 如何在 aws cloudformation 模板中限制特定于 SQS 的 IAM 角色

java - eclipse和tomcat调试

java - 自定义 BlockJUnit4ClassRunner,运行测试套件设置次数

amazon-web-services - 如何正确地将 Docker Compose 部署到 Amason EC2 实例?

amazon-web-services - 在 Amazon QuickSight 中的计算字段内使用聚合

tomcat - Jenkins curl : (52) Empty reply from server

java - Tomcat 性能问题