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