Evaluasi aturan dan pemberitahuan dengan pengumpulan yang di-deploy sendiri

Dokumen ini menjelaskan konfigurasi untuk evaluasi aturan dan pemberitahuan pada deployment Managed Service for Prometheus yang menggunakan koleksi yang di-deploy sendiri.

Diagram berikut mengilustrasikan deployment yang menggunakan beberapa cluster dalam dua project Google Cloud dan menggunakan evaluasi aturan dan pemberitahuan:

Deployment untuk evaluasi aturan dan pemberitahuan yang menggunakan koleksi yang di-deploy sendiri.

Untuk menyiapkan dan menggunakan deployment seperti yang ditunjukkan dalam diagram, perhatikan hal-hal berikut:

  • Aturan diinstal dalam setiap server pengumpulan Managed Service for Prometheus, seperti halnya saat menggunakan Prometheus standar. Evaluasi aturan dijalankan terhadap data yang disimpan secara lokal di setiap server. Server dikonfigurasi untuk menyimpan data cukup lama untuk mencakup periode lihat balik semua aturan, yang biasanya tidak lebih dari 1 jam. Hasil aturan ditulis ke Monarch setelah evaluasi.

  • Instance Prometheus AlertManager di-deploy secara manual di setiap cluster. Server Prometheus dikonfigurasi dengan mengedit kolom alertmanager_config dari file konfigurasi untuk mengirim aturan pemberitahuan yang diaktifkan ke instance AlertManager lokalnya. Alur kerja senyap, konfirmasi, dan manajemen insiden biasanya ditangani dalam alat pihak ketiga seperti PagerDuty.

    Anda dapat memusatkan pengelolaan pemberitahuan di beberapa cluster ke dalam satu AlertManager menggunakan resource endpoint Kubernetes.

  • Satu cluster tunggal yang berjalan di dalam Google Cloud ditetapkan sebagai cluster evaluasi aturan global untuk cakupan metrik. Evaluator aturan mandiri di-deploy di cluster tersebut dan aturan diinstal menggunakan format file aturan Prometheus standar.

    Evaluator aturan mandiri dikonfigurasi untuk menggunakan scoping_project_A, yang berisi Project 1 dan 2. Aturan yang dijalankan terhadap scoping_project_A secara otomatis menyebar ke Project 1 dan 2. Akun layanan yang mendasarinya harus diberi izin Monitoring Viewer untuk scoping_project_A.

    Evaluator aturan dikonfigurasi untuk mengirim pemberitahuan ke Prometheus Alertmanager lokal menggunakan kolom alertmanager_config dari file konfigurasi.

Penggunaan evaluator aturan global yang di-deploy sendiri dapat menimbulkan efek yang tidak terduga, bergantung pada apakah Anda mempertahankan atau menggabungkan label project_id, location, cluster, dan namespace dalam aturan Anda:

  • Jika aturan Anda mempertahankan label project_id (dengan menggunakan klausa by(project_id)), hasil aturan akan ditulis kembali ke Monarch menggunakan nilai project_id asli dari deret waktu yang mendasarinya.

    Dalam skenario ini, Anda harus memastikan akun layanan dasar memiliki izin Monitoring Metric Writer untuk setiap project yang dipantau di scoping_project_A. Jika Anda menambahkan project baru yang dipantau ke scoping_project_A, Anda juga harus menambahkan izin baru ke akun layanan secara manual.

  • Jika aturan Anda tidak mempertahankan label project_id (dengan tidak menggunakan klausa by(project_id)), hasil aturan akan ditulis kembali ke Monarch menggunakan nilai project_id cluster tempat evaluator aturan global dijalankan.

    Dalam skenario ini, Anda tidak perlu melakukan perubahan lebih lanjut pada akun layanan yang mendasarinya.

  • Jika aturan Anda mempertahankan label location (dengan menggunakan klausa by(location)), hasil aturan akan ditulis kembali ke Monarch menggunakan setiap region Google Cloud asli tempat deret waktu yang mendasarinya berasal.

    Jika aturan Anda tidak mempertahankan label location, data akan ditulis kembali ke lokasi cluster tempat evaluator aturan global dijalankan.

Sebaiknya pertahankan label cluster dan namespace dalam hasil evaluasi aturan jika memungkinkan. Jika tidak, performa kueri mungkin akan menurun dan Anda mungkin akan mencapai batas kardinalitas. Menghapus kedua label sangat tidak disarankan.