Memantau Config Connector dengan Prometheus
Anda dapat menggunakan Prometheus untuk mengumpulkan dan menampilkan metrik dari Config Connector.
Sebelum memulai
Untuk menyelesaikan langkah-langkah di halaman ini, Anda perlu menginstal Prometheus di cluster Anda. Anda bisa melakukannya dengan:
Menggunakan Prometheus Operator yang disediakan oleh CoreOS, atau
Mengikuti dokumentasi Prometheus untuk mengonfigurasi cluster Anda agar dapat melakukan scraping.
Metrik scraping
Prometheus mengumpulkan metrik dengan meng-scrape endpoint HTTP. Bagian ini menjelaskan endpoint pengambilan data Config Connector dan mengonfigurasi Prometheus.
Endpoint scraping Config Connector
Untuk Config Connector, endpoint layanan berada di port 8888 di
cnrm-controller-manager-service
dan cnrm-resource-stats-recorder-service
.
Layanan ini memiliki anotasi prometheus.io/scrape: "true"
dan
prometheus.io/port: "8888"
. Layanan ini juga mencakup label
cnrm.cloud.google.com/monitored: "true"
dan
cnrm.cloud.google.com/system: "true"
. Anda mengonfigurasi Prometheus untuk
meng-scrape komponen Config Connector dari anotasi dan label ini.
Mengonfigurasi Prometheus
Sebelum dapat melakukan scraping metrik, Anda mungkin perlu mengonfigurasi Prometheus untuk Penemuan Layanan (SD) Kubernetes guna menemukan target scraping dari Kubernetes REST API.
Cara Anda mengonfigurasi Prometheus untuk melakukan scraping metrik dari Config Connector bergantung pada cara Anda menginstal Prometheus. Periksa dokumentasi penginstalan Prometheus Anda untuk mengetahui cara memperbarui konfigurasi.
Misalnya, jika Anda menggunakan Prometheus Operator dan mengonfigurasinya dengan ServiceMonitor, Anda dapat menerapkan konfigurasi berikut untuk meng-scrape metrik dari Config Connector.
spec:
endpoints:
- interval: 10s
port: metrics
namespaceSelector:
matchNames:
- cnrm-system
selector:
matchLabels:
cnrm.cloud.google.com/monitored: "true"
cnrm.cloud.google.com/system: "true"
Contoh kueri
Prometheus menggunakan bahasa kueri yang disebut PromQL. Bagian ini berisi contoh kueri PromQL untuk metrik Config Connector. Anda dapat mengonfigurasi Prometheus untuk membuat pemberitahuan dari kueri PromQL yang valid.
Mengueri permintaan rekonsiliasi menurut jenis dan status resource
Anda dapat melihat jumlah permintaan rekonsiliasi yang gagal menurut jenis dan status resource.
Misalnya, untuk memeriksa jumlah total error untuk resource PubSubTopic
, gunakan
kueri berikut.
configconnector_reconcile_requests_total{group_version_kind="PubSubTopic.pubsub.cnrm.cloud.google.com", status="ERROR"}
Memeriksa status gabungan resource menurut jenis dan Namespace
Anda dapat melihat jumlah resource yang ada di Namespace.
Misalnya, untuk memeriksa total jumlah resource PubSubTopic
di
Namespace default
, gunakan kueri berikut.
configconnector_applied_resources_total{group_version_kind="PubSubTopic.pubsub.cnrm.cloud.google.com", Namespace="default"}
Mengueri pemanfaatan pekerja rekonsiliasi per jenis resource
(configconnector_reconcile_occupied_workers_total / configconnector_reconcile_workers_total)
Metrik yang tersedia
Config Connector mengumpulkan metrik berikut dan menyediakannya.
Nama | Jenis | Label | Deskripsi |
---|---|---|---|
configconnector_reconcile_requests_total | Penghitung | Namespace group_version_kind status |
Jumlah total permintaan rekonsiliasi. |
configconnector_reconcile_request_duration_seconds | Histogram | Namespace group_version_kind status |
Distribusi waktu untuk menyelesaikan permintaan rekonsiliasi. |
configconnector_applied_resources_total | Meteran | Namespace group_version_kind status |
Jumlah total resource yang dikelola. |
configconnector_build_info | Meteran | versi | Versi Config Connector saat ini. |
configconnector_reconcile_workers_total | Meteran | group_version_kind | Jumlah total pekerja rekonsiliasi yang dikelompokkan berdasarkan jenis resource. |
configconnector_reconcile_occupied_workers_total | Meteran | group_version_kind | Jumlah total pekerja rekonsiliasi yang digunakan, yang dikelompokkan menurut jenis resource. |
Mengaktifkan label nama resource
Secara default, metrik diagregasi berdasarkan jenis resource (misalnya, PubSubTopic). Anda dapat mengaktifkan metrik untuk digabungkan menurut masing-masing resource.
Untuk mengaktifkan penggabungan menurut nama resource, lakukan langkah-langkah berikut.
Edit objek StatefulSet
cnrm-controller-manager
kubectl edit statefulset cnrm-controller-manager -n cnrm-system
Jika Anda menggunakan Mode namespace, ganti
NAMESPACE_NAME
dengan Namespace Anda.kubectl edit statefulset cnrm-controller-manager -n NAMESPACE_NAME
Temukan array
spec.args
dan tambahkan--resource-name-label=true
.apiVersion: apps/v1 kind: StatefulSet name: cnrm-controller-manager spec: template: spec: containers: - name: manager args: - --resource-name-label=true
Langkah berikutnya
Untuk mengetahui informasi selengkapnya tentang penulisan kueri, lihat Dokumentasi bahasa kueri Prometheus dan Contoh