CloudWatch S3导出功能介绍
S3导出功能可以直接将日志导出到S3进行保存。在此过程中,需要指定导出日志的时间范围。
具体步骤
S3存储桶准备
首先需要准备用于接收导出日志的S3存储桶。此时S3存储桶的区域必须和CloudWatch Logs的区域一致。另外需要为存储桶添加如下策略(以东京区域为例): {
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Principal”: {“Service”: “logs.ap-northeast-1.amazonaws.com”},
“Action”: “s3:GetBucketAcl”,
“Resource”: “arn:aws:s3:::[YOUR-BUCKET-NAME]”
},
{
“Effect”: “Allow”,
“Principal”: {“Service”: “logs.ap-northeast-1.amazonaws.com”},
“Action”: “s3:PutObject”,
“Resource”: “arn:aws:s3:::[YOUR-BUCKET-NAME]/*”,
“Condition”: {
“StringEquals”: {“s3:x-amz-acl”: “bucket-owner-full-control”}
}
}
]
}
注意替换[YOUR-BUCKET-NAME]为你的桶的名字。
日志导出
CloudWatch Logs的日志导出一般以日志组为单位。选择要导出的日志组,在操作中选择“导出到S3”。如果要限制导出的日志流,可以在高级设置中指定。
选择时间段和桶以及路径,这里我选择导出到/log文件夹
启动导出后,日志会以gz格式压缩后以对象的形式保存到S3存储桶中。我的为//log下面
总结
CloudWatch Logs是一个方便的日志存储和搜索服务。结合Lambda等可以进行实时分析和监控。如果不需要实时性,导出功能很适合长期保存日志。
参考:
https://dev.classmethod.jp/articles/export-cloudwatch-logs-to-s3/