Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh definisi ECS tugas Amazon: Rute log ke FireLens
Untuk menggunakan perutean log kustom dengan FireLens, Anda harus menentukan yang berikut dalam definisi tugas Anda:
-
Sebuah wadah log router yang berisi FireLens konfigurasi. Kami merekomendasikan bahwa kontainer ditandai sebagai
essential
. -
Satu kontainer aplikasi atau lebih yang berisi konfigurasi log menentukan driver log
awsfirelens
. -
IAMPeran tugas Amazon Resource Name (ARN) yang berisi izin yang diperlukan untuk tugas untuk merutekan log.
Saat membuat definisi tugas baru menggunakan AWS Management Console, ada bagian FireLens integrasi yang membuatnya mudah untuk menambahkan wadah router log. Untuk informasi selengkapnya, lihat Membuat definisi ECS tugas Amazon menggunakan konsol.
Amazon ECS mengonversi konfigurasi log dan menghasilkan konfigurasi output Fluentd atau Fluent Bit. Konfigurasi output dipasang dalam kontainer perutean log di /fluent-bit/etc/fluent-bit.conf
untuk Fluent Bit dan /fluentd/etc/fluent.conf
untuk Fluentd.
penting
FireLens mendengarkan di port24224
. Oleh karena itu, untuk memastikan bahwa router FireLens log tidak dapat dijangkau di luar tugas, Anda tidak boleh mengizinkan lalu lintas masuk pada port 24224
dalam grup keamanan yang digunakan tugas Anda. Untuk tugas yang menggunakan mode awsvpc
jaringan, ini adalah grup keamanan yang terkait dengan tugas. Untuk tugas yang menggunakan mode host
jaringan, ini adalah grup keamanan yang terkait dengan EC2 instans Amazon yang menghosting tugas tersebut. Untuk tugas yang menggunakan mode bridge
jaringan, jangan membuat pemetaan port apa pun yang menggunakan port. 24224
Secara default, Amazon ECS menambahkan bidang tambahan di entri log Anda yang membantu mengidentifikasi sumber log.
-
ecs_cluster
— Nama cluster yang menjadi bagian dari tugas. -
ecs_task_arn
— Nama Sumber Daya Amazon lengkap (ARN) dari tugas yang menjadi bagian dari wadah. -
ecs_task_definition
— Nama definisi tugas dan revisi yang digunakan tugas. -
ec2_instance_id
— ID EC2 instans Amazon tempat penampung di-host. Bidang ini hanya valid untuk tugas menggunakan tipe peluncuran EC2.
Anda dapat mengatur enable-ecs-log-metadata
ke false
jika Anda tidak ingin metadata.
Contoh definisi tugas berikut mendefinisikan wadah router log yang menggunakan Fluent Bit untuk merutekan lognya ke CloudWatch Log. Ini juga mendefinisikan wadah aplikasi yang menggunakan konfigurasi log untuk merutekan log ke Amazon Data Firehose dan menetapkan memori yang digunakan untuk buffer peristiwa ke 2 MiB.
catatan
Untuk contoh definisi tugas lainnya, lihat ECS FireLenscontoh Amazon
{ "family": "firelens-example-firehose", "taskRoleArn": "arn:aws:iam::123456789012:role/ecs_task_iam_role", "containerDefinitions": [ { "name": "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": "2097152" } }, "memoryReservation": 100 } ] }
Pasangan kunci-nilai yang ditentukan sebagai opsi dalam logConfiguration
objek digunakan untuk menghasilkan Fluentd atau Fluent Bit konfigurasi keluaran. Berikut ini adalah contoh kode dari Fluent Bit definisi keluaran.
[OUTPUT] Name firehose Match app-firelens* region
us-west-2
delivery_streammy-stream
catatan
FireLens mengelola match
konfigurasi. Anda tidak menentukan match
konfigurasi dalam definisi tugas Anda.
Gunakan file konfigurasi khusus
Anda dapat menentukan file konfigurasi khusus. Format file konfigurasi adalah format asli untuk router log yang Anda gunakan. Untuk informasi selengkapnya, lihat Sintaks File Konfigurasi Fluentd dan File Konfigurasi
Dalam file konfigurasi kustom Anda, untuk tugas yang menggunakan mode awsvpc
jaringan bridge
atau, jangan setel input forward Fluentd atau Fluent Bit karena TCP FireLens menambahkannya ke konfigurasi input.
Klaster FireLens konfigurasi harus berisi opsi berikut untuk menentukan file konfigurasi kustom:
config-file-type
-
Lokasi sumber file konfigurasi kustom. Opsi yang tersedia adalah
s3
ataufile
.catatan
Tugas yang di-host AWS Fargate hanya mendukung jenis file
file
konfigurasi. config-file-value
-
Sumber untuk file konfigurasi kustom. Jika jenis file
s3
konfigurasi digunakan, nilai file konfigurasi penuh dengan ARN bucket dan file Amazon S3. Jika jenis filefile
konfigurasi digunakan, nilai file konfigurasi adalah jalur lengkap dari file konfigurasi yang ada baik dalam gambar kontainer atau pada volume yang dipasang di wadah.penting
Saat menggunakan file konfigurasi khusus, Anda harus menentukan jalur yang berbeda dari yang FireLens menggunakan. Amazon ECS mencadangkan jalur
/fluent-bit/etc/fluent-bit.conf
file untuk Fluent Bit dan/fluentd/etc/fluent.conf
Fluentd.
Contoh berikut menunjukkan sintaksis yang diperlukan saat menentukan konfigurasi kustom.
penting
Untuk menentukan file konfigurasi khusus yang di-host di Amazon S3, pastikan Anda telah membuat IAM peran eksekusi tugas dengan izin yang tepat.
Berikut ini menunjukkan sintaks yang diperlukan saat menentukan konfigurasi kustom.
{ "containerDefinitions": [ { "essential": true, "image": "906394416424.dkr.ecr.
us-west-2
.amazonaws.com/aws-for-fluent-bit:stable", "name": "log_router", "firelensConfiguration": { "type": "fluentbit", "options": { "config-file-type": "s3
|file
", "config-file-value": "arn:aws:s3:::
|amzn-s3-demo-bucket
/fluent.conffilepath
" } } } ] }
catatan
Tugas yang dihosting AWS Fargate hanya mendukung jenis file file
konfigurasi.