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 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
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 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 suawsfirelens
. -
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 di536870912
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 massimo8
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 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 contenitore. FireLens
Nota
Se utilizzate il tipo di EC2 avvio con la modalità di
bridge
rete, la variabile diFLUENT_HOST
ambiente nel contenitore dell'applicazione può diventare imprecisa dopo il riavvio del contenitore del FireLens log router (il contenitore con l'firelensConfiguration
oggetto 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'indirizzoFLUENT_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 attività di Amazon ECS 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-golang
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": "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 } ] }