管理/删除/轮换/流式传输 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 日志的主要内容,如果未能解决你的问题,请参考以下文章
AWS Elastic Beanstalk:将容器日志流式传输到 CloudWatch 问题
如何将特定日志文件从多容器 Docker Elastic Beanstalk 流式传输到 CloudWatch?