管理/删除/轮换/流式传输 Elastic Beanstalk 日志

Posted

技术标签:

【中文标题】管理/删除/轮换/流式传输 Elastic Beanstalk 日志【英文标题】:Managing/deleting/rotating/streaming Elastic Beanstalk Logs 【发布时间】:2017-06-19 11:50:32 【问题描述】:

我是第一次使用 Amazon EB。我已经设置了一个在 linux 和 puma 上运行的 Rails 应用程序。

到目前为止,我一直在通过eb logs 命令查看日志。我知道我们可以设置 EB 将日志轮换到 S3 或将其流式传输到 CloudWatch。

我的问题是关于删除各种日志文件。

    puma.log等各种日志会自动删除还是必须自己删除? 如果我将日志轮换设置为 S3,EC2 实例上的日志文件在轮换到 S3 时是否会被删除(并在其位置创建一个新副本)?还是只是无限期地增长? 如果我将其流式传输到 CloudWatch,日志的相同副本是否会保留在 EC2 实例上并无限增长?

我在 Google 上四处搜索,但似乎在文档或 SO 中找不到任何“日志管理”或“日志删除”的概念。

【问题讨论】:

【参考方案1】:

我在 LAMP 项目中使用 beanstalk,我可以回答您的一些问题。

    您必须至少在应用日志中设置日志轮换策略。检查您的基础映像是否已为您轮换此日志。配置应该在/etc/logrotate.conf for linux

    当您将 S3 日志与 Beanstalk 一起使用时,它已经拖尾并在 15 分钟后删除日志。 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.logging.html#health-logs-s3location

    日志的相同副本将保留在您的 EC2 实例中。您的日志轮换策略/etc/logrotate.conf 将被删除。 awslogs 将保留一些元数据以了解哪些是已处理的日志块,因此它不会创建重复。

如果您想了解如何通过 elasticbeanstalk 检查使用 cloudwatch 日志的示例:http://www.albertsola.pro/store-aws-beanstalk-symfony-and-apache-logs-in-cloudwatch-logs/

【讨论】:

以上是关于管理/删除/轮换/流式传输 Elastic Beanstalk 日志的主要内容,如果未能解决你的问题,请参考以下文章

Elastic Beanstalk 日志轮换到 S3

AWS Elastic Beanstalk:将容器日志流式传输到 CloudWatch 问题

如何将特定日志文件从多容器 Docker Elastic Beanstalk 流式传输到 CloudWatch?

AWS Elastic Beanstalk 日志轮换

如何将我自己的日志添加到 Amazon Elastic Beanstalk 上的日志轮换/S3 备份?

是否有一种工具可以从 AWS Elastic Beanstalk 以聚合方式轻松搜索 S3 中每小时轮换的日志?