Menggunakan Cloud Monitoring untuk pipeline Dataflow

Cloud Monitoring menyediakan logging dan diagnostik yang canggih. 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 Peringatan pemantauan untuk memberi tahu Anda tentang berbagai kondisi, seperti jeda sistem streaming yang lama atau tugas yang gagal.

Sebelum memulai

Ikuti tutorial Java, tutorial Python, atau tutorial Go untuk menyiapkan project Dataflow Anda. 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 di pipeline Apache Beam 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 update 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 GAUGE jenis metrik. Anda dapat memantau delta selama jangka 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 tunduk pada 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 dikenai biaya berdasarkan harga Cloud Monitoring.

Menggunakan Metrics Explorer

Gunakan Monitoring untuk menjelajahi 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 akan diamati untuk salah satu tugas Anda.

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

Membuat kebijakan dan dasbor pemberitahuan

Monitoring menyediakan akses ke metrik terkait Dataflow. Buat dasbor untuk memetakan deret waktu metrik, dan buat kebijakan pemberitahuan yang memberi tahu Anda saat metrik mencapai nilai yang ditentukan.

Membuat grup resource

Untuk mempermudah penetapan 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. 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 saat metrik melampaui batas yang ditentukan. Misalnya, Anda dapat menerima notifikasi saat jeda sistem pipeline streaming meningkat di atas nilai yang telah ditentukan sebelumnya.

  1. Di konsol Google Cloud , pilih Monitoring:

    Buka Monitoring

  2. Di panel navigasi, pilih Alerting.

  3. Klik Create policy.

  4. Di halaman Create new alerting policy, tentukan kondisi pemberitahuan dan saluran notifikasi.
    Misalnya, untuk menyetel pemberitahuan pada jeda sistem untuk grup pipeline WindowedWordCount Apache Beam, selesaikan langkah-langkah berikut:

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

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

Membangun dasbor pemantauan kustom

Anda dapat membuat 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 Tambahkan widget, untuk Data, pilih Metrik.

  6. Di panel Pilih metrik, untuk Metrik, masukkan Dataflow Job.

  7. Pilih kategori metrik dan metrik.

Anda dapat menambahkan diagram sebanyak yang Anda inginkan ke dasbor.

Menerima metrik VM pekerja dari agen Monitoring

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

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

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

Penyimpanan dan retensi

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

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

Untuk mengetahui detail tentang berapa lama entri log disimpan oleh Logging, lihat informasi retensi di Kuota dan batas: Periode retensi log.

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

Langkah berikutnya

Untuk mempelajari lebih lanjut, coba pelajari referensi lainnya berikut: