本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定高輸送量的 Amazon ECS 日誌
當您建立任務定義時,您可以透過在 中指定 值,來指定在記憶體中緩衝的日誌行數log-driver-buffer-limit
。如需詳細資訊,請參閱 Docker 文件中的 Fluentd 登入驅動程式
當輸送量高時,請使用此選項,因為 Docker 可能會耗盡緩衝區記憶體並捨棄緩衝區訊息,因此可以新增新訊息。
使用 FireLens for Amazon ECS 搭配緩衝區限制選項時,請考量下列 :
-
Amazon EC2 啟動類型和具有平台版本的
1.4.0
或更新版本的 Fargate 啟動類型支援此選項。 -
只有在
logDriver
設定為awsfirelens
時,此選項才有效。 -
預設緩衝限制為
1048576
日誌行。 -
緩衝區限制必須大於或等於
0
且小於536870912
日誌行。 -
此緩衝區使用的記憶體數量上限是每個日誌行大小和緩衝區大小的乘積。例如,如果應用程式的日誌行平均為
2
KiB,緩衝區限制為 4096,最多會使用8
MiB。除了日誌驅動程式記憶體緩衝區之外,任務層級配置的記憶體總量應大於為所有容器配置的記憶體量。
在任務定義中指定 awsfirelens
日誌驅動程式時,Amazon ECS 代理程式會將下列環境變數插入容器中:
FLUENT_HOST
-
指派給 FireLens 容器的 IP 位址。
注意
如果您使用 EC2 啟動類型搭配
bridge
網路模式,應用程式容器中FLUENT_HOST
的環境變數可能會在重新啟動 FireLens 日誌路由器容器 (容器定義中具有firelensConfiguration
物件的容器) 之後變得不準確。這是因為FLUENT_HOST
是動態 IP 地址,重新啟動後可能會變更。地址變更後,直接從應用程式容器記錄到FLUENT_HOST
IP 地址可能會開始失敗。如需重新啟動個別容器的詳細資訊,請參閱 使用容器重新啟動政策重新啟動 Amazon ECS 任務中的個別容器。 FLUENT_PORT
-
流利轉送通訊協定正在接聽的連接埠。
您可以使用 FLUENT_HOST
和 FLUENT_PORT
環境變數從程式碼直接登入日誌路由器,而不是透過 stdout
。如需詳細資訊,請參閱 GitHub 上的 流利記錄器 golang
以下顯示指定 的語法log-driver-buffer-limit
。my_service_
將 取代為您服務的名稱:
{ "containerDefinitions": [ { "name": "
my_service_
log_router", "image": "public.ecr.aws/aws-observability/aws-for-fluent-bit:stable", "cpu": 0, "memoryReservation": 51, "portMappings": [], "essential": true, "environment": [], "mountPoints": [], "volumesFrom": [], "user": "0", "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "/ecs/ecs-aws-firelens-sidecar-container", "mode": "non-blocking", "awslogs-create-group": "true", "max-buffer-size": "25m", "awslogs-region": "us-east-1", "awslogs-stream-prefix": "firelens" }, "secretOptions": [] }, "systemControls": [], "firelensConfiguration": { "type": "fluentbit" } }, { "essential": true, "image": "public.ecr.aws/docker/library/httpd:latest", "name": "app", "logConfiguration": { "logDriver": "awsfirelens", "options": { "Name": "firehose", "region": "us-west-2", "delivery_stream": "my-stream", "log-driver-buffer-limit": "51200" } }, "dependsOn": [ { "containerName": "log_router", "condition": "START" } ], "memoryReservation": 100 } ] }