Membuat pemberitahuan metrik

Anda dapat membuat pemberitahuan Monitoring yang memberi tahu Anda saat metrik cluster atau tugas Managed Service untuk Apache Spark melebihi batas yang ditentukan.

Membuat pemberitahuan

  1. Buka halaman Alerting di konsol. Google Cloud

  2. Klik + Create Policy untuk membuka halaman Create alerting policy.

    1. Klik Select Metric.
    2. Di kotak input "Filter by resource or metric name", ketik "dataproc" untuk mencantumkan metrik Managed Service untuk Apache Spark. Buka hierarki metrik Cloud Managed Service for Apache Spark untuk memilih metrik cluster, tugas, batch, atau sesi.
    3. Klik Apply.
    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.

Pemberitahuan contoh

Bagian ini menjelaskan contoh pemberitahuan untuk tugas yang dikirimkan ke layanan Managed Service untuk Apache Spark dan pemberitahuan untuk tugas yang dijalankan sebagai aplikasi YARN.

Pemberitahuan tugas Managed Service untuk Apache Spark yang berjalan lama

Managed Service untuk Apache Spark memancarkan metrik dataproc.googleapis.com/job/state, yang melacak durasi tugas berada dalam berbagai status. Metrik ini dapat ditemukan di Google Cloud Metrics Explorer konsol di bagian resource Cloud Managed Service for Apache Spark Job (cloud_dataproc_job). Anda dapat menggunakan metrik ini untuk menyiapkan pemberitahuan yang memberi tahu Anda saat status RUNNING tugas melebihi batas durasi (Batas nilai minimum maksimum : 7 hari). Untuk menyiapkan pemberitahuan untuk tugas yang diperkirakan berjalan lebih dari 7 hari, lihat Pemberitahuan aplikasi YARN yang berjalan lama.

Penyiapan pemberitahuan durasi tugas

Contoh ini menggunakan Bahasa Kueri Prometheus (PromQL) untuk membuat kebijakan pemberitahuan. Untuk mengetahui informasi selengkapnya, lihat Membuat kebijakan pemberitahuan berbasis PromQL (Konsol).

sum by (job_id, state) ({
  "__name__"="dataproc.googleapis.com/job/state",
  "monitored_resource"="cloud_dataproc_job",
  "state"="RUNNING"
}) != 0

Untuk memicu pemberitahuan ini agar aktif saat tugas telah berjalan selama lebih dari 30 menit, di tab Configure trigger, tetapkan Evaluation Interval ke 30 menit.

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

sum by (job_id) ({
  "__name__"="dataproc.googleapis.com/job/state",
  "monitored_resource"="cloud_dataproc_job",
  "state"="RUNNING",
  "job_id"="1234567890"
}) != 0

Pemberitahuan aplikasi YARN yang berjalan lama

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

Pertama, beberapa latar belakang. YARN memancarkan metrik waktu berjalan ke beberapa bucket. Secara default, YARN mempertahankan 60, 300, dan 1440 menit sebagai batas bucket dan memancarkan 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 1440 menit.

  • running_1440 mencatat jumlah tugas dengan runtime lebih dari 1440 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 yarn:yarn.resourcemanager.metrics.runtime.buckets properti cluster selama pembuatan cluster Managed Service untuk Apache Spark. Saat menentukan batas bucket kustom, Anda juga harus menentukan penggantian metrik. Misalnya, untuk menentukan batas bucket 30, 60, dan 90 menit, perintah gcloud dataproc clusters create harus menyertakan flag berikut:

  • batas 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 Google Cloud Metrics Explorer konsol 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 batas yang ditentukan.

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

    • Konfigurasi batas untuk memicu pemberitahuan.

Pemberitahuan tugas Managed Service untuk Apache Spark yang gagal

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

Penyiapan pemberitahuan tugas yang gagal

Contoh ini menggunakan Bahasa Kueri Prometheus (PromQL) untuk membuat kebijakan pemberitahuan. Untuk mengetahui informasi selengkapnya, lihat Membuat kebijakan pemberitahuan berbasis PromQL (Konsol).

PromQL pemberitahuan
sum by (job_id, state) ({
  "__name__"="dataproc.googleapis.com/job/state",
  "monitored_resource"="cloud_dataproc_job",
  "state"="ERROR"
}) != 0
Konfigurasi pemicu pemberitahuan

Dalam contoh berikut, pemberitahuan akan dipicu saat tugas Managed Service untuk Apache Spark gagal di project Anda.

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

sum by (job_id) ({
  "__name__"="dataproc.googleapis.com/job/state",
  "monitored_resource"="cloud_dataproc_job",
  "state"="ERROR",
  "job_id"="1234567890"
}) != 0

Pemberitahuan penyimpangan kapasitas cluster

Managed Service untuk Apache Spark memancarkan metrik dataproc.googleapis.com/cluster/capacity_deviation, yang melaporkan perbedaan antara jumlah node yang diharapkan dalam cluster dan jumlah node YARN aktif. Anda dapat menemukan metrik ini di Google Cloud console Metrics Explorer di bagian resource Cloud Managed Service untuk Apache Spark Cluster. Anda dapat menggunakan metrik ini untuk membuat pemberitahuan yang memberi tahu Anda saat kapasitas cluster menyimpang dari kapasitas yang diharapkan selama lebih dari durasi batas yang ditentukan.

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

  • Pembuatan dan update cluster: Metrik capacity_deviation tidak dipancarkan selama operasi pembuatan atau update cluster.

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

  • Update worker sekunder: Worker sekunder ditambahkan secara asinkron, setelah operasi update selesai.

Penyiapan pemberitahuan penyimpangan kapasitas

Contoh ini menggunakan Bahasa Kueri Prometheus (PromQL) untuk membuat kebijakan pemberitahuan. Untuk mengetahui informasi selengkapnya, lihat Membuat kebijakan pemberitahuan berbasis PromQL (Konsol).

{
  "__name__"="dataproc.googleapis.com/cluster/capacity_deviation",
  "monitored_resource"="cloud_dataproc_cluster"
} != 0

Dalam contoh berikutnya, pemberitahuan akan dipicu saat penyimpangan kapasitas cluster bukan nol selama lebih dari 30 menit.

Melihat pemberitahuan

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

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

Langkah berikutnya