Filter pengecualian memungkinkan Anda mengontrol volume log Dataflow yang diserap oleh Cloud Logging sekaligus 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 dirutekan ke tujuan sink. Buat filter pengecualian menggunakan bahasa kueri Logging. Bahasa kueri logging memungkinkan Anda menentukan subset dari semua entri log di resource Google Cloud yang dipilih, seperti project atau folder.
Dengan menggunakan filter pengecualian, Anda dapat mengurangi biaya Cloud Logging yang dikeluarkan 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 keterbatasannya, lihat Filter pengecualian dalam 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 ini mengecualikan semua log Dataflow dengan tingkat keparahan DEFAULT
, DEBUG
, INFO
, dan NOTICE
agar tidak ditransfer ke Cloud Logging. Log tingkat keparahan WARNING
,
ERROR
, CRITICAL
, ALERT
, dan EMERGENCY
masih direkam. Untuk informasi selengkapnya tentang
level log yang didukung, lihat
LogSeverity.
Sebelum memulai
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
Izin
Saat memulai, pastikan hal-hal berikut:
Anda memiliki project Google Cloud dengan log yang dapat Anda lihat di Logs Explorer.
Anda memiliki salah satu peran IAM berikut untuk project Google Cloud sumber yang digunakan untuk merutekan log.
- Pemilik (
roles/owner
) - Logging Admin (
roles/logging.admin
) - Logs Configuration Writer (
roles/logging.configWriter
)
Izin yang terdapat dalam peran ini memungkinkan Anda membuat, menghapus, atau mengubah sink. Untuk informasi tentang cara menetapkan peran IAM, lihat Panduan kontrol akses Logging.
- Pemilik (
Anda memiliki resource di tujuan yang didukung atau dapat membuatnya.
Anda perlu membuat tujuan pemilihan rute sebelum sink, melalui Google Cloud CLI, konsol Google Cloud, atau Google Cloud API. Anda dapat membuat tujuan di project Google Cloud mana pun di organisasi mana pun. Sebelum 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 keparahan DEFAULT
, DEBUG
, INFO
, dan NOTICE
dari tugas yang memiliki nama tugas Dataflow yang tidak diakhiri dengan string debug
. Filter ini
mengecualikan log tersebut dari penyerapan ke bucket Cloud Logging Default
.
Di konsol Google Cloud, buka halaman Logs Router:
Temukan baris dengan sink
_Default
, luaskan opsi Actions, lalu klik Edit sink.Di Choose logs to filter out of sink, untuk Build an exclusion filter, klik
Add exclusion.Masukkan nama untuk filter pengecualian Anda.
Di bagian Buat filter pengecualian, 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 dengan kolom
job_name
yang tidak berakhir dengan stringdebug
. - Baris ketiga memilih semua entri log dengan keparahan
DEFAULT
,DEBUG
,INFO
, atauNOTICE
.
Klik Update sink.
Menguji filter pengecualian
Anda dapat memverifikasi bahwa filter berfungsi dengan benar dengan menjalankan contoh tugas Dataflow, lalu melihat log.
Setelah tugas Anda mulai berjalan, untuk melihat log tugas, selesaikan langkah-langkah berikut:
Di konsol Google Cloud, buka halaman Jobs Dataflow.
Daftar tugas Dataflow akan muncul beserta statusnya.
Pilih tugas.
Di halaman Detail tugas, di panel Logs, klik segmentShow.
Pastikan tidak ada log yang muncul di panel Log tugas dan tidak ada log
DEFAULT
,DEBUG
,INFO
, atauNOTICE
yang muncul di panel Log pekerja.
Mengabaikan filter pengecualian
Nama tugas Dataflow (job_name
) digunakan untuk menyediakan mekanisme pengabaian untuk
skenario saat log Dataflow yang dihasilkan perlu diambil. Anda dapat
menggunakan pengabaian ini untuk menjalankan ulang tugas yang gagal dan mengambil semua informasi log.
Filter yang dibuat dalam skenario ini mempertahankan semua entri log saat kolom job_name
berakhir 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 debug
ditambahkan ke nama tugas dan satu lagi tanpa debug
. Gunakan metrik berbasis log yang ditentukan sistem, Byte log, untuk melihat dan membandingkan data penyerapan. Untuk informasi selengkapnya tentang cara melihat data transfer, lihat
Melihat data transfer 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. Menggunakan tujuan eksternal memberi Anda kontrol yang lebih besar atas biaya yang dikeluarkan dengan menyimpan log di Logs Explorer.
Untuk mengetahui langkah-langkah yang menjelaskan cara mengontrol cara Cloud Logging merutekan log, lihat Mengonfigurasi dan mengelola sink. Untuk merekam 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 Anda rutekan dari Cloud Logging ke tujuan yang didukung, lihat 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 dilacak meskipun pesan log dikecualikan dari penyerapan.
Anda 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"