我无法在 Elastic Beanstalk ec2 实例上找到生产日志文件

Posted

技术标签:

【中文标题】我无法在 Elastic Beanstalk ec2 实例上找到生产日志文件【英文标题】:I cannot locate production log files on Elastic Beanstalk ec2 instance 【发布时间】:2015-07-28 10:05:44 【问题描述】:

我已将 Rails 应用程序部署到 Elastic Beanstalk。我正在尝试查找前一天的生产日志文件。它们不在可从 AWS EB 控制台下载的压缩包中。它们不在 ec2 实例的 /var/log 目录中。在 /var/app/support/logs 中只有今天的日志文件。

还有其他地方可以看吗?

我的 EB 环境是否配置不正确?如果是这样,我该如何解决这个问题?

提前感谢任何提示或提示。

【问题讨论】:

您是否启用了自动日志轮换功能?如果有,它们将被写入 S3 存储桶。您的 S3 中应该有一个存储桶 elasticbeanstalk--。在此之下,转到 resources/environments/logs/ @RakeshBollampally,感谢您的建议。未启用自动轮换,并且您提到的位置没有日志。 能否查看实例何时启动?可能是昨天的实例由于某些故障而终止并启动了新实例?在这种情况下,我认为您将无法获取日志,因为 Beanstalk 存储不是持久的。另外,尝试从 EB 控制台获取日志 实例在我创建这篇文章前 3 天启动。但是,我已启用日志轮换,因为您的初始评论和日志现在可在 s3 上使用。所以我至少回避了这个问题,多亏了你的意见。谢谢@RakeshBollampally。 【参考方案1】:

您所有的系统日志都应该在/var/log 中,您可能会在日志文件的末尾看到.log.1,这是因为它们是轮换的。

对于您的应用程序,我会查看:/var/app/support/logs,在这里您会找到Passenger 的日志(如果这是您的堆栈运行的话)。您可能会在该目录中看到类似的内容:

access.log
development.log
healthd/
passenger.log
production.log
rotated/

如果您使用的是 NGINX 和 Puma 堆栈(或其他新更新的 2018 eb 堆栈),您的应用将运行在:/var/app/current

【讨论】:

就我而言,我只是去了/var/app/current,然后去了tail -f log/production.log 是的,但是如何将此 production.log 流式传输到 CloudWatch 日志组?我看到所有其他日志,除了 production.log - 尽管我启用了日志流/保留。

以上是关于我无法在 Elastic Beanstalk ec2 实例上找到生产日志文件的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk EC2 与 Redis - 无法连接 - Django_Redis

Elastic Beanstalk 终止我的 EC2 实例

AWS Route 53 - Elastic Beanstalk EC2 和 S3 都在同一个域下?

无法在 VPC 中启动 Elastic beanstalk

无法访问 Elastic Beanstalk IP 地址之一?

为啥我的 ec2-instance 被 elastic-beanstalk 终止?