使用 Prometheus 監控 Config Connector
您可以使用 Prometheus 收集並顯示 Config Connector 的指標。
事前準備
如要完成本頁中的步驟,您必須在叢集上安裝 Prometheus。方法如下:
按照 Prometheus 說明文件設定叢集,以便進行擷取。
擷取指標
Prometheus 會透過抓取 HTTP 端點來收集指標。本節說明 Config Connector 刮除端點和 Prometheus 設定。
Config Connector 刮除端點
對於 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 會收集下列指標,並提供給 Prometheus 使用。
名稱 | 類型 | 標籤 | 說明 |
---|---|---|---|
configconnector_reconcile_requests_total | 計數器 | 命名空間 group_version_kind status |
重整要求總數。 |
configconnector_reconcile_request_duration_seconds | 直方圖 | 命名空間 group_version_kind status |
完成對帳要求所需時間的分布情形。 |
configconnector_applied_resources_total | 度量圖 | 命名空間 group_version_kind status |
受管理資源的總數。 |
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 查詢語言說明文件和範例。