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, jeda sistem (untuk tugas streaming), dan penghitung pengguna dari dasbor Monitoring. Anda juga dapat menggunakan Pemberitahuan Monitoring 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 worker 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 kesederhanaan, semua metrik kustom Dataflow diekspor sebagai GAUGE jenis metrik. Anda dapat memantau delta selama jangka waktu untuk metrik GAUGE, seperti yang ditunjukkan dalam contoh Prometheus Query Language (PromQL) berikut:

    sum by (ptransform, metric_name) (
       delta({
          "__name__"="dataflow.googleapis.com/job/user_counter",
          "monitored_resource"="dataflow_job",
          "job_id"="[JobID]"
       }[${__interval}])
    )
    
  • 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 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 penggunaan 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. 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.

Untuk tugas streaming, Anda juga dapat menggunakan pemberitahuan siap pakai untuk mengaktifkan kebijakan pemberitahuan yang telah dikonfigurasi sebelumnya secara otomatis saat tugas dimulai.

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.

  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 Apache Beam WindowedWordCount, 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 Dashboards.

  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 menjalankan pipeline, aktifkan Agen Monitoring dari instance VM worker Dataflow Anda. 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 Monitoring tanpa menghentikan pipeline, 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 Logging API adalah dataflow.googleapis.com. Untuk mengetahui informasi selengkapnya tentang Google Cloud jenis resource yang dimonitor dan layanan yang digunakan di Cloud Logging, lihat Resource dan layanan yang dimonitor.

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

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

Langkah berikutnya

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