Menggunakan driver log awslogs - AWS Batch

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

Menggunakan driver log awslogs

Secara default, AWS Batch memungkinkan driver awslogs log untuk mengirim informasi log ke CloudWatch Log. Anda dapat menggunakan fitur ini untuk melihat berbagai log dari kontainer Anda di satu lokasi yang nyaman dan mencegah log kontainer Anda mengambil ruang disk di instans kontainer Anda. Topik ini membantu Anda mengonfigurasi driver log awslogs dalam ketentuan tugas Anda.

catatan

Di AWS Batch konsol, Anda dapat mengonfigurasi driver awslogs log di bagian konfigurasi Logging saat Anda membuat definisi pekerjaan.

catatan

Jenis informasi yang dicatat oleh kontainer dalam tugas Anda sebagian besar tergantung pada perintah ENTRYPOINT. Secara default, log yang ditangkap menunjukkan output perintah yang biasanya Anda lihat di terminal interaktif jika Anda menjalankan kontainer secara lokal, yaitu pengaliran I/O STDOUT dan STDERR. Driver awslogs log hanya meneruskan log ini dari Docker ke CloudWatch Logs. 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.

Untuk mengirim log sistem dari instance kontainer Anda ke CloudWatch Log, lihatMenggunakan CloudWatch Log dengan AWS Batch. Untuk informasi selengkapnya tentang CloudWatch Log, lihat Memantau Kuota File CloudWatch Log dan Log di Panduan Pengguna CloudWatch Log Amazon.

Opsi driver log awslogs yang tersedia

Driver log awslogs mendukung opsi berikut dalam ketentuan tugas AWS Batch. Untuk informasi selengkapnya, lihat Driver logging CloudWatch log di dokumentasi Docker.

awslogs-region

Diperlukan: Tidak

Tentukan Wilayah tempat driver log awslogs harus mengirim log Docker Anda. Secara default, Wilayah yang digunakan adalah Wilayah yang sama dengan Wilayah untuk tugas. Anda dapat memilih untuk mengirim semua log Anda dari pekerjaan di Wilayah yang berbeda ke satu Wilayah di CloudWatch Log. Hal ini akan memungkinkan semuanya terlihat di satu lokasi. Sebagai alternatif, Anda dapat memisahkannya menurut Wilayah untuk pendekatan yang lebih terperinci. Namun, jika Anda memilih opsi ini, pastikan bahwa grup log yang ditentukan ada di Wilayah yang Anda tentukan.

awslogs-group

Wajib: Opsional

Dengan opsi awslogs-group, Anda dapat menentukan grup log yang menjadi tujuan pengiriman pengaliran log oleh driver log awslogs. Jika ini tidak ditentukan, aws/batch/job akan digunakan.

awslogs-stream-prefix

Wajib: Opsional

Dengan opsi awslogs-stream-prefix pilihan, Anda dapat mengaitkan pengaliran log dengan prefiks tertentu, dan ID tugas Amazon ECS dari tugas AWS Batch yang mencakup kontainer tersebut. Jika anda menentukan prefiks dengan pilihan ini, pengaliran log akan mengambil format berikut:

prefix-name/default/ecs-task-id
awslogs-datetime-format

Diperlukan: Tidak

Opsi ini menentukan pola permulaan multibaris dalam format strftime Phyton. Pesan log terdiri dari baris yang sesuai dengan pola dan baris berikutnya yang tidak cocok dengan pola. Dengan demikian, baris yang cocok adalah pembatas antarpesan 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.

Opsi ini selalu diutamakan jika awslogs-datetime-format dan awslogs-multiline-pattern sama-sama dikonfigurasi.

catatan

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

awslogs-multiline-pattern

Diperlukan: Tidak

Opsi ini menentukan pola permulaan multibaris dengan menggunakan ekspresi reguler. Pesan log terdiri dari baris yang sesuai dengan pola dan baris berikutnya yang tidak cocok dengan pola. Dengan demikian, baris yang cocok adalah pembatas antarpesan log.

Untuk informasi selengkapnya, lihat awslogs-multiline-patterndi dokumentasi Docker.

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

catatan

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

awslogs-create-group

Diperlukan: Tidak

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

Awas

Opsi ini tidak disarankan. Kami menyarankan Anda membuat grup log terlebih dahulu menggunakan tindakan CloudWatch Logs CreateLogGroupAPI karena setiap pekerjaan mencoba membuat grup log, meningkatkan kemungkinan pekerjaan gagal.

catatan

Kebijakan IAM untuk peran eksekusi Anda harus menyertakan izin logs:CreateLogGroup sebelum Anda mencoba untuk menggunakan awslogs-create-group.

Menentukan konfigurasi log dalam ketentuan tugas Anda

Secara default, AWS Batch mengaktifkan driver log awslogs. Bagian ini menjelaskan cara menyesuaikan konfigurasi log awslogs untuk suatu tugas. Untuk informasi selengkapnya, lihat Membuat definisi pekerjaan simpul tunggal .

Cuplikan JSON konfigurasi log berikut memiliki objek logConfiguration yang ditentukan untuk setiap tugas. Salah satunya adalah untuk WordPress pekerjaan yang mengirim log ke grup log yang dipanggilawslogs-wordpress, dan yang lainnya adalah untuk wadah MySQL yang mengirim log ke grup log yang dipanggil. awslogs-mysql Kedua kontainer menggunakan prefiks pengaliran log awslogs-example.

"logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "awslogs-wordpress", "awslogs-stream-prefix": "awslogs-example" } }
"logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "awslogs-mysql", "awslogs-stream-prefix": "awslogs-example" } }

Di konsol AWS Batch, konfigurasi log untuk ketentuan tugas wordpress ditentukan seperti yang ditunjukkan dalam gambar berikut.

Konfigurasi log konsol

Setelah Anda mendaftarkan definisi tugas dengan driver awslogs log dalam konfigurasi log definisi pekerjaan, Anda dapat mengirimkan pekerjaan dengan definisi pekerjaan tersebut untuk mulai mengirim CloudWatch log ke Log. Untuk informasi selengkapnya, lihat Mengirimkan pekerjaan.