使用 Prometheus 監控 Config Connector


您可以使用 Prometheus 收集及顯示 Config Connector 的指標。

事前準備

如要完成本頁中的步驟,您需要在叢集上安裝 Prometheus。方法如下:

擷取指標

Prometheus 會抓取 HTTP 端點來收集指標。本節說明 Config Connector 擷取端點,以及如何設定 Prometheus。

Config Connector 擷取端點

對於設定連接器,服務端點位於 cnrm-controller-manager-servicecnrm-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) 匯總。您可以啟用指標,讓系統依個別資源匯總指標。

如要依資源名稱啟用匯總功能,請按照下列步驟操作。

  1. 編輯 cnrm-controller-manager StatefulSet 物件

    kubectl edit statefulset cnrm-controller-manager -n cnrm-system

    如果您使用命名空間模式,請將 NAMESPACE_NAME 替換為您的命名空間。

    kubectl edit statefulset cnrm-controller-manager -n NAMESPACE_NAME
  2. 找出陣列 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 查詢語言說明文件範例