Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengonfigurasi ECS log Amazon untuk throughput tinggi
Saat Anda membuat definisi tugas, Anda dapat menentukan jumlah baris log yang disangga dalam memori dengan menentukan nilai dalam. log-driver-buffer-limit
Untuk informasi selengkapnya, lihat Driver logging fluentd
Gunakan opsi ini ketika ada throughput tinggi, karena Docker mungkin kehabisan memori buffer dan membuang pesan buffer, sehingga dapat menambahkan pesan baru.
Pertimbangkan hal berikut saat menggunakan FireLens untuk Amazon ECS dengan opsi batas buffer:
-
Opsi ini didukung pada jenis EC2 peluncuran Amazon dan jenis peluncuran Fargate dengan versi platform
1.4.0
atau yang lebih baru. -
Opsi ini hanya valid ketika
logDriver
diatur keawsfirelens
. -
Batas buffer default adalah baris
1048576
log. -
Batas buffer harus lebih besar dari atau sama dengan
0
dan kurang dari garis536870912
log. -
Jumlah maksimum memori yang digunakan untuk buffer ini adalah produk dari ukuran setiap baris log dan ukuran buffer. Misalnya, jika baris log aplikasi rata-rata
2
KiB, batas buffer 4096 akan menggunakan paling banyak8
MiB. Jumlah total memori yang dialokasikan pada tingkat tugas harus lebih besar dari jumlah memori yang dialokasikan untuk semua wadah selain buffer memori driver log.
Ketika driver awsfirelens
log ditentukan dalam definisi tugas, agen ECS penampung Amazon menyuntikkan variabel lingkungan berikut ke dalam wadah:
FLUENT_HOST
-
Alamat IP yang ditetapkan ke FireLens kontainer.
catatan
Jika Anda menggunakan tipe EC2 peluncuran dengan mode
bridge
jaringan, variabelFLUENT_HOST
lingkungan dalam wadah aplikasi Anda dapat menjadi tidak akurat setelah restart wadah router FireLens log (wadah denganfirelensConfiguration
objek dalam definisi kontainer). Ini karenaFLUENT_HOST
merupakan alamat IP dinamis dan dapat berubah setelah restart. Logging langsung dari wadah aplikasi ke alamatFLUENT_HOST
IP dapat mulai gagal setelah alamat berubah. Untuk informasi selengkapnya tentang memulai ulang kontainer individual, lihat. Mulai ulang kontainer individual dalam ECS tugas Amazon dengan kebijakan restart kontainer FLUENT_PORT
-
Port tempat protokol Fluent Forward mendengarkan.
Anda dapat menggunakan variabel FLUENT_HOST
dan FLUENT_PORT
lingkungan untuk log langsung ke router log dari kode alih-alih melaluistdout
. Untuk informasi lebih lanjut, lihat fluent-logger-golang
Berikut ini menunjukkan sintaks untuk menentukan. log-driver-buffer-limit
Ganti my_service_
dengan nama layanan Anda:
{ "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 } ] }