Menggunakan driver log awslogs - Amazon ECS

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

Menggunakan driver log awslogs

Anda dapat mengonfigurasi kontainer dalam tugas Anda untuk mengirim informasi log ke CloudWatch Log. Jika Anda melakukan ini, Anda dapat melihat log dari kontainer dalam tugas Fargate Anda. Topik ini membahas bagaimana Anda dapat mulai menggunakan driverawslogs log dalam ketentuan tugas Anda.

catatan

Jenis informasi yang dicatat oleh kontainer dalam tugas Anda sebagian besar bergantung pada perintah ENTRYPOINT mereka. Secara default, log yang diambil menunjukkan output perintah yang biasanya Anda lihat di terminal interaktif jika Anda menjalankan kontainer secara lokal, yaitu aliran I/OSTDOUT danSTDERR I/O. Driverawslogs log hanya meneruskan log ini dari Docker ke CloudWatch Log. Untuk informasi selengkapnya tentang cara log Docker diproses, termasuk cara alternatif untuk menangkap berbagai pengaliran atau data file, lihat Melihat log untuk kontainer atau layanan dalam dokumentasi Docker.

Menghidupkan driver log awslogs untuk kontainer Anda

Jika Anda menggunakan jenis peluncuran Fargate untuk tugas Anda, Anda perlu menambahkanlogConfiguration parameter yang diperlukan ke definisi tugas Anda untuk mengaktifkan driverawslogs log. Untuk informasi selengkapnya, lihat Menentukan konfigurasi log dalam ketentuan tugas Anda.

Membuat grup log

Driverawslogs log dapat mengirim aliran log ke grup log yang ada di CloudWatch Log atau membuat grup log baru atas nama Anda. Opsi konfigurasi otomatis yang membuat grup log atas nama Anda menggunakan nama keluarga ketentuan tugasecs sebagai prefiks.AWS Management Console Atau, Anda dapat secara manual menentukan opsi konfigurasi log dan menentukanawslogs-create-group opsi dengan nilaitrue, yang membuat grup log atas nama Anda.

catatan

Untuk menggunakanawslogs-create-group opsi agar grup log Anda dibuat, kebijakan IAM Anda harus menyertakanlogs:CreateLogGroup izin.

Kode berikut menunjukkan cara mengaturawslogs-create-group opsi.

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

Menggunakan fitur autokonfigurasi untuk membuat grup log

Saat mendaftarkan ketentuan tugas di konsol Amazon ECS, Anda dapat mengizinkan Amazon ECS mengonfigurasi CloudWatch log Anda secara otomatis. Melakukan hal ini menyebabkan grup log dibuat atas nama Anda menggunakan nama keluarga ketentuan tugasecs sebagai prefiks.

Untuk menggunakan opsi autokonfigurasi grup log secara otomatis di konsol Amazon ECS
  1. Buka konsol Amazon ECS di https://console.aws.amazon.com/ecs/.

  2. Pada panel navigasi yang ada di sebelah kiri, pilih Ketentuan tugas lalu pilih Buat Definisi Tugas baru.

  3. Pilih opsi kompatibilitas Anda dan pilih Langkah selanjutnya.

  4. Pilih Tambahkan kontainer.

  5. Di bagian Storage and Logging, untuk konfigurasi Log, pilih Konfigurasi Otomatis CloudWatch Log.

  6. Masukkan opsi driver log awslogs Anda. Untuk informasi selengkapnya, lihat Menentukan konfigurasi log dalam ketentuan tugas Anda.

  7. Menyelesaikan sisa wizard ketentuan tugas.

Tersedia opsi driver log awslogs

Driverawslogs log mendukung opsi berikut dalam ketentuan tugas Amazon ECS. Selengkapnya, lihat driver loggingCloudWatch log.

awslogs-create-group

Wajib: Tidak

Menentukan apakah Anda ingin grup log secara otomatis dibuat. Jika opsi ini tidak ditentukan, default-nya adalah false.

catatan

Kebijakan IAM Anda harus menyertakanlogs:CreateLogGroup izin sebelum Anda mencoba menggunakannyaawslogs-create-group.

awslogs-region

Wajib: Ya

TentukanWilayah AWS bahwa driverawslogs log adalah untuk mengirim log Docker Anda. Anda dapat memilih untuk mengirim semua log dari klaster di beberapa Wilayah yang berbeda ke satu wilayah di CloudWatch Log. Hal ini agar mereka semua terlihat di satu lokasi. Jika tidak, Anda dapat memisahkannya menurut Wilayah untuk lebih banyak perincian. Pastikan bahwa grup log yang ditentukan ada di Wilayah yang Anda tentukan dengan opsi ini.

awslogs-group

Wajib: Ya

Pastikan untuk menentukan grup log tempat driverawslogs log mengirimkan aliran lognya. Untuk informasi selengkapnya, lihat Membuat grup log.

awslogs-stream-prefix

Diperlukan: Ya, saat menggunakan tipe peluncuran Fargate.

Gunakanawslogs-stream-prefix opsi untuk mengaitkan aliran log dengan prefiks yang ditentukan, nama kontainer, dan ID tugas Amazon ECS tempat penampung itu berada. Jika Anda menentukan prefiks dengan opsi ini, aliran log mengambil format berikut.

prefix-name/container-name/ecs-task-id

Untuk layanan Amazon ECS, Anda dapat menggunakan nama layanan sebagai awalan. Dengan demikian, Anda dapat melacak aliran log ke layanan tempat kontainer itu berada, nama kontainer yang mengirimnya, dan ID tugas tempat kontainer itu berada.

awslogs-datetime-format

Wajib: Tidak

Opsi ini mendefinisikan pola mulai multiline di Python format strftime. Pesan log terdiri dari baris yang cocok dengan pola dan baris berikut yang tidak cocok dengan pola. Baris yang cocok adalah pembatas antara pesan log.

Salah satu contoh kasus penggunaan format ini adalah untuk penguraian output seperti buangan tumpukan, yang mungkin bisa tercatat dalam beberapa entri. Pola yang benar akan memungkinkannya ditangkap dalam satu entri.

Untuk informasi lebih lanjut, lihat awslogs-datetime-format.

Anda tidak dapat mengkonfigurasiawslogs-multiline-pattern opsiawslogs-datetime-format dan.

catatan

Pencatatan multibaris melakukan penguraian dan pencocokan ekspresi reguler dari semua pesan log. Ini mungkin berdampak negatif pada performa pencatatan.

awslogs-multiline-pattern

Wajib: Tidak

Opsi ini mendefinisikan pola mulai multiline yang menggunakan ekspresi reguler. Pesan log terdiri dari baris yang cocok dengan pola dan baris berikut yang tidak cocok dengan pola. Baris yang cocok adalah pembatas antara pesan log.

Untuk informasi lebih lanjut, lihat awslogs-multiline-pattern.

Opsi ini diabaikan jika awslogs-datetime-format juga dikonfigurasi.

Anda tidak dapat mengkonfigurasiawslogs-multiline-pattern opsiawslogs-datetime-format dan.

catatan

Pencatatan multibaris melakukan penguraian dan pencocokan ekspresi reguler dari semua pesan log. Ini mungkin berdampak negatif pada performa pencatatan.

mode

Wajib: Tidak

Nilai yang valid: non-blocking | blocking

Nilai default: blocking

Mode pengiriman pesan log dari kontainer untuk awslogs. Untuk informasi selengkapnya, lihat Konfigurasi driver logging .

max-buffer-size

Wajib: Tidak

Nilai default: 1m

Ketikanon-blocking mode digunakan, opsimax-buffer-size log mengontrol ukuran buffer cincin yang digunakan untuk penyimpanan pesan perantara.

Menentukan konfigurasi log dalam ketentuan tugas Anda

Sebelum kontainer Anda dapat mengirim log ke CloudWatch, Anda harus menentukan driverawslogs log untuk kontainer dalam ketentuan tugas Anda. Bagian ini menjelaskan konfigurasi log untuk kontainer untuk menggunakan driver log awslogs. Untuk informasi selengkapnya, lihat Membuat definisi tugas menggunakan konsol.

Definisi tugas JSON yang mengikuti memilikilogConfiguration objek yang ditentukan untuk setiap kontainer. Salah satunya adalah untuk WordPress wadah yang mengirimkan log ke grup log yang disebutawslogs-wordpress. Yang lainnya adalah untuk wadah MySQL yang mengirimkan log ke grup log yang disebutawslogs-mysql. Kedua kontainer menggunakan prefiks pengaliran log awslogs-example.

{ "containerDefinitions": [ { "name": "wordpress", "links": [ "mysql" ], "image": "wordpress", "essential": true, "portMappings": [ { "containerPort": 80, "hostPort": 80 } ], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-create-group": "true", "awslogs-group": "awslogs-wordpress", "awslogs-region": "us-west-2", "awslogs-stream-prefix": "awslogs-example" } }, "memory": 500, "cpu": 10 }, { "environment": [ { "name": "MYSQL_ROOT_PASSWORD", "value": "password" } ], "name": "mysql", "image": "mysql", "cpu": 10, "memory": 500, "essential": true, "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-create-group": "true", "awslogs-group": "awslogs-mysql", "awslogs-region": "us-west-2", "awslogs-stream-prefix": "awslogs-example" } } } ], "family": "awslogs-example" }

Melihat awslogs kontainer di CloudWatch Log

Setelah tugas Fargate Anda yang menggunakan driverawslogs log diluncurkan, kontainer Anda yang dikonfigurasi harus mengirimkan data lognya ke CloudWatch Log. Anda dapat melihat dan mencari log ini di konsol tersebut.

Untuk melihat data CloudWatch log Anda untuk kontainer dari konsol Amazon ECS
  1. Buka konsol Amazon ECS di https://console.aws.amazon.com/ecs/.

  2. Pada halaman Klaster, pilih klaster yang berisi tugas untuk melihat.

  3. Pada halaman Klaster:klaster_name, pilih Tugas dan pilih tugas untuk dilihat.

  4. Pada halaman Tugas:task_id, memperluas tampilan kontainer dengan memilih panah di sebelah kiri nama kontainer.

  5. Di bagian Konfigurasi Log, pilih Melihat log masuk CloudWatch, yang membuka aliran log terkait di CloudWatch konsol.

Untuk melihat data CloudWatch Log Anda di CloudWatch konsol
  1. Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/.

  2. Di panel navigasi sebelah kiri, pilih Log.

  3. Pilih grup log untuk melihat. Anda akan melihat grup log yang Anda buat di Membuat grup log.

  4. Pilih pengaliran log yang akan dilihat.

    
							Tampilan metrik konsol awslogs