Membuat pemberitahuan metrik Dataproc

Anda dapat membuat pemberitahuan Monitoring yang memberi tahu Anda saat metrik tugas atau cluster Dataproc melebihi batas yang ditentukan.

Langkah-langkah untuk membuat pemberitahuan

Untuk membuat pemberitahuan:

  1. Buka halaman Pemberitahuan di Konsol Google Cloud.

  2. Klik + Buat Kebijakan untuk membuka halaman Buat kebijakan pemberitahuan.

    1. Klik Select Metric.
    2. Di kotak input "Filter menurut nama resource atau metrik", ketikkan "dataproc" untuk mencantumkan metrik Dataproc. Jelajahi hierarki metrik Cloud Dataproc untuk memilih metrik cluster, tugas, batch, atau sesi.
    3. Klik Terapkan.
    4. Klik Next untuk membuka panel Configure alert trigger.
    5. Tetapkan nilai minimum untuk memicu pemberitahuan.
    6. Klik Next untuk membuka panel Configure notifications and finalize alert.
    7. Tetapkan saluran notifikasi, dokumentasi, dan nama kebijakan pemberitahuan.
    8. Klik Next untuk meninjau kebijakan pemberitahuan.
    9. Klik Create Policy untuk membuat pemberitahuan.

Contoh pemberitahuan

Bagian ini menjelaskan contoh pemberitahuan untuk tugas yang dikirim ke layanan Dataproc dan pemberitahuan untuk tugas yang dijalankan sebagai aplikasi YARN.

Notifikasi tugas Dataproc yang berjalan lama

Dataproc memunculkan metrik dataproc.googleapis.com/job/state, yang melacak berapa lama tugas berada dalam status yang berbeda. Metrik ini ditemukan di Metrics Explorer Konsol Google Cloud pada resource Cloud Dataproc Job (cloud_dataproc_job). Anda dapat menggunakan metrik ini untuk menyiapkan pemberitahuan yang memberi tahu Anda saat status RUNNING tugas melebihi batas durasi.

Penyiapan pemberitahuan durasi tugas

Contoh ini menggunakan Monitoring Query Language (MQL) untuk membuat kebijakan pemberitahuan (lihat Membuat kebijakan pemberitahuan MQL (konsol)).

fetch cloud_dataproc_job
| metric 'dataproc.googleapis.com/job/state'
| filter metric.state == 'RUNNING'
| group_by [resource.job_id, metric.state], 1m
| condition val() == true()

Dalam contoh berikut, pemberitahuan dipicu saat tugas telah berjalan selama lebih dari 30 menit.

Anda dapat mengubah kueri dengan memfilter resource.job_id untuk menerapkannya ke tugas tertentu:

fetch cloud_dataproc_job
| metric 'dataproc.googleapis.com/job/state'
| filter (resource.job_id == '1234567890') && (metric.state == 'RUNNING')
| group_by [resource.job_id, metric.state], 1m
| condition val() == true()

Notifikasi aplikasi YARN yang berjalan lama

Contoh sebelumnya menunjukkan pemberitahuan yang dipicu saat tugas Dataproc berjalan lebih lama dari durasi yang ditentukan, tetapi hanya berlaku untuk tugas yang dikirim ke layanan Dataproc melalui konsol Google Cloud, Google Cloud CLI, atau dengan panggilan langsung ke jobs API Dataproc. Anda juga dapat menggunakan metrik OSS untuk menyiapkan pemberitahuan serupa yang memantau waktu berjalan aplikasi YARN.

Pertama, beberapa latar belakang. YARN memunculkan metrik waktu berjalan ke dalam beberapa bucket. Secara default, YARN mempertahankan 60, 300, dan 1440 menit sebagai nilai minimum bucket dan memunculkan 4 metrik, running_0, running_60, running_300, dan running_1440:

  • running_0 mencatat jumlah tugas dengan runtime antara 0 dan 60 menit.

  • running_60 mencatat jumlah tugas dengan runtime antara 60 dan 300 menit.

  • running_300 mencatat jumlah tugas dengan runtime antara 300 dan 1.440 menit.

  • running_1440 mencatat jumlah tugas dengan runtime lebih dari 1.440 menit.

Misalnya, tugas yang berjalan selama 72 menit akan dicatat di running_60, tetapi tidak di running_0.

Batas bucket default ini dapat diubah dengan meneruskan nilai baru ke properti cluster yarn:yarn.resourcemanager.metrics.runtime.buckets selama pembuatan cluster Dataproc. Saat menentukan nilai minimum bucket kustom, Anda juga harus menentukan penggantian metrik. Misalnya, untuk menentukan nilai minimum bucket selama 30, 60, dan 90 menit, perintah gcloud dataproc clusters create harus menyertakan flag berikut:

  • nilai minimum bucket: ‑‑properties=yarn:yarn.resourcemanager.metrics.runtime.buckets=30,60,90

  • penggantian metrik: ‑‑metric-overrides=yarn:ResourceManager:QueueMetrics:running_0, yarn:ResourceManager:QueueMetrics:running_30,yarn:ResourceManager:QueueMetrics:running_60, yarn:ResourceManager:QueueMetrics:running_90

Contoh perintah pembuatan cluster

gcloud dataproc clusters create test-cluster  \
   --properties ^#^yarn:yarn.resourcemanager.metrics.runtime.buckets=30,60,90  \
   --metric-sources=yarn  \
   --metric-overrides=yarn:ResourceManager:QueueMetrics:running_0,yarn:ResourceManager:QueueMetrics:running_30,yarn:ResourceManager:QueueMetrics:running_60,yarn:ResourceManager:QueueMetrics:running_90

Metrik ini tercantum di Metrics Explorer konsol Google Cloud di bagian resource VM Instance (gce_instance).

Penyiapan pemberitahuan aplikasi YARN

  1. Buat cluster dengan bucket dan metrik yang diperlukan diaktifkan .

  2. Buat kebijakan pemberitahuan yang dipicu saat jumlah aplikasi dalam bucket metrik YARN melebihi nilai minimum yang ditentukan.

    • Secara opsional, tambahkan filter untuk memberikan pemberitahuan tentang cluster yang cocok dengan pola.

    • Konfigurasi nilai minimum untuk memicu pemberitahuan.

Notifikasi tugas Dataproc gagal

Anda juga dapat menggunakan metrik dataproc.googleapis.com/job/state (lihat Pemberitahuan tugas Dataproc yang berjalan lama), untuk memberi tahu Anda saat tugas Dataproc gagal.

Penyiapan info lowongan terbaru gagal

Contoh ini menggunakan Monitoring Query Language (MQL) untuk membuat kebijakan pemberitahuan (lihat Membuat kebijakan pemberitahuan MQL (konsol)).

MQL Pemberitahuan
fetch cloud_dataproc_job
| metric 'dataproc.googleapis.com/job/state'
| filter metric.state == 'ERROR'
| group_by [resource.job_id, metric.state], 1m
| condition val() == true()
Konfigurasi pemicu pemberitahuan

Pada contoh berikut, pemberitahuan dipicu saat tugas Dataproc gagal di project Anda.

Anda dapat mengubah kueri dengan memfilter resource.job_id untuk menerapkannya ke tugas tertentu:

fetch cloud_dataproc_job
| metric 'dataproc.googleapis.com/job/state'
| filter (resource.job_id == '1234567890') && (metric.state == 'ERROR')
| group_by [resource.job_id, metric.state], 1m
| condition val() == true()

Notifikasi deviasi kapasitas cluster

Dataproc memunculkan metrik dataproc.googleapis.com/cluster/capacity_deviation, yang melaporkan perbedaan antara jumlah node yang diharapkan dalam cluster dan jumlah node YARN yang aktif. Anda dapat menemukan metrik ini di Metrics Explorer konsol Google Cloud pada resource Cloud Dataproc Cluster. Anda dapat menggunakan metrik ini untuk membuat pemberitahuan yang memberi tahu Anda saat kapasitas cluster menyimpang dari kapasitas yang diharapkan selama lebih lama dari durasi ambang batas yang ditentukan.

Operasi berikut dapat menyebabkan pelaporan node cluster yang kurang sementara dalam metrik capacity_deviation. Untuk menghindari pemberitahuan positif palsu, tetapkan nilai minimum pemberitahuan metrik untuk memperhitungkan operasi berikut:

  • Pembuatan dan pembaruan cluster: Metrik capacity_deviation tidak dimunculkan selama operasi pembuatan atau pembaruan cluster.

  • Tindakan inisialisasi cluster: Tindakan inisialisasi dilakukan setelah node disediakan.

  • Pembaruan pekerja sekunder: Pekerja sekunder ditambahkan secara asinkron, setelah operasi update selesai.

Penyiapan pemberitahuan deviasi kapasitas

Contoh ini menggunakan Monitoring Query Language (MQL) untuk membuat kebijakan pemberitahuan.

fetch cloud_dataproc_cluster
| metric 'dataproc.googleapis.com/cluster/capacity_deviation'
| every 1m
| condition val() <> 0 '1'

Pada contoh berikutnya, pemberitahuan dipicu saat deviasi kapasitas cluster bukan nol selama lebih dari 30 menit.

Lihat pemberitahuan

Saat pemberitahuan dipicu oleh kondisi nilai minimum metrik, Monitoring akan membuat insiden dan peristiwa yang sesuai. Anda dapat melihat insiden dari halaman Monitoring Alerting di konsol Google Cloud.

Jika Anda menentukan mekanisme notifikasi dalam kebijakan pemberitahuan, seperti notifikasi email atau SMS, Monitoring akan mengirimkan notifikasi insiden.

Langkah berikutnya