

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

# 在 Amazon ECS 中使用自定义日志路由 FireLens
<a name="firelens-custom-log-routing"></a>

FireLens for Amazon ECS 可帮助您将日志路由到 [Fluentd](https://www.fluentd.org/) 或 Fluen [t Bit](https://docs.fluentbit.io/manual)，这样您就可以直接将容器日志发送到 AWS 服务和 AWS 合作伙伴网络 (APN) 目的地，并支持将日志传送到日志。 CloudWatch 

AWS 为 Fl [uent Bit 提供 Docker 镜像](https://docs.aws.amazon.com//AmazonECS/latest/developerguide/firelens-using-fluentbit.html)，其中预装了亚马逊 Kinesis Data Streams、Amazon Data Firehose 和日志的插件。 CloudWatch 您可以使用 FireLens 日志驱动程序代替日志驱动程序，以便对发送`awslogs`到 Logs 的 CloudWatch 日志进行更多自定义和控制。

例如，您可以使用 FireLens 日志驱动程序来控制日志格式输出。这意味着 Amazon ECS 容器的 CloudWatch 日志会自动格式化为 JSON 对象，并包含`ecs_cluster`、、、`ecs_task_arn``ecs_task_definition``container_id``container_name`、和 JSON 格式的属性。`ec2_instance_id`当您指定`awsfirelens`驱动程序时，Fluent 主机将通过`FLUENT_HOST`和`FLUENT_PORT`环境变量暴露给您的容器。这意味着你可以使用 fluent 的记录器库直接从代码中登录到日志路由器。例如，您的应用程序可能包含使用环境变量中提供的值登录到 Fluent Bit 的`fluent-logger-python`库。

如果您选择用 FireLens 于 Amazon ECS，则可以配置[与`awslogs`日志驱动程序相同的设置，也可以使用其他设置](https://github.com/aws/amazon-cloudwatch-logs-for-fluent-bit)。例如，您可以使用 [ecs-task-nginx-firelense.js](https://github.com/aws-samples/logging-monitoring-apg-guide-examples/blob/main/examples/ecs/ecs-task-nginx-firelense.json) on Amazon ECS 任务定义来启动配置为 FireLens 用于登录的 NGINX 服务器。 CloudWatch它还会启动一个 FireLens Fluent Bit 容器作为日志记录的边车。