我要如何在 Elastic Beanstalk 中自定义日志文件?

上次更新时间: 2019 年 10 月 30 日

我想要在 AWS Elastic Beanstalk 中自定义日志文件,并确保我的自定义应用程序日志被纳入和流式传输到 Amazon CloudWatch。

简短描述

如果 Elastic Beanstalk 所收集和流式传输的默认日志文件不能满足您的应用程序或用例的需求,请考虑使用以下选项来自定义您日志文件的收集和流式处理:

  • 将您的自定义日志纳入日志包
  • 轮换您的日志
  • (可选)将您的日志流式传输到 CloudWatch

注意: 如果您有自定义日志文件,或者如果默认日志缺失了某个日志,则您可以进一步自定义您的日志配置。

解决方法

将您的自定义日志纳入日志包

当您从 Elastic Beanstalk 请求日志时,Elastic Beanstalk 会从您环境中的 Amazon Elastic Compute Cloud (Amazon EC2) 实例返回默认日志文件。但是,如果您的应用程序有独特的日志位置,您可能不会收到这些默认日志文件。

要使 Elastic Beanstalk 从独特的日志位置返回您的日志文件,需要扩展默认日志任务配置

轮换您的日志

为防止您的应用程序日志文件占用太多磁盘空间,甚至耗尽磁盘空间,可使用日志轮换来轮换旧的日志文件

轮换日志以确保旧的日志自动从您环境的 EC2 实例中删除。如果您希望保留旧日志,可以在从实例删除轮换掉的日志之前将其上传到 Amazon Simple Storage Service (Amazon S3)。

(可选)将您的日志流式传输到 CloudWatch

在生产应用程序中,最好的做法是将日志流式传输您的远程存储解决方案,如 CloudWatch。要了解如何启用将日志流式传输到 Elastic Beanstalk,请参阅将日志文件流式传输到 Amazon CloudWatch Logs将 Elastic Beanstalk 配合 Amazon CloudWatch Logs 使用

如果您想流式传输自定义日志位置,请参阅使用配置文件进行实例日志的流式传输

将您的日志流式传输到 CloudWatch 有助于保护护您的数据。例如,如果您的 Elastic Beanstalk 环境中 EC2 实例出现问题导致其终止,则您仍然可以从 CloudWatch 恢复您的日志。您还可以使用日志轮换来防止数据丢失。