AWS Beanstalk环境未旋转Docker容器日志

14

我正在 Elastic Beanstalk 上运行一个 Scala 应用程序,服务器因不轮换的容器日志而变得过载。 Beanstalk 的默认方案在 /var/log/eb-docker/containers/eb-current-app/* 文件夹中轮换 Docker 日志,但其他日志正在累积到 /var/lib/docker/containers/<container-id>/* 中,由于它们不会轮换,磁盘很快就会满。

我曾尝试通过手动向 /etc/logrotate.elasticbeanstalk.hourly/logrotate.elasticbeanstalk.applogs.conf 添加另一个日志轮换条款来解决这个问题,这解决了问题。

然而,当我尝试使用 .ebextension 配置文件在每个 Beanstalk 实例启动时实现更改时,修改后的日志轮换文件并未出现在服务器上。

以下是我的 .config 文件 -

files:
  "/etc/logrotate.elasticbeanstalk.hourly/logrotate.elasticbeanstalk.applogs.conf":
    mode: "000644"
    content: |
      /var/log/eb-docker/containers/eb-current-app/* {
      size 10M
      rotate 5
      missingok
      compress
      notifempty
      copytruncate
      dateext
      dateformat %s
      olddir /var/log/eb-docker/containers/eb-current-app/rotated
      }

      /var/lib/docker/containers/*/*.log {
      size 10M
      rotate 5
      missingok
      compress
      notifempty
      copytruncate
      dateext
      dateformat %s
      olddir /var/log/eb-docker/containers/eb-current-app/rotated
      }
我也尝试过在这篇reddit帖子中找到的最简单的配置文件形式 - https://www.reddit.com/r/aws/comments/2u3afj/elastic_beanstalk_issues_with_ebextensions/,但它也未能对我的实例产生任何影响。希望能提供有关为什么我的配置无法影响环境的任何建议。

你尝试过调试你的logrotate配置吗?http://superuser.com/a/255970/141 或者 http://serverfault.com/a/58403/783 - VonC
我的logrotate配置在手动添加到服务器时可以正常工作,但我在使用.ebextensions预配置实例时遇到了问题。 - Yaron Idan
你能否尝试在你的.ebextensions中使用路径/etc/logrotate.d/logrotate.elasticbeanstalk.applogs.conf呢?就像这篇文章中所述:https://sandro-keil.de/blog/2015/03/11/logrotate-for-docker-container/ - VonC
问题不在于我的日志轮转配置,当我手动设置时它们可以正常工作。问题是如何使 .ebextension 中的配置文件起作用。您可以查看我附加的 Reddit 链接,即使是最简单的操作也没有产生结果。 - Yaron Idan
1个回答

8

不幸的是,问题最终是一个笔误。我创建了一个名为.ebextentsion的文件夹。当我修正它后,一切都开始正常工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接