使用 Prometheus 監控 Config Connector
您可以使用 Prometheus 收集及顯示 Config Connector 的指標。
事前準備
如要完成本頁中的步驟,您需要在叢集上安裝 Prometheus。方法如下:
按照 Prometheus 說明文件設定叢集,以便進行擷取。
擷取指標
Prometheus 會抓取 HTTP 端點來收集指標。本節說明 Config Connector 擷取端點,以及如何設定 Prometheus。
Config Connector 擷取端點
對於設定連接器,服務端點位於 cnrm-controller-manager-service
和 cnrm-resource-stats-recorder-service
的 8888 連接埠。這些服務具有 prometheus.io/scrape: "true"
和 prometheus.io/port: "8888"
註解。這些服務也包括「cnrm.cloud.google.com/monitored: "true"
」和「cnrm.cloud.google.com/system: "true"
」標籤。您可以設定 Prometheus,從這些註解和標籤抓取 Config Connector 元件。
設定 Prometheus
您可能需要先設定 Prometheus 的 Kubernetes 服務探索 (SD),才能抓取指標,從 Kubernetes REST API 探索抓取目標。
設定 Prometheus 從 Config Connector 抓取指標的方式,取決於 Prometheus 的安裝方式。如要瞭解如何更新設定,請參閱 Prometheus 安裝說明文件。
舉例來說,如果您使用 Prometheus Operator 並透過 ServiceMonitor 設定,可以套用下列設定,從 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"
查詢範例
Prometheus 使用名為 PromQL 的查詢語言。本節包含 Config Connector 指標的 PromQL 查詢範例。您可以設定 Prometheus,從任何有效的 PromQL 查詢產生快訊。
依資源種類和狀態查詢調解要求
您可以依資源類型和狀態,查看調解要求失敗的次數。
舉例來說,如要檢查 PubSubTopic
資源的錯誤總數,請使用下列查詢。
configconnector_reconcile_requests_total{group_version_kind="PubSubTopic.pubsub.cnrm.cloud.google.com", status="ERROR"}
依種類和命名空間檢查資源的匯總狀態
您可以查看命名空間中的資源數量。
舉例來說,如要檢查 default
命名空間中的 PubSubTopic
資源總數,請使用下列查詢。
configconnector_applied_resources_total{group_version_kind="PubSubTopic.pubsub.cnrm.cloud.google.com", Namespace="default"}
查詢每種資源的調解工作站使用率
(configconnector_reconcile_occupied_workers_total / configconnector_reconcile_workers_total)
可用的指標
Config Connector 會收集下列指標,並提供給您使用。
名稱 | 類型 | 標籤 | 說明 |
---|---|---|---|
configconnector_reconcile_requests_total | 計數器 | 命名空間 group_version_kind 狀態 |
對帳要求總數。 |
configconnector_reconcile_request_duration_seconds | 直方圖 | 命名空間 group_version_kind 狀態 |
完成對帳要求所需時間的分佈情形。 |
configconnector_applied_resources_total | 度量圖 | 命名空間 group_version_kind 狀態 |
受管理的資源總數。 |
configconnector_build_info | 度量圖 | version | Config Connector 目前版本。 |
configconnector_reconcile_workers_total | 度量圖 | group_version_kind | 依資源種類匯總的協調工作站總數。 |
configconnector_reconcile_occupied_workers_total | 度量圖 | group_version_kind | 依資源種類匯總的已占用協調工作站總數。 |
啟用資源名稱標籤
根據預設,指標會依資源種類 (例如 PubSubTopic) 匯總。您可以啟用指標,讓系統依個別資源匯總指標。
如要依資源名稱啟用匯總功能,請按照下列步驟操作。
編輯
cnrm-controller-manager
StatefulSet 物件kubectl edit statefulset cnrm-controller-manager -n cnrm-system
如果您使用命名空間模式,請將
NAMESPACE_NAME
替換為您的命名空間。kubectl edit statefulset cnrm-controller-manager -n NAMESPACE_NAME
找出陣列
spec.args
並新增--resource-name-label=true
。apiVersion: apps/v1 kind: StatefulSet name: cnrm-controller-manager spec: template: spec: containers: - name: manager args: - --resource-name-label=true
後續步驟
如要進一步瞭解如何編寫查詢,請參閱 Prometheus 查詢語言說明文件和範例。