Contoh definisi tugas opsi logging - 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 opsi logging

Berikut ini adalah beberapa ketentuan tugas contoh yang mendemonstrasikan opsi perutean log umum. Untuk contoh lainnya, lihat FireLenscontoh Amazon ECS di GitHub.

catatan

Parameter definisi logConfiguration tugas berikut yang ditunjukkan dalam contoh ini digunakan untuk mengirim log Fluent Bit Anda AWS ke CloudWatch. AWS merekomendasikan konfigurasi ini sehingga Anda memiliki informasi tambahan CloudWatch untuk memecahkan masalah Bit AWS Lancar.

"logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "firelens-container", "awslogs-region": "us-west-2", "awslogs-create-group": "true", "awslogs-stream-prefix": "firelens" } },

Meneruskan log ke Log CloudWatch

catatan

Untuk contoh lainnya, lihat FireLens contoh Amazon ECS di GitHub.

Contoh definisi tugas berikut menunjukkan cara menentukan konfigurasi log yang meneruskan log ke grup log Log. CloudWatch Untuk informasi selengkapnya, lihat Apa itu Amazon CloudWatch Logs? di Panduan Pengguna CloudWatch Log Amazon.

Dalam opsi konfigurasi log, tentukan nama grup log dan nama Wilayah AWS itu ada. Agar Fluent Bit membuat grup log atas nama Anda, tentukan"auto_create_group":"true", untuk mengatur fluentd-buffer-limit penggunaannyalog-driver-buffer-limit. Anda juga dapat menentukan ID tugas sebagai awalan log stream, yang membantu dalam penyaringan. Untuk informasi selengkapnya, lihat Plugin Bit Lancar untuk CloudWatch Log.

{ "family": "firelens-example-cloudwatch", "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:latest", "name": "log_router", "firelensConfiguration": { "type": "fluentbit" }, "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": "cloudwatch", "region": "us-west-2", "log_group_name": "firelens-blog", "auto_create_group": "true", "log_stream_prefix": "from-fluent-bit", "log-driver-buffer-limit": "2097152" } }, "memoryReservation": 100 } ] }

Meneruskan log ke aliran pengiriman Amazon Data Firehose

catatan

Untuk contoh lainnya, lihat FireLens contoh Amazon ECS di GitHub.

Contoh definisi tugas berikut menunjukkan cara menentukan konfigurasi log yang meneruskan log ke aliran pengiriman Amazon Data Firehose. Aliran pengiriman Firehose pasti sudah ada. Untuk informasi selengkapnya, lihat Membuat Aliran Pengiriman Firehose Data Amazon di Panduan Pengembang Amazon Data Firehose.

Dalam opsi konfigurasi log, tentukan nama aliran pengiriman dan Wilayah tempatnya berada. Untuk informasi selengkapnya, lihat Plugin Fluent Bit untuk Amazon Kinesis Firehose.

{ "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" }, "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" } }, "memoryReservation": 100 } ] }

Meneruskan log ke domain Layanan Amazon OpenSearch

catatan

Untuk contoh lainnya, lihat FireLens contoh Amazon ECS di GitHub.

Contoh definisi tugas berikut menunjukkan cara menentukan konfigurasi log yang meneruskan log ke domain OpenSearch Layanan Amazon;. Domain OpenSearch Layanan Amazon harus sudah ada. Untuk informasi selengkapnya, lihat Apa itu OpenSearch Layanan Amazon di Panduan Pengembang OpenSearch Layanan Amazon.

Dalam opsi konfigurasi log, tentukan opsi log yang diperlukan untuk Integrasi OpenSearch layanan. Untuk informasi selengkapnya, lihat Fluent Bit for Amazon OpenSearch Service.

{ "family": "firelens-example-opensearch", "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" }, "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": "es", "Host": "vpc-fake-domain-ke7thhzo07jawrhmz6mb7ite7y.us-west-2.es.amazonaws.com", "Port": "443", "Index": "my_index", "Type": "my_type", "AWS_Auth": "On", "AWS_Region": "us-west-2", "tls": "On" } }, "memoryReservation": 100 } ] }

Mengurai log kontainer yang merupakan serial JSON

catatan

Untuk contoh lainnya, lihat FireLens contoh Amazon ECS di GitHub.

Dimulai dengan AWS untuk Fluent Bit versi 1.3, ada parser JSON yang disertakan dalam gambar AWS for Fluent Bit. Contoh berikut menunjukkan cara mereferensikan parser JSON dalam FireLens konfigurasi definisi tugas Anda.

"firelensConfiguration": { "type": "fluentbit", "options": { "config-file-type": "file", "config-file-value": "/fluent-bit/configs/parse-json.conf" } },

File konfigurasi Fluent Bit mem-parsing log apa pun yang ada di JSON (misalnya, jika log di tujuan Anda terlihat seperti berikut tanpa penguraian JSON).

{ "source": "stdout", "log": "{\"requestID\": \"b5d716fca19a4252ad90e7b8ec7cc8d2\", \"requestInfo\": {\"ipAddress\": \"204.16.5.19\", \"path\": \"/activate\", \"user\": \"TheDoctor\"}}", "container_id": "e54cccfac2b87417f71877907f67879068420042828067ae0867e60a63529d35", "container_name": "/ecs-demo-6-container2-a4eafbb3d4c7f1e16e00" "ecs_cluster": "mycluster", "ecs_task_arn": "arn:aws:ecs:us-east-2:01234567891011:task/mycluster/3de392df-6bfa-470b-97ed-aa6f482cd7a6", "ecs_task_definition": "demo:7" "ec2_instance_id": "i-06bc83dbc2ac2fdf8" }

Dengan penguraian JSON, log terlihat seperti berikut ini.

{ "source": "stdout", "container_id": "e54cccfac2b87417f71877907f67879068420042828067ae0867e60a63529d35", "container_name": "/ecs-demo-6-container2-a4eafbb3d4c7f1e16e00" "ecs_cluster": "mycluster", "ecs_task_arn": "arn:aws:ecs:us-east-2:01234567891011:task/mycluster/3de392df-6bfa-470b-97ed-aa6f482cd7a6", "ecs_task_definition": "demo:7" "ec2_instance_id": "i-06bc83dbc2ac2fdf8" "requestID": "b5d716fca19a4252ad90e7b8ec7cc8d2", "requestInfo": { "ipAddress": "204.16.5.19", "path": "/activate", "user": "TheDoctor" } }

JSON serial diperluas ke bidang tingkat atas dalam output JSON akhir. Untuk informasi selengkapnya tentang penguraian JSON, lihat Parser dalam dokumentasi Fluent Bit.

Meneruskan ke Fluentd atau Fluent Bit eksternal

catatan

Untuk contoh lainnya, lihat FireLens contoh Amazon ECS di GitHub.

Contoh ketentuan tugas berikut mendemonstrasikan bagaimana cara untuk menentukan konfigurasi log yang meneruskan log ke host Fluentd eksternal atau Fluent Bit. Tentukan host dan port untuk lingkungan Anda.

{ "family": "firelens-example-forward", "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" }, "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": "forward", "Host": "fluentdhost", "Port": "24224" } }, "memoryReservation": 100 } ] }