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 Operator Prometheus yang disediakan oleh CoreOS, atau
Mengikuti dokumentasi Prometheus guna mengonfigurasi cluster untuk scraping.
Melakukan scraping metrik
Prometheus mengumpulkan metrik dengan mengorekan endpoint HTTP. Bagian ini menjelaskan endpoint scrape Config Connector dan mengonfigurasi Prometheus.
Endpoint Config Connector scraping
Untuk Config Connector, endpoint layanan ada pada 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 juga menyertakan label
cnrm.cloud.google.com/monitored: "true"
dan
cnrm.cloud.google.com/system: "true"
. Anda mengonfigurasi Prometheus untuk menghapus komponen Config Connector dari anotasi dan label ini.
Mengonfigurasi Prometheus
Sebelum dapat menyalin metrik, Anda mungkin perlu mengonfigurasi Prometheus untuk Kubernetes Service Discovery (SD) guna menemukan target scrape dari Kubernetes REST API.
Cara Anda mengonfigurasi Prometheus untuk mengekstrak metrik dari Config Connector bergantung pada cara Anda menginstal Prometheus. Periksa dokumentasi penginstalan Prometheus untuk mengetahui cara mengupdate konfigurasi.
Misalnya, jika Anda menggunakan Operator Prometheus dan mengonfigurasinya dengan ServiceMonitor, Anda dapat menerapkan konfigurasi berikut untuk menyalin 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"
Untuk informasi selengkapnya tentang cara menyiapkan ServiceMonitor, lihat Memulai dalam dokumentasi Operator Prometheus.
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.
Kueri rekonsiliasi permintaan berdasarkan jenis dan status resource
Anda dapat melihat jumlah permintaan rekonsiliasi yang gagal berdasarkan 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 berdasarkan jenis dan Namespace
Anda dapat melihat jumlah resource yang ada di Namespace.
Misalnya, untuk memeriksa jumlah total resource PubSubTopic
di Namespace default
, gunakan kueri berikut.
configconnector_applied_resources_total{group_version_kind="PubSubTopic.pubsub.cnrm.cloud.google.com", Namespace="default"}
Mengkueri penggunaan 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 | Status group_version_jenis namespace |
Jumlah total permintaan rekonsiliasi. |
configconnector_reconcile_request_duration_seconds | Histogram | Status group_version_jenis namespace |
Distribusi waktu untuk menyelesaikan permintaan rekonsiliasi. |
configconnector_applied_resources_total | Meteran | Status group_version_jenis namespace |
Jumlah total resource yang dikelola. |
configconnector_build_info | Meteran | version | Versi Config Connector saat ini. |
configconnector_reconcile_workers_total | Meteran | group_version_kind | Jumlah total pekerja yang direkonsiliasi yang dikumpulkan berdasarkan jenis resource. |
configconnector_reconcile_occupied_workers_total | Meteran | group_version_kind | Jumlah total pekerja yang direkonsiliasi, yang dikumpulkan berdasarkan jenis resource. |
Mengaktifkan label nama resource
Secara default, metrik digabungkan berdasarkan jenis resource (misalnya, PubSubTopic). Anda dapat mengaktifkan metrik untuk digabungkan berdasarkan masing-masing resource.
Untuk mengaktifkan agregasi berdasarkan nama resource, lakukan langkah-langkah berikut.
Mengedit objek StatefulSet
cnrm-controller-manager
kubectl edit statefulset cnrm-controller-manager -n cnrm-system
Jika Anda menggunakan mode dengan namespace, ganti
NAMESPACE_NAME
dengan Namespace Anda.kubectl edit statefulset cnrm-controller-manager -n NAMESPACE_NAME
Temukan array
spec.args
lalu 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 selanjutnya
Untuk informasi selengkapnya tentang penulisan kueri, baca Dokumentasi bahasa kueri dan Contoh Prometheus