将 ECS Fargate 容器日志直接推送到 S3 存储桶

问题描述 投票:0回答:2

我托管了一个 ECS Fargate 集群,该集群使用 AWS 日志驱动程序并将日志推送到 CloudWatch,awslog 驱动程序没有任何问题。现在我想做的是将日志直接从 ECS 集群推送到 S3 存储桶。

所以我希望使用 AWS Athena 来查询 S3 的日志。 Firelens Fluent 是最好的选择吗?如果你们对这个过程有任何解决方案,请告诉我。

amazon-web-services amazon-s3 amazon-ecs amazon-cloudwatchlogs firelens
2个回答
0
投票

目前,

Firelens
是将日志从 ECS Fargate 导出到 S3 存储桶的最佳工具。 FireLens 可与 Fluent Bit 和 Fluentd 日志转发器配合使用。不过,我建议您使用
Fluent Bit
,因为它比
Fluentd
更有效。

欲了解更多信息,您可以参考


0
投票

对于 ECS Fargate 的自定义日志转发,我使用了 Firelens 和 Fluentbit。 Amazon link 提供的文档不完整,对我尝试 NewRelic 的帮助不大,但它提供了一个起点。但由于您想将日志转发到 S3,您不需要太多麻烦,因为它已经是图像 amazon/aws-for-flu-bit:latest 中的一项服务,并遵循文档和下面提到的一些更改-

logDestination.conf-

[OUTPUT]
    Name                         s3
    Match                        *
    bucket                       my-bucket
    region                       us-west-2
    total_file_size              250M
    s3_key_format                /$TAG[2]/$TAG[0]/%Y/%m/%d/%H/%M/%S/$UUID.gz
    s3_key_format_tag_delimiters .-

源 Fluentbit 文档 链接

此外,主容器中的日志配置将是-

"logConfiguration": {
            "logDriver": "awsfirelens"
        }

这些更改将允许您将日志转发到 cloudwatch 和 S3 存储桶。

© www.soinside.com 2019 - 2024. All rights reserved.