Mengontrol penyerapan log Dataflow

Filter pengecualian dapat Anda gunakan untuk mengontrol volume log Dataflow yang diserap oleh Cloud Logging sambil tetap menyediakan logging panjang untuk proses debug. Anda dapat menggunakan filter pengecualian untuk mengecualikan entri log yang cocok agar tidak diserap oleh Cloud Logging atau diarahkan ke tujuan sink. Buat filter pengecualian menggunakan Bahasa kueri logging. Dengan bahasa kueri logging, Anda dapat menentukan subset semua entri log dalam resource Google Cloud yang dipilih, seperti project atau folder.

Dengan menggunakan filter pengecualian, Anda dapat mengurangi biaya Cloud Logging yang dikenakan oleh penyerapan log Dataflow. Untuk mengetahui informasi selengkapnya tentang harga penyerapan log untuk Cloud Logging, lihat ringkasan harga Cloud Logging. Untuk mengetahui detail selengkapnya tentang cara kerja filter pengecualian dan batasannya, lihat Filter pengecualian di dokumentasi Cloud Logging.

Tugas Dataflow menghasilkan beberapa jenis log. Halaman ini menunjukkan cara memfilter log tugas Dataflow dan log pekerja.

Membuat filter pengecualian log

Contoh ini membuat filter pengecualian di sink Cloud Logging _Default. Filter mengecualikan semua log Dataflow tingkat keparahan DEFAULT, DEBUG, INFO, dan NOTICE agar tidak diserap ke Cloud Logging. Log tingkat keparahan WARNING, ERROR, CRITICAL, ALERT, dan EMERGENCY masih direkam. Untuk mengetahui informasi selengkapnya tentang level log yang didukung, lihat LogSeverity.

Sebelum memulai

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  5. Make sure that billing is enabled for your Google Cloud project.

Izin

Saat Anda memulai, pastikan hal berikut:

  • Anda memiliki project Google Cloud dengan log yang dapat dilihat di Logs Explorer.

  • Anda memiliki salah satu peran IAM berikut untuk project Google Cloud sumber tempat Anda merutekan log.

    • Pemilik (roles/owner)
    • Admin Logging (roles/logging.admin)
    • Penulis Konfigurasi Log (roles/logging.configWriter)

    Izin yang terdapat dalam peran ini memungkinkan Anda membuat, menghapus, atau mengubah sink. Untuk mengetahui informasi tentang cara menetapkan peran IAM, lihat Panduan kontrol akses Logging.

  • Anda memiliki resource di tujuan yang didukung atau dapat membuatnya.

    Anda perlu membuat tujuan pemilihan rute sebelum sink, melalui Google Cloud CLI, Google Cloud Console, atau Google Cloud API. Anda dapat membuat tujuan di project Google Cloud mana pun di organisasi apa pun. Sebelum Anda membuat tujuan, pastikan akun layanan dari sink memiliki izin untuk menulis ke tujuan.

Menambahkan filter pengecualian

Langkah-langkah berikut menunjukkan cara menambahkan filter pengecualian Cloud Logging ke log Dataflow Anda. Filter pengecualian ini memilih semua entri log Dataflow dengan tingkat keseriusan DEFAULT, DEBUG, INFO, dan NOTICE dari tugas yang memiliki nama tugas Dataflow yang tidak diakhiri dengan string debug. Filter mengecualikan log ini dari penyerapan ke bucket Cloud Logging Default.

  1. Di Konsol Google Cloud, buka halaman Logs Router:

    Buka Router Log

  2. Temukan baris dengan sink _Default, luaskan opsi Tindakan , lalu klik Edit sink.

  3. Di bagian Choose logs to filter out of sink, untuk Build an exception filter, klik Add exception.

  4. Masukkan nama untuk filter pengecualian Anda.

  5. Di bagian Build an exception filter, tempel teks berikut ke dalam kotak:

    resource.type="dataflow_step" AND
    labels."dataflow.googleapis.com/job_name"!~".*debug" AND
    severity=(DEFAULT OR DEBUG OR INFO OR NOTICE)
    
    • Baris pertama memilih semua entri log yang dihasilkan oleh layanan Dataflow.
    • Baris kedua memilih semua entri log yang kolom job_name-nya tidak diakhiri dengan string debug.
    • Baris ketiga memilih semua entri log dengan tingkat keseriusan DEFAULT, DEBUG, INFO, atau NOTICE.
  6. Klik Perbarui sink.

Menguji filter pengecualian

Anda dapat memverifikasi bahwa filter berfungsi dengan benar dengan menjalankan contoh tugas Dataflow, lalu melihat log.

Setelah tugas mulai berjalan, untuk melihat log tugas, selesaikan langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman Tugas Dataflow.

    Buka Tugas

    Daftar tugas Dataflow akan muncul beserta statusnya.

  2. Pilih tugas.

  3. Di halaman Job details, pada panel Logs, klik Show.

  4. Pastikan tidak ada log yang muncul di panel Job logs dan tidak ada log DEFAULT, DEBUG, INFO, atau NOTICE yang muncul di panel Worker logs.

Abaikan filter pengecualian

Nama tugas Dataflow (job_name) digunakan untuk menyediakan mekanisme pengabaian skenario tempat log Dataflow yang dihasilkan perlu direkam. Anda dapat menggunakan pengabaian ini untuk menjalankan kembali tugas yang gagal dan mencatat semua informasi log.

Filter yang dibuat dalam skenario ini menyimpan semua entri log saat kolom job_name diakhiri dengan string debug. Jika Anda ingin mengabaikan filter pengecualian dan menampilkan semua log untuk tugas Dataflow, tambahkan debug ke nama tugas. Misalnya, untuk mengabaikan filter pengecualian, Anda dapat menggunakan nama tugas dataflow-job-debug.

Membandingkan jumlah log

Jika Anda ingin membandingkan volume log yang diserap dengan dan tanpa filter pengecualian, jalankan satu tugas dengan menambahkan debug ke nama tugas dan satu tugas tanpa filter. Gunakan metrik berbasis log yang ditetapkan sistem Byte log untuk melihat dan membandingkan data penyerapan. Untuk informasi selengkapnya tentang cara melihat data penyerapan, lihat Melihat data penyerapan di Metrics Explorer.

Membuat tujuan eksternal

Secara opsional, setelah membuat filter pengecualian, Anda dapat membuat sink Cloud Logging tambahan. Gunakan sink ini untuk mengalihkan kumpulan lengkap log Dataflow ke tujuan eksternal yang didukung, seperti BigQuery, Pub/Sub, atau Splunk.

Dalam skenario ini, log eksternal tidak disimpan di Logs Explorer, tetapi tersedia di tujuan eksternal. Dengan menggunakan tujuan eksternal, Anda dapat lebih leluasa mengontrol biaya yang timbul karena menyimpan log di Logs Explorer.

Untuk mengetahui langkah-langkah yang menjelaskan cara mengontrol cara Cloud Logging merutekan log, lihat Mengonfigurasi dan mengelola sink. Untuk mengambil semua log Dataflow di tujuan eksternal, di panel Choose logs to include in sink, di kolom Build inclusion filter, masukkan ekspresi filter berikut:

resource.type="dataflow_step"

Untuk menemukan entri log yang dirutekan dari Cloud Logging ke tujuan yang didukung, baca artikel Melihat log di tujuan sink.

Melacak pesan log Dataflow menurut tingkat keparahan

Filter pengecualian tidak berlaku untuk metrik berbasis log yang ditentukan pengguna. Metrik ini menghitung jumlah entri log yang cocok dengan filter tertentu atau mencatat nilai tertentu dalam entri log yang cocok. Untuk melacak jumlah pesan log Dataflow berdasarkan tingkat keparahan, Anda dapat membuat metrik berbasis log untuk log Dataflow. Log akan dilacak meskipun pesan log dikecualikan dari penyerapan.

Anda akan ditagih untuk metrik berbasis log yang ditentukan pengguna. Untuk mengetahui informasi harga, lihat Metrik yang dapat ditagih.

Untuk mengonfigurasi metrik berbasis log yang ditentukan pengguna, lihat Membuat metrik penghitung. Untuk melacak log Dataflow, di bagian Filter selection, di kotak Build filter, masukkan teks berikut:

resource.type="dataflow_step"