设置 Firelens 以将日志发送到 CloudWatch Logs - Amazon CloudWatch
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

设置 Firelens 以将日志发送到 CloudWatch Logs

Amazon ECS 利用适用于 的 FireLens您可以使用任务定义参数将日志路由到 Amazon CloudWatch Logs 以进行日志存储和分析。FireLens 可与 Fluent BitFluentd 结合使用。我们提供AWS适用于 Fluent Bit 映像的 ,您也可以使用自己的 Fluent Bit 或 Fluentd 映像。支持使用 Amazon ECS SDKs、 AWS和 使用 FireLens 配置创建AWS CLI任务定义AWS 管理控制台。有关 的更多信息CloudWatch Logs,请参阅什么是 CloudWatch Logs?

使用适用于 的 FireLens 时,有几个关键注意事项Amazon ECS。有关更多信息,请参阅注意事项

要查找AWS适用于 Fluent Bit 的 映像,请参阅使用AWS适用于 Fluent Bit 的 映像

要创建使用 FireLens 配置的任务定义,请参阅创建使用 FireLens 配置的任务定义。

示例

以下任务定义示例演示如何指定用于将日志转发到 CloudWatch Logs 日志组的日志配置。有关更多信息,请参阅 中的什么是 Amazon CloudWatch Logs User Guide Amazon CloudWatch Logs?。

在日志配置选项中,指定日志组名称及其所在的区域。要让 Fluent Bit 代表您创建日志组,请指定 "auto_create_group":"true"。您还可以将任务 ID 指定为日志流前缀,这有助于进行筛选。有关更多信息,请参阅适用于 CloudWatch Logs 的 Fluent Bit 插件

{ "family": "firelens-example-cloudwatch", "taskRoleArn": "arn:aws:iam::123456789012:role/ecs_task_iam_role", "containerDefinitions": [ { "essential": true, "image": "906394416424.dkr.ecr.us-west-2.amazonaws.com/aws-for-fluent-bit:latest", "name": "log_router", "firelensConfiguration": { "type": "fluentbit" }, "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "firelens-container", "awslogs-region": "us-west-2", "awslogs-create-group": "true", "awslogs-stream-prefix": "firelens" } }, "memoryReservation": 50 }, { "essential": true, "image": "nginx", "name": "app", "logConfiguration": { "logDriver":"awsfirelens", "options": { "Name": "cloudwatch", "region": "us-west-2", "log_key": "log", "log_group_name": "/aws/ecs/containerinsights/$(ecs_cluster)/application", "auto_create_group": "true", "log_stream_name": "$(ecs_task_id)" } }, "memoryReservation": 100 } ] }