CloudWatch Logs导出到S3

CloudWatch S3导出功能介绍

S3导出功能可以直接将日志导出到S3进行保存。在此过程中,需要指定导出日志的时间范围。

具体步骤

S3存储桶准备

首先需要准备用于接收导出日志的S3存储桶。此时S3存储桶的区域必须和CloudWatch Logs的区域一致。另外需要为存储桶添加如下策略(以东京区域为例): image-20240109125604522

{
    "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”。如果要限制导出的日志流,可以在高级设置中指定。 屏幕截图 2024-01-09 125834

选择时间段和桶以及路径,这里我选择导出到/log文件夹

image-20240109130630494 启动导出后,日志会以gz格式压缩后以对象的形式保存到S3存储桶中。我的为//log下面

总结

CloudWatch Logs是一个方便的日志存储和搜索服务。结合Lambda等可以进行实时分析和监控。如果不需要实时性,导出功能很适合长期保存日志。

参考:

https://dev.classmethod.jp/articles/export-cloudwatch-logs-to-s3/


文章作者: tutu
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 TutuのBlog
AWS S3 Cloudwatch
喜欢就支持一下吧