Menggunakan Cloud Monitoring untuk pipeline Dataflow

Cloud Monitoring menyediakan logging dan diagnostik yang andal. Integrasi Dataflow dengan Monitoring memungkinkan Anda mengakses metrik tugas Dataflow seperti status tugas, jumlah elemen, keterlambatan sistem (untuk tugas streaming), dan penghitung pengguna dari dasbor Monitoring. Anda juga dapat menggunakan Pemberitahuan pemantauan untuk memberi tahu Anda tentang berbagai kondisi, seperti jeda sistem streaming yang lama atau tugas yang gagal.

Sebelum memulai

Ikuti panduan memulai Java, panduan memulai Python, atau panduan memulai Go untuk menyiapkan project Dataflow. Kemudian, buat dan jalankan pipeline Anda.

Untuk melihat log di Metrics Explorer, akun layanan pekerja harus memiliki peran roles/monitoring.metricWriter.

Metrik kustom

Setiap metrik yang Anda tentukan dalam pipeline Apache Beam akan dilaporkan oleh Dataflow ke Monitoring sebagai metrik kustom. Apache Beam memiliki tiga jenis metrik pipeline: Counter, Distribution, dan Gauge.

  • Dataflow melaporkan metrik Counter dan Distribution ke Monitoring.
  • Distribution dilaporkan sebagai empat submetrik yang diberi akhiran _MAX, _MIN, _MEAN, dan _COUNT.
  • Dataflow tidak mendukung pembuatan histogram dari metrik Distribution.
  • Dataflow melaporkan pembaruan inkremental ke Monitoring kira-kira setiap 30 detik.
  • Untuk menghindari konflik, semua metrik kustom Dataflow diekspor sebagai jenis data double.
  • Untuk mempermudah, semua metrik kustom Dataflow diekspor sebagai jenis metrik GAUGE. Anda dapat memantau delta selama periode waktu untuk metrik GAUGE, seperti yang ditunjukkan dalam contoh Monitoring Query Language berikut:

     fetch dataflow_job
     | metric 'dataflow.googleapis.com/job/user_counter'
     | filter (metric.job_id == '[JobID]')
     | delta 1m
     | group_by 1m, [value_user_counter_mean: mean(value.user_counter)]
     | every 1m
     | group_by [metric.ptransform, metric.metric_name],
       [value_user_counter_mean_aggregate: aggregate(value_user_counter_mean)]
    
  • Metrik kustom Dataflow muncul di Monitoring sebagai dataflow.googleapis.com/job/user_counter dengan label metric_name: metric-name dan ptransform: ptransform-name.

  • Untuk kompatibilitas mundur, Dataflow juga melaporkan metrik kustom ke Monitoring sebagai custom.googleapis.com/dataflow/metric-name.

  • Metrik kustom Dataflow memiliki batasan kardinalitas di Monitoring.

  • Setiap project memiliki batas 100 metrik kustom Dataflow. Metrik ini dipublikasikan sebagai custom.googleapis.com/dataflow/metric-name.

Metrik kustom yang dilaporkan ke Monitoring akan dikenai biaya berdasarkan harga Cloud Monitoring.

Menggunakan Metrics Explorer

Gunakan Monitoring untuk mempelajari metrik Dataflow. Ikuti langkah-langkah di bagian ini untuk mengamati metrik standar yang disediakan untuk setiap pipeline Apache Beam Anda. Untuk informasi selengkapnya tentang cara menggunakan Metrics Explorer, lihat Membuat diagram dengan Metrics Explorer.

  1. Di konsol Google Cloud, pilih Monitoring:

    Buka Monitoring

  2. Di panel navigasi, pilih Metrics Explorer.

  3. Di panel Select a metric, masukkan Dataflow Job di filter.

  4. Dari daftar yang muncul, pilih metrik yang ingin diamati untuk salah satu tugas Anda.

Saat menjalankan tugas Dataflow, Anda mungkin juga ingin memantau metrik untuk sumber dan sink. Misalnya, Anda mungkin ingin memantau metrik BigQuery Storage API. Untuk mengetahui informasi selengkapnya, lihat Membuat dasbor, diagram, dan pemberitahuan serta daftar lengkap metrik dari BigQuery Data Transfer Service.

Membuat dasbor dan kebijakan pemberitahuan

Monitoring memberikan akses ke metrik terkait Dataflow. Buat dasbor untuk membuat diagram deret waktu metrik, dan buat kebijakan pemberitahuan yang memberi tahu Anda ketika metrik mencapai nilai yang ditentukan.

Membuat grup resource

Untuk mempermudah pengaturan pemberitahuan dan pembuatan dasbor, buat grup resource yang mencakup beberapa pipeline Apache Beam.

  1. Di konsol Google Cloud, pilih Monitoring:

    Buka Monitoring

  2. Di panel navigasi, pilih Grup.

  3. Klik Buat grup.

  4. Masukkan nama untuk grup Anda.

  5. Tambahkan kriteria filter yang menentukan resource Dataflow yang disertakan dalam grup. Misalnya, salah satu kriteria filter Anda dapat berupa awalan nama pipeline Anda. Buat grup.

  6. Setelah grup dibuat, Anda dapat melihat metrik dasar yang terkait dengan resource dalam grup tersebut.

Membuat kebijakan pemberitahuan untuk metrik Dataflow

Monitoring memungkinkan Anda membuat pemberitahuan dan menerima notifikasi ketika metrik melewati batas yang ditentukan. Misalnya, Anda dapat menerima notifikasi saat jeda sistem pada pipeline streaming meningkat melebihi nilai yang telah ditentukan.

  1. Di konsol Google Cloud, pilih Monitoring:

    Buka Monitoring

  2. Di panel navigasi, pilih Alerting.

  3. Klik Create policy.

  4. Di halaman Buat kebijakan pemberitahuan baru, tentukan kondisi pemberitahuan dan saluran notifikasi.
    Misalnya, untuk menyetel pemberitahuan tentang jeda sistem untuk grup pipeline Apache Beam WindowedWordCount, selesaikan langkah-langkah berikut:

    1. Klik Select a metric.
    2. Di kolom Select a metric, masukkan Dataflow Job.
    3. Untuk Metric Kategori, pilih Job.
    4. Untuk Metrik, pilih Jeda sistem.

    Setiap kali pemberitahuan dipicu, insiden dan peristiwa yang terkait akan dibuat. Jika Anda menentukan mekanisme notifikasi dalam pemberitahuan, seperti email atau SMS, Anda juga akan menerima notifikasi.

Buat dasbor pemantauan kustom

Anda dapat membangun dasbor Monitoring dengan diagram terkait Dataflow yang paling relevan. Untuk menambahkan diagram ke dasbor, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud, pilih Monitoring:

    Buka Monitoring

  2. Di panel navigasi, pilih Dashboard.

  3. Klik Buat Dasbor.

  4. Klik Add widget.

  5. Di jendela Add widget, untuk Data, pilih Metric.

  6. Di panel Select a metric, untuk Metric, masukkan Dataflow Job.

  7. Pilih kategori metrik dan metrik.

Anda dapat menambahkan diagram ke dasbor sebanyak yang Anda inginkan.

Menerima metrik VM pekerja dari agen Monitoring

Anda dapat menggunakan Monitoring untuk memantau metrik persistent disk, CPU, jaringan, dan proses. Saat Anda menjalankan pipeline, dari instance VM pekerja Dataflow, aktifkan Agen pemantauan. Lihat daftar metrik agen Monitoring yang tersedia.

Untuk mengaktifkan agen Monitoring, gunakan opsi --experiments=enable_stackdriver_agent_metrics saat menjalankan pipeline Anda. Akun layanan pekerja harus memiliki peran roles/monitoring.metricWriter.

Untuk menonaktifkan agen Monitoring tanpa menghentikan pipeline Anda, perbarui pipeline dengan meluncurkan tugas pengganti tanpa parameter --experiments=enable_stackdriver_agent_metrics.

Penyimpanan dan retensi

Informasi tentang tugas Dataflow yang selesai atau dibatalkan disimpan selama 30 hari.

Log operasional disimpan di bucket log _Default. Nama layanan API logging adalah dataflow.googleapis.com. Untuk mengetahui informasi lebih lanjut tentang layanan dan jenis resource yang dimonitor Google Cloud yang digunakan dalam Cloud Logging, lihat Resource dan layanan yang dimonitor.

Untuk mengetahui detail tentang durasi entri log dipertahankan oleh Logging, baca informasi retensi di bagian Kuota dan batas: Periode retensi log.

Untuk mengetahui informasi tentang cara melihat log operasional, lihat Memantau dan melihat log pipeline.

Langkah selanjutnya

Untuk mempelajari lebih lanjut, pertimbangkan untuk mempelajari referensi lainnya berikut: