Logging untuk AWS Glue pekerjaan - AWS Glue

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

Logging untuk AWS Glue pekerjaan

Di AWS Glue 5.0, semua pekerjaan memiliki kemampuan pencatatan waktu nyata. Selain itu, Anda dapat menentukan opsi konfigurasi khusus untuk menyesuaikan perilaku logging. Opsi ini termasuk pengaturan nama grup Amazon CloudWatch log, awalan aliran Amazon CloudWatch log (yang akan mendahului ID dan driver/executor ID menjalankan AWS Glue pekerjaan), dan pola konversi log untuk pesan log. Konfigurasi ini memungkinkan Anda untuk menggabungkan log dalam grup Amazon CloudWatch log kustom dengan kebijakan kedaluwarsa yang berbeda. Selanjutnya, Anda dapat menganalisis log secara lebih efektif dengan menggunakan awalan aliran log kustom dan pola konversi. Tingkat penyesuaian ini memungkinkan Anda untuk mengoptimalkan manajemen dan analisis log sesuai dengan kebutuhan spesifik Anda.

Perilaku logging di AWS Glue 5.0

Secara default, log sistem, log daemon Spark, dan log AWS Glue Logger pengguna ditulis ke grup log di/aws-glue/jobs/error. Amazon CloudWatch Di sisi lain, log stdout pengguna (output standar) dan stderr (kesalahan standar) ditulis ke grup /aws-glue/jobs/output log secara default.

Pencatatan kustom

Anda dapat menyesuaikan grup log default dan awalan aliran log menggunakan argumen pekerjaan berikut:

  • --custom-logGroup-prefix: Memungkinkan Anda menentukan awalan khusus untuk grup /aws-glue/jobs/error dan /aws-glue/jobs/output log. Jika Anda memberikan awalan kustom, nama grup log akan dalam format berikut:

    • /aws-glue/jobs/error adalah <customer prefix>/error

    • /aws-glue/jobs/output adalah <customer prefix>/output

  • --custom-logStream-prefix: Memungkinkan Anda menentukan awalan khusus untuk nama aliran log dalam grup log. Jika Anda memberikan awalan khusus, nama aliran log akan dalam format berikut:

    • jobrunid-driver adalah <customer log stream>-driver

    • jobrunid-executorNum adalah <customer log stream>-executorNum

Aturan validasi dan batasan untuk awalan kustom:

  • Seluruh nama aliran log harus antara 1 dan 512 karakter.

  • Awalan kustom itu sendiri dibatasi hingga 400 karakter.

  • Awalan kustom harus cocok dengan pola ekspresi reguler `[^: *] *` (karakter khusus yang diizinkan adalah '_', '-', dan '/').

Mencatat pesan khusus aplikasi menggunakan pencatat skrip kustom

Anda dapat menggunakan AWS Glue logger untuk mencatat pesan khusus aplikasi apa pun dalam skrip yang dikirim secara real time ke aliran log driver.

Contoh berikut menunjukkan skrip Python.

from awsglue.context import GlueContext from pyspark.context import SparkContext sc = SparkContext() glueContext = GlueContext(sc) logger = glueContext.get_logger() logger.info("info message") logger.warn("warn message") logger.error("error message")

Contoh berikut menunjukkan skrip Scala.

import com.amazonaws.services.glue.log.GlueLogger object GlueApp { def main(sysArgs: Array[String]) { val logger = new GlueLogger logger.info("info message") logger.warn("warn message") logger.error("error message") } }

Mengaktifkan bilah kemajuan untuk menunjukkan kemajuan pekerjaan

AWS Glue menyediakan bilah kemajuan waktu nyata di bawah aliran JOB_RUN_ID-progress-bar log untuk memeriksa status menjalankan AWS Glue pekerjaan. Saat ini hanya mendukung tugas yang menginisialisasi glueContext. Jika Anda menjalankan pekerjaan Spark murni tanpa menginisialisasiglueContext, bilah AWS Glue kemajuan tidak muncul.

Bilah kemajuan tersebut menunjukkan pembaruan kemajuan berikut setiap 5 detik.

Stage Number (Stage Name): > (numCompletedTasks + numActiveTasks) / totalNumOfTasksInThisStage]

Konfigurasi keamanan dengan Amazon CloudWatch logging

Saat konfigurasi keamanan diaktifkan untuk Amazon CloudWatch log, AWS Glue buat grup log dengan pola penamaan tertentu yang menggabungkan nama konfigurasi keamanan.

Penamaan grup log dengan konfigurasi keamanan

Grup log default dan kustom adalah sebagai berikut:

  • Grup log kesalahan default: /aws-glue/jobs/Security-Configuration-Name-role/glue-job-role/error

  • Grup log keluaran default: /aws-glue/jobs/Security-Configuration-Name-role/glue-job-role/output

  • Grup log kesalahan kustom (AWS Glue 5.0): custom-log-group-prefix/Security-Configuration-Name-role/glue-job-role/error

  • Grup log keluaran kustom (AWS Glue 5.0): custom-log-group-prefix/Security-Configuration-Name-role/glue-job-role/output

Izin IAM yang Diperlukan

Anda perlu menambahkan logs:AssociateKmsKey izin ke izin peran IAM Anda, jika Anda mengaktifkan konfigurasi keamanan dengan Amazon CloudWatch Log. Jika izin tersebut tidak disertakan, maka pencatatan log berkelanjutan akan dinonaktifkan.

Selain itu, untuk mengonfigurasi enkripsi untuk Amazon CloudWatch Log, ikuti petunjuk di Enkripsi Data Log di Amazon CloudWatch Log Menggunakan AWS Key Management Service di Panduan Pengguna Amazon Amazon CloudWatch Logs.

Informasi tambahan

Untuk informasi selengkapnya tentang membuat konfigurasi keamanan, lihat Mengelola konfigurasi keamanan di konsol. AWS Glue