Configurazione dei ECS log di Amazon per un throughput elevato - Amazon Elastic Container Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione dei ECS log di Amazon per un throughput elevato

Quando si crea una definizione di attività, è possibile specificare il numero di righe di registro memorizzate nel buffer di memoria specificando il valore in. log-driver-buffer-limit Per ulteriori informazioni, consulta la pagina Driver di registro di Fluentd nella documentazione Docker.

Utilizza questa opzione quando la velocità effettiva è elevata, poiché Docker potrebbe esaurire la memoria buffer e scartare i messaggi del buffer, in modo da poter aggiungere nuovi messaggi.

Considera quanto segue quando utilizzi FireLens per Amazon ECS con l'opzione di limite di buffer:

  • Questa opzione è supportata nel tipo di EC2 lancio Amazon e nel tipo di lancio Fargate con versione della piattaforma 1.4.0 o successiva.

  • L'opzione è valida solo quando logDriver è impostato su awsfirelens.

  • Il limite di buffer predefinito è costituito dalle righe di 1048576 registro.

  • Il limite del buffer deve essere maggiore o uguale 0 e minore delle righe di 536870912 registro.

  • La quantità massima di memoria utilizzata per questo buffer è il prodotto della dimensione di ogni riga di registro e della dimensione del buffer. Ad esempio, se le righe di registro dell'applicazione sono in media 2 KB, un limite di buffer di 4096 utilizzerebbe al massimo 8 MiB. La quantità totale di memoria allocata a livello di attività deve essere maggiore della quantità di memoria allocata per tutti i contenitori oltre al buffer di memoria del driver di registro.

Quando il driver di awsfirelens log viene specificato in una definizione di attività, l'agente ECS container Amazon inserisce le seguenti variabili di ambiente nel contenitore:

FLUENT_HOST

L'indirizzo IP assegnato al FireLens contenitore.

Nota

Se utilizzate il tipo di EC2 avvio con la modalità di bridge rete, la variabile di FLUENT_HOST ambiente nel contenitore dell'applicazione può diventare imprecisa dopo il riavvio del contenitore del FireLens log router (il contenitore con l'firelensConfigurationoggetto nella definizione del contenitore). Questo perché FLUENT_HOST è un indirizzo IP dinamico e può cambiare dopo un riavvio. La registrazione diretta dal contenitore dell'applicazione all'indirizzo FLUENT_HOST IP può iniziare a fallire dopo la modifica dell'indirizzo. Per ulteriori informazioni sul riavvio di singoli contenitori, vedere. Riavvia i singoli contenitori nelle ECS attività di Amazon con le politiche di riavvio dei contenitori

FLUENT_PORT

La porta su cui il protocollo Fluent Forward è in ascolto.

Le variabili di ambiente FLUENT_HOST e FLUENT_PORT consentono di accedere direttamente al router di log dal codice anziché passare attraverso stdout. Per ulteriori informazioni, vedere fluent-logger-golangon. GitHub

Di seguito viene illustrata la sintassi per specificare il. log-driver-buffer-limit Sostituisci my_service_ con il nome del tuo servizio:

{ "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": "httpd", "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 } ] }