Halaman ini menjelaskan cara menggunakan metrik untuk memantau Pengontrol Kebijakan.
Pengontrol Kebijakan mencakup beberapa metrik terkait penggunaan kebijakan. Misalnya, ada metrik yang mencatat jumlah batasan dan template batasan, serta jumlah pelanggaran audit yang terdeteksi. Untuk membuat dan merekam metrik ini, Policy Controller 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 Policy Controller mengekspor metriknya. Anda dapat memilih Prometheus, Cloud Monitoring, keduanya, atau tidak keduanya saat menginstal Policy Controller. Secara default, Policy Controller mencoba mengekspor metrik ke Prometheus dan Cloud Monitoring.
Mengekspor metrik ke Cloud Monitoring
Agar Policy Controller dapat mengekspor metrik ke Cloud Monitoring, akun layanan yang digunakan Policy Controller harus memiliki peran IAM roles/monitoring.metricsWriter
di project. Untuk memberikan peran ini, lakukan salah satu hal berikut:
Jika Policy Controller berjalan di dalam lingkungan Google Cloud yang memiliki akun layanan default, berikan peran
roles/monitoring.metricsWriter
di project ke akun layanan tersebut:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role=roles/monitoring.metricsWriter
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud Anda.PROJECT_NUMBER
: nomor project Google Cloud numerik Anda.
Jika Workload Identity Federation for GKE atau Workload Identity Federation fleet diaktifkan, berikan peran
roles/monitoring.metricsWriter
di project kepada Kubernetes ServiceAccount yang digunakan Policy Controller: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 ID project 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 Pod
gatekeeper-controller-manager-*
di 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 pemberian izin ke Google Cloud Managed Service for Prometheus, lihat Mengaktifkan Pengumpulan Terkelola: GKE. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi Google Cloud Managed Service for Prometheus, lihat Mulai menggunakan pengumpulan terkelola.
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 Membuat kueri menggunakan Cloud Monitoring.
Lihat metrik
Metrik Policy Controller diekspor ke project Cloud Monitoring Anda dalam format Prometheus. Dengan demikian, 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).
Anda dapat menggunakan template untuk menyiapkan dasbor dengan menelusuri "Policy Controller" di halaman Dasbor Cloud Monitoring. Untuk mengetahui informasi selengkapnya tentang cara membuat dan mengedit template dasbor, lihat dokumentasi Cloud Monitoring.
Membuat pemberitahuan
Untuk menerima notifikasi saat metrik Anda memenuhi batas tertentu, buat kebijakan pemberitahuan di Cloud Monitoring.
Integrasi pihak ketiga
Dengan menggunakan Cloud Monitoring API, alat observabilitas pihak ketiga dapat menyerap metrik Policy Controller.
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 Anda dan dikonfigurasi untuk diekspor ke Cloud Monitoring, Anda dapat membuat kueri untuk metrik berikut (semua 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 | Jumlah total 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 penerimaan dari server API |
OpenCensus/validation_request_duration_seconds |
Kumulatif | admission_status | Distribusi durasi permintaan penerimaan |
OpenCensus/violations |
Meteran | enforcement_action | Jumlah pelanggaran audit yang terdeteksi dalam siklus audit terakhir |
OpenCensus/watch_manager_intended_watch_gvk |
Meteran | Jumlah GroupVersionKinds unik yang harus dipantau oleh Policy Controller. Metrik ini adalah kombinasi dari resource dan batasan yang disinkronkan. | |
OpenCensus/watch_manager_watched_gvk |
Meteran | Jumlah GroupVersionKinds unik yang sebenarnya dipantau oleh Policy Controller. Metrik ini dimaksudkan agar konvergen menjadi sama dengan OpenCensus/watch_manager_intended_watch_gvk . |
Jika Policy Controller dikonfigurasi untuk diekspor ke Prometheus, Anda dapat membuat kueri metrik berikut (semuanya 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 proses audit terakhir, yang diberikan sebagai detik dalam floating-point | |
Prometheus/gatekeeper_audit_last_run_time/gauge |
Meteran | Stempel waktu epoch awal proses audit terakhir, yang diberikan dalam detik sebagai angka floating point | |
Prometheus/gatekeeper_constraint_template_ingestion_count/counter |
Kumulatif | status | Jumlah total 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 penerimaan dari server API |
Prometheus/gatekeeper_validation_request_duration_seconds/histogram |
Kumulatif | admission_status | Distribusi durasi permintaan penerimaan |
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 unik yang harus dipantau oleh Policy Controller. Metrik ini adalah kombinasi dari resource dan batasan yang disinkronkan. | |
Prometheus/gatekeeper_watch_manager_watched_gvk/gauge |
Meteran | Jumlah GroupVersionKinds unik yang sebenarnya dipantau oleh Policy Controller. Metrik ini dimaksudkan agar konvergen menjadi sama dengan Prometheus/gatekeeper_watch_manager_intended_watch_gvk/gauge . |