

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 搭配 FireLens for Amazon ECS 使用自訂日誌路由
<a name="firelens-custom-log-routing"></a>

FireLens for Amazon ECS 可協助您將日誌路由到 [Fluentd](https://www.fluentd.org/) 或 [Fluent Bit](https://docs.fluentbit.io/manual)，以便您可以將容器日誌直接傳送到 AWS 服務和 AWS 合作夥伴網路 (APN) 目的地，以及支援將日誌運送到 CloudWatch Logs。

AWS [為 Fluent Bit 提供 Docker 映像](https://docs.aws.amazon.com//AmazonECS/latest/developerguide/firelens-using-fluentbit.html)，其中包含 Amazon Kinesis Data Streams、Amazon Data Firehose 和 CloudWatch Logs 的預先安裝外掛程式。您可以使用 FireLens 日誌驅動程式，而不是`awslogs`日誌驅動程式，以進一步自訂和控制傳送至 CloudWatch Logs 的日誌。

例如，您可以使用 FireLens 日誌驅動程式來控制日誌格式輸出。這表示 Amazon ECS 容器的 CloudWatch 日誌會自動格式化為 JSON 物件`container_name`，並包含 `ecs_cluster`、`ecs_task_arn`、`ecs_task_definition``container_id`、 和 的 JSON 格式屬性`ec2_instance_id`。當您指定`awsfirelens`驅動程式時，流利的主機會透過 `FLUENT_HOST`和 `FLUENT_PORT`環境變數公開到您的容器。這表示您可以使用流暢的日誌程式庫，從程式碼直接登入日誌路由器。例如，您的應用程式可能包含程式`fluent-logger-python`庫，使用環境變數提供的值來記錄到 Fluent Bit。

如果您選擇使用 FireLens for Amazon ECS，您可以設定與`awslogs`日誌驅動程式相同的設定[，也可以使用其他設定](https://github.com/aws/amazon-cloudwatch-logs-for-fluent-bit)。例如，您可以使用 [ecs-task-nginx-firelense.json](https://github.com/aws-samples/logging-monitoring-apg-guide-examples/blob/main/examples/ecs/ecs-task-nginx-firelense.json) Amazon ECS 任務定義，啟動設定為使用 FireLens 記錄至 CloudWatch 的 NGINX 伺服器。它也會啟動 FireLens Fluent Bit 容器做為記錄的附屬項目。