Monitoring Config Connector dengan Prometheus
Anda dapat menggunakan Prometheus untuk mengumpulkan dan menampilkan dari Config Connector.
Sebelum memulai
Untuk menyelesaikan langkah-langkah di halaman ini, Anda perlu menginstal Prometheus pada . Anda bisa melakukannya dengan:
Menggunakan Operator Prometheus yang disediakan oleh CoreOS, atau
Mengikuti Dokumentasi Prometheus guna mengonfigurasi cluster Anda untuk scraping.
Metrik penyalinan
Prometheus mengumpulkan metrik dengan mengoreksi endpoint HTTP. Bagian ini menjelaskan endpoint scraping Config Connector dan konfigurasi Prometheus.
Endpoint salinan 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 prometheus.io/scrape: "true"
dan
prometheus.io/port: "8888"
anotasi. Layanan ini juga menyertakan label
cnrm.cloud.google.com/monitored: "true"
dan
cnrm.cloud.google.com/system: "true"
. Anda mengkonfigurasi
Prometheus untuk
lakukan scraping komponen Config Connector dari anotasi dan label ini.
Mengonfigurasi Prometheus
Sebelum Anda dapat melakukan scraping metrik, Anda mungkin perlu mengkonfigurasi Prometheus untuk Kubernetes Service Discovery (SD) untuk menemukan target scrape dari REST API Kubernetes.
Cara Anda mengonfigurasi Prometheus untuk melakukan scraping metrik dari Config Connector bergantung pada bagaimana Anda menginstal Prometheus. Periksa dokumentasi untuk Prometheus Anda untuk mengetahui cara memperbarui konfigurasi.
Misalnya, jika Anda menggunakan Operator Prometheus dan mengkonfigurasinya dengan ServiceMonitor, Anda dapat menerapkan konfigurasi berikut untuk menyalin metrik dari Konektor Konfigurasi.
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 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 mengkonfigurasi Prometheus untuk menghasilkan pemberitahuan dari kueri PromQL yang valid.
Mengkueri permintaan rekonsiliasi menurut 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 | 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 | Config Connector versi saat ini. |
configconnector_reconcile_workers_total | Meteran | group_version_kind | Jumlah total pekerja rekonsiliasi yang digabungkan menurut jenis resource. |
configconnector_reconcile_occupied_workers_total | Meteran | group_version_kind | Jumlah total pekerja yang direkonsiliasi dan digabungkan menurut jenis resource. |
Mengaktifkan label nama resource
Secara default, metrik digabungkan berdasarkan jenis resource (misalnya, PubSubTopic). Anda dapat mengaktifkan metrik untuk digabungkan berdasarkan resource individual.
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
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 selanjutnya
Untuk informasi selengkapnya tentang penulisan kueri, lihat Prometheus Dokumentasi bahasa kueri dan Contoh