Menggunakan metrik Pengontrol Kebijakan

Halaman ini menjelaskan cara menggunakan metrik untuk memantau Pengontrol Kebijakan.

Pengontrol Kebijakan menyertakan beberapa metrik yang terkait dengan penggunaan kebijakan. Misalnya, ada metrik yang mencatat jumlah batasan dan template batasan, serta jumlah pelanggaran audit yang terdeteksi. Untuk membuat dan mencatat metrik ini, Pengontrol Kebijakan menggunakan OpenTelemetry. Anda dapat mengonfigurasi Policy Controller untuk mengekspor metrik ini ke Prometheus atau Cloud Monitoring. Setelan default untuk mengekspor metrik mengekspor metrik ke Prometheus dan Cloud Monitoring.

Mengonfigurasi ekspor metrik

Anda dapat mengonfigurasi cara Pengontrol Kebijakan mengekspor metrikanya. Anda dapat memilih Prometheus, Cloud Monitoring, keduanya, atau tidak sama sekali saat menginstal Policy Controller. Secara default, Policy Controller mencoba mengekspor metrik ke Prometheus dan Cloud Monitoring.

Mengekspor metrik ke Cloud Monitoring

Jika Policy Controller berjalan di dalam lingkungan Google Cloud yang memiliki akun layanan default, Policy Controller akan otomatis mengekspor metrik ke Cloud Monitoring.

Jika Workload Identity Federation for GKE atau Workload Identity Federation fleet diaktifkan, izinkan Policy Controller mengirim metrik dengan menjalankan perintah ini:

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="serviceAccount:PROJECT_ID.svc.id.goog[gatekeeper-system/gatekeeper-admin]" \
  --role=roles/monitoring.metricWriter

Ganti PROJECT_ID dengan project ID Google Cloud cluster.

Anda dapat melihat metrik ini dengan Metrics Explorer atau dengan menggunakan Cloud Monitoring API.

Mengekspor metrik ke Prometheus

Pengontrol Kebijakan mengekspor metrik untuk Prometheus di port 8888 dari Pod gatekeeper-controller-manager-* di bawah namespace gatekeeper-system.

Jika Policy Controller berjalan di cluster dengan Google Cloud Managed Service for Prometheus yang dikonfigurasi, metrik ini akan otomatis dikumpulkan dan disimpan di Cloud Monitoring. Hal ini juga berfungsi untuk cluster yang mengaktifkan Google Cloud Managed Service for Prometheus setelah Pengontrol Kebijakan diinstal. Anda mungkin juga perlu memberikan izin tambahan ke akun layanan Compute Engine default yang digunakan Google Cloud Managed Service for Prometheus, bergantung pada kebijakan Anda. Untuk mengetahui detail tentang cara memberikan izin ke Google Cloud Managed Service for Prometheus, lihat Mengaktifkan Pengumpulan Terkelola: GKE. Untuk informasi selengkapnya tentang cara mengonfigurasi Google Cloud Managed Service for Prometheus, lihat Memulai koleksi terkelola.

Karena Policy Controller tersedia dengan GKE Enterprise, tidak ada biaya tambahan untuk Google Cloud Observability, termasuk Google Cloud Managed Service for Prometheus. Jika Anda telah menginstal Policy Controller sebelum memerlukan lisensi GKE Enterprise, dan telah mengaktifkan Google Cloud Managed Service for Prometheus, Anda mungkin melihat tagihan untuk metrik yang dikumpulkan. Untuk mengetahui informasi selengkapnya tentang harga Cloud Monitoring, lihat Harga untuk Google Cloud Managed Service for Prometheus.

Untuk contoh cara melihat metrik dengan solusi Google Cloud Managed Service for Prometheus, lihat Kueri menggunakan Cloud Monitoring.

Lihat metrik

Metrik Policy Controller diekspor ke project Cloud Monitoring Anda dalam format Prometheus. Akibatnya, Anda dapat membuat kueri metrik menggunakan Cloud Monitoring API dan dasbor di Konsol Google Cloud. Anda dapat mengedit dasbor ini untuk memenuhi kebutuhan bisnis dan operasional Anda.

Untuk membuat kueri Cloud Monitoring API, gunakan Prometheus Query Language (PromQL) (bahasa kueri de facto untuk metrik Kubernetes) atau Monitoring Query Language (MQL) (bahasa kueri metrik eksklusif Google).

Untuk membuat dasbor Pengontrol Kebijakan:

  1. Di Konsol Google Cloud, buka halaman Dashboards.

    Buka Dashboards

  2. Di halaman Ringkasan dasbor, klik tab Sample library. Tab ini menampilkan semua dasbor yang dapat Anda impor.

  3. Di kolom Kategori, pilih Anthos Config Management.

  4. Di tabel Contoh Anthos Config Management, pilih kotak centang Policy Controller.

  5. Klik Impor.

  6. Untuk membuat dasbor, klik Konfirmasi di jendela konfirmasi.

Untuk melihat dan mengedit dasbor Pengontrol Kebijakan:

  1. Di halaman Ringkasan dasbor, pilih tab Daftar dasbor.
  2. Pilih dasbor Pengontrol Kebijakan.
  3. Untuk menyesuaikan dasbor, klik Edit dasbor.
  4. Lakukan perubahan yang diperlukan, lalu klik Simpan. Untuk mempelajari lebih lanjut cara menyesuaikan dasbor, lihat Memfilter dasbor dalam dokumentasi Cloud Monitoring.

Membuat pemberitahuan

Untuk menerima notifikasi saat metrik Anda memenuhi nilai minimum tertentu, buat kebijakan pemberitahuan di Cloud Monitoring.

Integrasi pihak ketiga

Dengan menggunakan Cloud Monitoring API, alat visibilitas pihak ketiga apa pun dapat menyerap metrik Pengontrol Kebijakan.

Misalnya, jika Anda menggunakan dasbor Grafana, tambahkan Cloud Monitoring API sebagai sumber data di Grafana. Untuk mempelajari lebih lanjut, lihat Google Cloud Monitoring di dokumentasi Grafana.

Metrik yang tersedia

Jika Pengontrol Kebijakan diaktifkan di cluster dan dikonfigurasi untuk diekspor ke Cloud Monitoring, Anda dapat membuat kueri untuk metrik berikut (semuanya diawali dengan OpenCensus/):

Nama Jenis Label Deskripsi
OpenCensus/audit_duration_seconds Kumulatif Distribusi durasi siklus audit
OpenCensus/audit_last_run_time Meteran Stempel waktu epoch sejak runtime audit terakhir, yang diberikan sebagai detik dalam floating point
OpenCensus/constraint_template_ingestion_count Kumulatif status Total jumlah tindakan penyerapan template batasan
OpenCensus/constraint_template_ingestion_duration_seconds Kumulatif status Distribusi durasi penyerapan Template Batasan
OpenCensus/constraint_templates Meteran status Jumlah template batasan saat ini
OpenCensus/validation_request_count Penghitung admission_status Jumlah permintaan izin masuk dari server API
OpenCensus/validation_request_duration_seconds Kumulatif admission_status Distribusi durasi permintaan izin masuk
OpenCensus/violations Meteran enforcement_action Jumlah pelanggaran audit yang terdeteksi dalam siklus audit terakhir
OpenCensus/watch_manager_intended_watch_gvk Meteran Jumlah GroupVersionKinds Policy Controller unik yang dimaksudkan untuk dipantau. Metrik ini adalah kombinasi dari resource dan batasan yang disinkronkan.
OpenCensus/watch_manager_watched_gvk Meteran Jumlah GroupVersionKinds Policy Controller unik yang sebenarnya sedang dipantau. Metrik ini dimaksudkan untuk konvergen menjadi sama dengan OpenCensus/watch_manager_intended_watch_gvk.

Jika Pengontrol Kebijakan dikonfigurasi untuk diekspor ke Prometheus, Anda dapat membuat kueri metrik berikut (semua diawali dengan Prometheus/):

Nama Jenis Label Deskripsi
Prometheus/gatekeeper_audit_duration_seconds/histogram Kumulatif Distribusi durasi siklus audit
Prometheus/gatekeeper_audit_last_run_end_time/gauge Meteran Stempel waktu epoch akhir audit terakhir yang dijalankan, diberikan sebagai detik dalam floating point
Prometheus/gatekeeper_audit_last_run_time/gauge Meteran Stempel waktu epoch awal audit terakhir yang dijalankan, diberikan sebagai detik dalam floating point
Prometheus/gatekeeper_constraint_template_ingestion_count/counter Kumulatif status Total jumlah tindakan penyerapan template batasan
Prometheus/gatekeeper_constraint_template_ingestion_duration_seconds/histogram Kumulatif status Distribusi durasi penyerapan Template Batasan
Prometheus/gatekeeper_constraint_templates/gauge Meteran status Jumlah template batasan saat ini
Prometheus/gatekeeper_validation_request_count/counter Kumulatif admission_status, admission_dryrun Jumlah permintaan izin masuk dari server API
Prometheus/gatekeeper_validation_request_duration_seconds/histogram Kumulatif admission_status Distribusi durasi permintaan izin masuk
Prometheus/gatekeeper_violations/gauge Meteran enforcement_action Jumlah pelanggaran audit yang terdeteksi dalam siklus audit terakhir
Prometheus/gatekeeper_watch_manager_intended_watch_gvk/gauge Meteran Jumlah GroupVersionKinds Policy Controller unik yang dimaksudkan untuk dipantau. Metrik ini adalah kombinasi dari resource dan batasan yang disinkronkan.
Prometheus/gatekeeper_watch_manager_watched_gvk/gauge Meteran Jumlah GroupVersionKinds Policy Controller unik yang sebenarnya sedang dipantau. Metrik ini dimaksudkan untuk konvergen menjadi sama dengan Prometheus/gatekeeper_watch_manager_intended_watch_gvk/gauge.

Langkah selanjutnya