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 log di Amazon ECS per un throughput elevato
Quando si crea una definizione di attività, è possibile specificare il numero righe di log che sono stati salvati nella memoria specificando il valore nel log-driver-buffer-limit. Per ulteriori informazioni, consulta la pagina Driver di registro di Fluentd
Utilizzare questa opzione in caso di throughput elevato, perché Docker potrebbe esaurire la memoria buffer e scartare i messaggi buffer in modo da poter aggiungere nuovi messaggi.
Considera quanto segue quando utilizzi FireLens Amazon ECS con l'opzione di limite di buffer:
-
Questa opzione è supportata su qualsiasi EC2 tipo Fargate con versione della piattaforma
1.4.0o successiva. -
L'opzione è valida solo quando
logDriverè impostato suawsfirelens. -
Il limite di buffer di default è
1048576righe di log. -
Il limite del buffer deve essere maggiore o uguale a
0e inferiore a536870912righe di log. -
La quantità massima di memoria utilizzata per questo buffer è il prodotto della dimensione di ogni riga di log e della dimensione del buffer. Ad esempio, se le righe di log dell'applicazione sono in media di
2KiB, un limite di buffer di 4096 utilizzerebbe al massimo8MiB. La quantità totale di memoria allocata a livello di attività deve essere superiore a quella allocata per tutti i container oltre al driver di log del buffer di memoria.
Quando il driver di log awsfirelens è specificato in una definizione di attività, l'agente Amazon ECS inserisce le seguenti variabili di ambiente nel container:
FLUENT_HOST-
L'indirizzo IP assegnato al FireLens contenitore.
Nota
Se utilizzi la modalità EC2 di
bridgerete, la variabile diFLUENT_HOSTambiente 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 container dell'applicazione all'indirizzo IPFLUENT_HOSTpuò iniziare a fallire dopo la modifica dell'indirizzo. Per ulteriori informazioni sul riavvio di singoli container, consultare Riavviare singoli container nelle attività Amazon ECS con policy di riavvio dei container. 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, consulta fluent-logger-golang
Di seguito viene illustrata la sintassi per specificare il. log-driver-buffer-limit Sostituire my_service_ con il nome del 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": [], "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 } ] }