Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configuration d'Amazon ECS Logs pour un débit élevé
Lorsque vous créez une définition de tâche, vous pouvez spécifier le nombre de lignes de journal mises en mémoire tampon en spécifiant la valeur dans lelog-driver-buffer-limit
. Pour plus d'informations, consultez Fluentd logging drive
Utilisez cette option lorsque le débit est élevé, car Docker risque de manquer de mémoire tampon et de supprimer les messages de la mémoire tampon. Il peut donc ajouter de nouveaux messages.
Tenez compte des points suivants lorsque vous utilisez FireLens pour Amazon ECS avec l'option de limite de mémoire tampon :
-
Cette option est prise en charge sur le type de EC2 lancement Amazon et le type de lancement Fargate avec une version de plateforme
1.4.0
ou ultérieure. -
L'option n'est valide que lorsque
logDriver
est défini surawsfirelens
. -
La limite de mémoire tampon par défaut est le nombre de lignes de
1048576
journal. -
La limite de mémoire tampon doit être supérieure ou égale
0
et inférieure aux lignes de536870912
log. -
La quantité maximale de mémoire utilisée pour cette mémoire tampon est le produit de la taille de chaque ligne de journal par la taille de la mémoire tampon. Par exemple, si les lignes de journal de l'application sont en moyenne en
2
KiB, une limite de mémoire tampon de 4 096 utiliserait au maximum 18
MiB. La quantité totale de mémoire allouée au niveau de la tâche doit être supérieure à la quantité de mémoire allouée à tous les conteneurs en plus de la mémoire tampon du pilote de journal.
Lorsque le pilote de awsfirelens
journal est spécifié dans une définition de tâche, l'agent de ECS conteneur Amazon injecte les variables d'environnement suivantes dans le conteneur :
FLUENT_HOST
-
Adresse IP attribuée au FireLens conteneur.
Note
Si vous utilisez le type de EC2 lancement avec le mode
bridge
réseau, la variable d'FLUENT_HOST
environnement de votre conteneur d'applications peut devenir inexacte après le redémarrage du conteneur FireLens log router (le conteneur contenant l'firelensConfiguration
objet dans sa définition de conteneur). CelaFLUENT_HOST
est dû au fait qu'il s'agit d'une adresse IP dynamique qui peut changer après un redémarrage. La journalisation directe depuis le conteneur de l'application vers l'adresseFLUENT_HOST
IP peut commencer à échouer après le changement d'adresse. Pour plus d'informations sur le redémarrage de conteneurs individuels, consultezRedémarrer des conteneurs individuels dans Amazon ECS Tasks avec des politiques de redémarrage de conteneurs. FLUENT_PORT
-
Port sur lequel le protocole Fluent Forward écoute.
Vous pouvez utiliser les variables d'environnement FLUENT_HOST
et FLUENT_PORT
pour vous connecter directement au routeur de journal à partir du code au lieu de passer par stdout
. Pour plus d'informations, voir fluent-logger-golang
Ce qui suit montre la syntaxe permettant de spécifier lelog-driver-buffer-limit
. Remplacez my_service_
par le nom de votre 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": "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 } ] }