Contoh definisi tugas Amazon ECS: Rute log ke FireLens - Amazon Elastic Container Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Contoh definisi tugas Amazon ECS: Rute log ke FireLens

Untuk menggunakan perutean log kustom denganFireLens, 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.

  • Peran IAM 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 memudahkan untuk menambahkan wadah router log. Untuk informasi selengkapnya, lihat Membuat definisi tugas Amazon ECS 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

FireLensmendengarkan 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 instans Amazon EC2 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 (ARN) lengkap dari tugas yang menjadi bagian dari wadah.

  • ecs_task_definition— Nama definisi tugas dan revisi yang digunakan tugas.

  • ec2_instance_id— ID instans Amazon EC2 tempat penampung di-host. Bidang ini hanya berlaku untuk tugas yang 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 FireLenscontoh Amazon ECS di GitHub.

{ "family": "firelens-example-firehose", "taskRoleArn": "arn:aws:iam::123456789012:role/ecs_task_iam_role", "containerDefinitions": [ { "essential": true, "image": "906394416424.dkr.ecr.us-west-2.amazonaws.com/aws-for-fluent-bit:stable", "name": "log_router", "firelensConfiguration": { "type": "fluentbit", "options": { "enable-ecs-log-metadata": "true" } }, "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "firelens-container", "awslogs-region": "us-west-2", "awslogs-create-group": "true", "awslogs-stream-prefix": "firelens" } }, "memoryReservation": 50 }, { "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 konfigurasi Fluentd atau Fluent Bit output. Berikut ini adalah contoh kode dari definisi Fluent Bit output.

[OUTPUT] Name firehose Match app-firelens* region us-west-2 delivery_stream my-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 Bit Lancar.

Dalam file konfigurasi kustom Anda, untuk tugas yang menggunakan mode awsvpc jaringan bridge atau, jangan atur input forward Fluentd atau Fluent Bit melalui TCP karena FireLens menambahkannya ke konfigurasi input.

FireLensKonfigurasi Anda harus berisi opsi berikut untuk menentukan file konfigurasi kustom:

config-file-type

Lokasi sumber file konfigurasi kustom. Opsi yang tersedia adalah s3 atau file.

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 adalah ARN lengkap dari bucket dan file Amazon S3. Jika jenis file file 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 digunakan. Amazon ECS mencadangkan jalur /fluent-bit/etc/fluent-bit.conf file untuk Fluent Bit dan Fluentd. /fluentd/etc/fluent.conf

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 peran IAM 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:::DOC-EXAMPLE-BUCKET/fluent.conf | filepath" } } } ] }
catatan

Tugas yang dihosting AWS Fargate hanya mendukung jenis file file konfigurasi.