管理/删除/旋转/流式传输Elastic Beanstalk日志

时间:2017-02-02 11:59:42

标签: amazon-web-services logging amazon-s3 amazon-ec2 elastic-beanstalk

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

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

我的问题围绕着删除各种日志文件。

  1. 会自动删除各种日志,例如puma.log,还是我必须自己删除?
  2. 如果我将日志轮换设置为S3,那么当它旋转到S3时,是否会删除EC2实例上的日志文件(以及在其位置创建的新副本)?还是只是无限期地增长?
  3. 如果我将其流式传输到CloudWatch,那么日志的同一副本是否会保留在EC2实例上并无限增长?
  4. 我已经用Google搜索了但似乎无法找到任何关于" Log management"或"记录删除"在文档中或在SO上。

1 个答案:

答案 0 :(得分:1)

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

  1. 您必须至少在应用日志上设置日志轮换策略。检查基本映像是否已经为您旋转此日志。配置应该在NOT NULL for linux

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

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

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