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 mencatat metrik ini, Pengontrol Kebijakan menggunakan OpenTelemetry. Anda dapat mengonfigurasi Pengontrol Kebijakan untuk mengekspor metrik ini ke Prometheus atau Cloud Monitoring. Setelan default untuk mengekspor metrik akan mengekspor metrik ke Prometheus dan Cloud Monitoring.
Harga
Metrik Pengontrol Kebijakan menggunakan Google Cloud Managed Service for Prometheus untuk memuat metrik ke Cloud Monitoring. Biaya penyerapan metrik ini di Cloud Monitoring didasarkan pada jumlah sampel yang diserap.
Untuk mengetahui informasi selengkapnya, lihat harga Cloud Monitoring.
Mengonfigurasi ekspor metrik
Anda dapat mengonfigurasi cara Pengontrol Kebijakan mengekspor metriknya. Anda dapat memilih Prometheus, Cloud Monitoring, keduanya, atau tidak keduanya saat menginstal Pengontrol Kebijakan. Secara default, Pengontrol Kebijakan mencoba mengekspor metrik ke Prometheus dan Cloud Monitoring.
Mengekspor metrik ke Cloud Monitoring
Agar Pengontrol Kebijakan dapat mengekspor metrik ke Cloud Monitoring, akun layanan yang digunakan Pengontrol Kebijakan harus memiliki peran IAM roles/monitoring.metricsWriter pada project. Untuk memberikan peran ini, lakukan salah satu hal berikut:
Jika Pengontrol Kebijakan berjalan di dalam Google Cloud lingkungan yang memiliki akun layanan default, berikan peran
roles/monitoring.metricsWriterpada project ke akun layanan tersebut:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role=roles/monitoring.metricsWriterGanti kode berikut:
PROJECT_ID: Project ID Google Cloud Anda.PROJECT_NUMBER: nomor project numerik Anda. Google Cloud
Jika Workload Identity Federation for GKE atau Workload Identity Federation fleet diaktifkan, berikan peran
roles/monitoring.metricsWriterpada project ke Kubernetes ServiceAccount yang digunakan Pengontrol Kebijakan:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_ID.svc.id.goog[gatekeeper-system/gatekeeper-admin]" \ --role=roles/monitoring.metricWriterGanti
PROJECT_IDdenganProject ID cluster. Google Cloud
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 Pengontrol Kebijakan 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 berlaku 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 Koleksi Terkelola: GKE. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi Google Cloud Managed Service for Prometheus, lihat Memulai koleksi terkelola.
Untuk mengetahui informasi selengkapnya tentang harga Cloud Monitoring, lihat Harga untuk Google Cloud Managed Service for Prometheus.
Untuk mengetahui contoh cara melihat metrik dengan solusi Google Cloud Managed Service for Prometheus, lihat Membuat kueri menggunakan Cloud Monitoring.
Melihat metrik
Metrik Pengontrol Kebijakan diekspor ke project Cloud Monitoring Anda dalam format Prometheus. Oleh karena itu, Anda dapat membuat kueri metrik menggunakan Cloud Monitoring API dan dasbor di Google Cloud konsol. 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 "Pengontrol Kebijakan" 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 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 Anda dan dikonfigurasi untuk diekspor ke Cloud Monitoring, Anda dapat membuat kueri 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 | 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 seharusnya dipantau oleh Pengontrol Kebijakan. Metrik ini adalah kombinasi dari resource dan batasan yang disinkronkan. | |
OpenCensus/watch_manager_watched_gvk |
Meteran | Jumlah GroupVersionKinds unik yang sebenarnya dipantau oleh Pengontrol Kebijakan. Metrik ini dimaksudkan untuk menyatu agar sama dengan OpenCensus/watch_manager_intended_watch_gvk. |
Jika Pengontrol Kebijakan 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 audit terakhir, yang diberikan sebagai detik dalam floating point | |
Prometheus/gatekeeper_audit_last_run_time/gauge |
Meteran | Stempel waktu epoch awal audit terakhir, yang diberikan sebagai detik dalam 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 seharusnya dipantau oleh Pengontrol Kebijakan. 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 Pengontrol Kebijakan. Metrik ini dimaksudkan untuk menyatu agar sama dengan Prometheus/gatekeeper_watch_manager_intended_watch_gvk/gauge. |