Anda dapat membuat pemberitahuan Monitoring yang akan memberi tahu Anda saat cluster Dataproc atau metrik tugas melebihi batas yang ditentukan.
Langkah-langkah membuat pemberitahuan
Untuk membuat sebuah pemberitahuan:
Buka halaman Alerting di Konsol Google Cloud.
Klik + Create Policy untuk membuka halaman Create alerts policy.
- Klik Select Metric.
- Di kotak input "Filter menurut resource atau nama metrik", ketik "dataproc" untuk mencantumkan metrik Dataproc. Jelajahi hierarki metrik Cloud Dataproc untuk memilih metrik cluster, tugas, batch, atau sesi.
- Klik Apply.
- Klik Next untuk membuka panel Configure alert trigger.
- Tetapkan nilai minimum untuk memicu pemberitahuan.
- Klik Next untuk membuka panel Configure notifications and finalize alert.
- Menetapkan saluran notifikasi, dokumentasi, dan nama kebijakan pemberitahuan.
- Klik Berikutnya untuk meninjau kebijakan pemberitahuan.
- 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 telah berada dalam berbagai status. Metrik ini ditemukan pada Metrics Explorer di bagian resource Cloud Dataproc Job (cloud_dataproc_job).
Anda dapat menggunakan metrik ini untuk menyiapkan pemberitahuan yang akan memberi tahu Anda saat status RUNNING
tugas melebihi batas durasi.
Penyiapan notifikasi durasi tugas
Contoh ini menggunakan Bahasa Kueri Monitoring (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()
Pemberitahuan aplikasi YARN yang berjalan lama
Contoh sebelumnya menampilkan pemberitahuan yang dipicu ketika tugas Dataproc berjalan lebih lama dari durasi yang ditentukan, tetapi hanya berlaku untuk tugas yang dikirim ke layanan Dataproc melalui Google Cloud Console, Google Cloud CLI, atau dengan panggilan langsung ke Dataproc jobs
API. Anda juga dapat menggunakan metrik OSS untuk menyiapkan pemberitahuan serupa yang memantau waktu berjalannya aplikasi YARN.
Pertama, tentang latar belakang. YARN memancarkan 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 hingga 1440 menit.running_1440
mencatat jumlah tugas dengan runtime lebih dari 1440 menit.
Misalnya, tugas yang berjalan selama 72 menit akan dicatat dalam running_60
, tetapi tidak dalam running_0
.
Nilai minimum 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 batas bucket 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
metrics overrides:
‑‑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 dalam Metrics Explorer di Konsol Google Cloud di bagian resource VM Instance (gce_instance).
Penyiapan pemberitahuan aplikasi YARN
Buat cluster dengan bucket dan metrik yang diperlukan telah diaktifkan .
Buat kebijakan pemberitahuan yang akan dipicu saat jumlah aplikasi dalam bucket metrik YARN melebihi batas yang ditentukan.
Secara opsional, tambahkan filter untuk mengirim pemberitahuan pada cluster yang cocok dengan suatu pola.
Konfigurasikan nilai minimum untuk memicu pemberitahuan.
Notifikasi tugas Dataproc gagal
Anda juga dapat menggunakan metrik dataproc.googleapis.com/job/state
(lihat Notifikasi tugas Dataproc yang Berjalan Lama), untuk memberi tahu Anda saat tugas Dataproc gagal.
Penyiapan notifikasi lowongan gagal
Contoh ini menggunakan Bahasa Kueri Monitoring (MQL) untuk membuat kebijakan pemberitahuan (lihat Membuat kebijakan pemberitahuan MQL (konsol)).
Notifikasi MQL
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 notifikasi
Dalam contoh berikut, pemberitahuan dipicu saat ada tugas Dataproc dalam project Anda yang mengalami kegagalan.
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()
Peringatan penyimpangan kapasitas cluster
Dataproc memunculkan metrik dataproc.googleapis.com/cluster/capacity_deviation
, yang melaporkan perbedaan antara jumlah node yang diharapkan di cluster dan jumlah node YARN yang aktif. Anda dapat menemukan metrik ini di Metrics Explorer di Konsol Google Cloud di bagian resource Cluster Cloud Dataproc. 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 bersifat sementara dalam metrik capacity_deviation
. Untuk menghindari pemberitahuan positif palsu, tetapkan nilai minimum pemberitahuan metrik untuk memperhitungkan operasi berikut:
Pembuatan dan update cluster: Metrik
capacity_deviation
tidak akan ditampilkan selama operasi pembuatan atau update cluster.Tindakan inisialisasi cluster: Tindakan inisialisasi dilakukan setelah node disediakan.
Update 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 batas 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 SMS atau email, Monitoring akan mengirimkan notifikasi insiden.
Langkah berikutnya
- Lihat Pengantar pemberitahuan.