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.
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
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.
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
Buka konsol Amazon ECS di https://console.aws.amazon.com/ecs/
. -
Pada panel navigasi yang ada di sebelah kiri, pilih Ketentuan tugas lalu pilih Buat Definisi Tugas baru.
-
Pilih opsi kompatibilitas Anda dan pilih Langkah selanjutnya.
-
Pilih Tambahkan kontainer.
-
Di bagian Storage and Logging, untuk konfigurasi Log, pilih Konfigurasi Otomatis CloudWatch Log.
-
Masukkan opsi driver log awslogs Anda. Untuk informasi selengkapnya, lihat Menentukan konfigurasi log dalam ketentuan tugas Anda.
-
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 menyertakan
logs:CreateLogGroup
izin sebelum Anda mencoba menggunakannyaawslogs-create-group
. awslogs-region
-
Wajib: Ya
TentukanWilayah AWS bahwa driver
awslogs
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 driver
awslogs
log mengirimkan aliran lognya. Untuk informasi selengkapnya, lihat Membuat grup log. awslogs-stream-prefix
-
Diperlukan: Ya, saat menggunakan tipe peluncuran Fargate.
Gunakan
awslogs-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 mengkonfigurasi
awslogs-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 mengkonfigurasi
awslogs-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
Ketika
non-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
Buka konsol Amazon ECS di https://console.aws.amazon.com/ecs/
. -
Pada halaman Klaster, pilih klaster yang berisi tugas untuk melihat.
-
Pada halaman Klaster:
klaster_name
, pilih Tugas dan pilih tugas untuk dilihat. -
Pada halaman Tugas:
task_id
, memperluas tampilan kontainer dengan memilih panah di sebelah kiri nama kontainer. -
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
Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/
. -
Di panel navigasi sebelah kiri, pilih Log.
-
Pilih grup log untuk melihat. Anda akan melihat grup log yang Anda buat di Membuat grup log.
-
Pilih pengaliran log yang akan dilihat.