如何在 AWS CloudWatch 中轮换日志?
How to rotate logs in AWS CloudWatch?
我正在使用 Amazon CloudWatch Log Agent (AWS documentation) 将日志从我的 EC2 实例上传到 CloudWatch 控制台。
对于我在 EC2 上的 CloudWatch Log Agent 配置,我有以下内容:
[general]
state_file = /var/awslogs/state/agent-state
[applog]
file = /var/www/html/logs/applog.log
log_group_name = MyApp
log_stream_name = applog.log
datetime_format = %Y-%m-%d %H:%M:%S
我的问题是,如何让 applog.log 每天轮换一次?在 AWS 文档(link 上面)中,它提到能够配置日志轮换策略,但我找不到任何 mention/example 如何实际执行此操作。我试过将 log_stream_name 指定为 applog_%Y-%m-%d.log,但它按字面解释。
非常欢迎任何正确方向的想法或指示 - 谢谢!
我认为没有办法使用 Amazon 的 CloudWatch Log Agent 轮换 log_stream_name
。文档中描述的日志轮换与提取系统轮换的日志文件有关,CloudWatch Log Agent 本身不执行任何日志轮换。
根据 the documentation,log_stream_name
属性 中允许的唯一变量是 {instance_id}
、{hostname}
和 {ip_address}
我认为您要求的是日志过期时间。至少那是我一直在寻找的。以下是您可以在一定时间后使日志过期的方法:
- 通过
- 通过控制台:
- 在 AWS 控制台仪表板上,导航至 Cloudwatch>>日志。
- 在列出所有日志的 table 中,对于您有问题的特定日志:,单击 "Expire Events After" 列中的 "Never expire"。弹出窗口将允许您选择保留期
根据代理文档,日志文件名可以包含通配符。
File can point to a specific file or multiple files (using wildcards
such as /var/log/system.log*). Only the latest file is pushed to
CloudWatch Logs based on file modification time.
因此,您可以开始写入与您的模式匹配的新文件,一切都应该没问题。
我正在使用 Amazon CloudWatch Log Agent (AWS documentation) 将日志从我的 EC2 实例上传到 CloudWatch 控制台。
对于我在 EC2 上的 CloudWatch Log Agent 配置,我有以下内容:
[general]
state_file = /var/awslogs/state/agent-state
[applog]
file = /var/www/html/logs/applog.log
log_group_name = MyApp
log_stream_name = applog.log
datetime_format = %Y-%m-%d %H:%M:%S
我的问题是,如何让 applog.log 每天轮换一次?在 AWS 文档(link 上面)中,它提到能够配置日志轮换策略,但我找不到任何 mention/example 如何实际执行此操作。我试过将 log_stream_name 指定为 applog_%Y-%m-%d.log,但它按字面解释。
非常欢迎任何正确方向的想法或指示 - 谢谢!
我认为没有办法使用 Amazon 的 CloudWatch Log Agent 轮换 log_stream_name
。文档中描述的日志轮换与提取系统轮换的日志文件有关,CloudWatch Log Agent 本身不执行任何日志轮换。
根据 the documentation,log_stream_name
属性 中允许的唯一变量是 {instance_id}
、{hostname}
和 {ip_address}
我认为您要求的是日志过期时间。至少那是我一直在寻找的。以下是您可以在一定时间后使日志过期的方法:
- 通过
- 通过控制台:
- 在 AWS 控制台仪表板上,导航至 Cloudwatch>>日志。
- 在列出所有日志的 table 中,对于您有问题的特定日志:,单击 "Expire Events After" 列中的 "Never expire"。弹出窗口将允许您选择保留期
根据代理文档,日志文件名可以包含通配符。
File can point to a specific file or multiple files (using wildcards such as /var/log/system.log*). Only the latest file is pushed to CloudWatch Logs based on file modification time.
因此,您可以开始写入与您的模式匹配的新文件,一切都应该没问题。