管理Kubernetes叢集服務發現
使用可觀測監控 Prometheus 版的預設服務發現、ServiceMonitor、PodMonitor和自訂服務發現,可以最佳化您對Kubernetes叢集的監控範圍,並確保您採集到所需的指標資料,以協助您監控和分析不同的服務和Pod。
前提條件
已建立Container Service類型的Prometheus執行個體,具體操作,請參見Prometheus執行個體 for Container Service。
使用限制
適用於Container Service類型的Prometheus執行個體。
功能入口
-
登入ARMS控制台。
-
在左側導覽列選擇,進入可觀測監控 Prometheus 版的執行個體列表頁面。
-
單擊目標Prometheus執行個體名稱。
管理預設服務發現
開啟並查看預設服務發現
預設服務發現在接入可觀測監控 Prometheus 版時,預設是關閉狀態,需要手動開啟。操作步驟如下:
-
進入服務詳情頁面,在左側導覽列單擊服务发现。
-
在服务发现頁面,單擊配置頁簽。
-
單擊默认服务发现頁簽,然後開啟目標Pod操作列的開關,開啟預設服務發現。
說明當前預設服務發現指標採集對象為Kubernetes叢集下所有Namespace包含的Pod。當Pod包含以下註解時,預設服務發現會自動採集該Pod的指標資訊並計費。
-
prometheus.io/path: /metrics -
prometheus.io/port: "9104" -
prometheus.io/scrape: "true"
-
-
開啟預設服務發現後,即可查看到該Prometheus監控提供的預設服務發現。
更多操作
在默认服务发现頁簽下,您還可以執行以下操作:
-
查看詳情資訊:單擊操作列的详情,您可以查看預設服務發現的YAML配置詳情資訊。
-
關閉預設服務發現:關閉操作列的開關,即可關閉預設服務發現。關閉後,將停止採集指標資料,並不再產生計費。
管理ServiceMonitor
您可以選擇手動添加ServiceMonitor設定檔來定義要監控的服務以及採集的指標。
添加ServiceMonitor
ServiceMonitor的適用情境包括監控Kubernetes叢集內的應用的業務資料,例如訂單資訊。
-
在左側導覽列單擊服务发现,然後單擊配置頁簽。
-
單擊ServiceMonitor頁簽,然後單擊右上方的添加ServiceMonitor。
-
在彈出的對話方塊中輸入配置,然後單擊确定。
樣本配置:
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: tomcat-demo # 填寫一個唯一名稱。 namespace: default # 填寫目標命名空間。 spec: endpoints: - interval: 30s port: tomcat-monitor # 填寫service.yaml中Prometheus Exporter對應的Port的Name欄位的值。 path: /metrics # 填寫Prometheus Exporter對應的Path的值。 namespaceSelector: # Nginx Demo的命名空間。 any: true selector: matchLabels: # 填寫service.yaml的Label欄位的值以定位目標service.yaml。 app: tomcat配置完成後,在ServiceMonitor頁簽下會顯示已添加的服務發現。
若開啟自動同步叢集內ServiceMonitor,系統會預設發現叢集內的ServiceMonitor並採集資料。詳情請參見如何?叢集內ServiceMonitor的同步。

更多操作
在ServiceMonitor頁簽下,您可以執行以下操作:
-
編輯服務發現:單擊操作列的编辑,您可以修改自訂的ServiceMonitor。
-
刪除服務發現:單擊操作列的删除,您可以刪除自訂的ServiceMonitor。刪除後,將停止採集指標資料,並停止計費。
-
關閉服務發現:關閉操作列的開關,即可關閉服務發現。您也可以單擊右上方的全部关闭,一鍵關閉所有添加的ServiceMonitor。關閉後,將停止採集指標資料,並不再產生計費。
-
開啟服務發現:開啟操作列的開關,即可開啟服務發現。
重要ServiceMonitor開啟後,若您並未採集到期望的指標資料,那麼您需要排查可能原因,如何排查的具體操作,請參見為什麼配置的ServiceMonitor或PodMonitor未生效?。
管理PodMonitor
您可以選擇手動添加PodMonitor設定檔來定義要監控的Pod以及採集的指標。
添加PodMonitor
-
在左側導覽列單擊服务发现,然後單擊配置頁簽。
-
單擊PodMonitor頁簽,然後單擊右上方的添加PodMonitor。
-
在彈出的對話方塊中輸入配置,然後單擊确定。
樣本配置:
apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: # 填寫一個唯一名稱 name: podmonitor-demo # 填寫目標命名空間 namespace: default #https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#podmonitorspec spec: selector: matchLabels: # 填寫pod.yaml的Label欄位的值以定位目標pod app: nginx2-exporter namespaceSelector: # https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#namespaceselector any: true podMetricsEndpoints: - interval: 30s # 填寫pod.yaml中Prometheus Exporter對應的Port的Name欄位的值 port: tomcat-monitor # 填寫Prometheus Exporter對應的Path的值 path: /metrics配置完成後,在PodMonitor頁簽下會顯示已添加的服務發現。
若開啟自動同步叢集內PodMonitor,系統會預設發現叢集內的PodMonitor並採集資料。具體詳情,請參見如何?叢集內PodMonitor的同步。

更多操作
在PodMonitor頁簽下,您可以執行以下操作:
-
編輯服務發現:單擊操作列的编辑,您可以修改自訂的PodMonitor。
-
刪除服務發現:單擊操作列的删除,您可以刪除自訂的PodMonitor。刪除後,將停止採集指標資料,並停止計費。
-
關閉服務發現:關閉操作列的開關,即可關閉服務發現。您也可以單擊右上方的全部关闭,一鍵關閉所有添加的PodMonitor。關閉後,將停止採集指標資料,並不再產生計費。
-
開啟服務發現:開啟操作列的開關,即可開啟服務發現。
重要PodMonitor開啟後,若您未採集到期望的指標資料,那麼您需要排查可能原因,如何排查的具體操作請參見為什麼配置的ServiceMonitor或PodMonitor未生效?。
管理自訂服務發現
您還可以根據自己的需求自訂要監控的服務和採集的指標。
添加自訂服務發現
-
在左側導覽列單擊服务发现,然後單擊配置頁簽。
-
單擊自定义服务发现頁簽,然後單擊右上方的添加。
-
在彈出的對話方塊中輸入配置,然後單擊保存。
樣本配置:
#just support scrape_configs configure,Configuring Multiple Jobs,yaml uses the list format.other configure can by setting prometheus.yaml - job_name: prometheus metrics_path: /metric static_configs: - targets: - 127.0.0.1:9090 - job_name: grafana_exporter scrape_interval: 30s scrape_timeout: 30s metrics_path: /metric static_configs: - targets: - 127.0.0.1:3000配置完成後,在自定义服务发现頁簽下會顯示已添加的服務發現。

更多操作
在自定义服务发现頁簽下,您可以執行以下操作:
-
編輯服務發現:單擊操作列的编辑,您可以修改自訂的服務發現。
-
刪除服務發現:單擊操作列的删除,您可以刪除自訂的服務發現。刪除後,將停止採集指標資料,並停止計費。
相關文檔
-
開啟以上服務發現後,您可能需要查看通過服務發現採集的指標資訊,具體操作,請參見配置廢棄指標。
-
服務發現開啟後可能會採集到您相應的指標,進而產生相關費用,更多資訊,請參見接入可觀測監控 Prometheus 版後,為什麼會產生額外的費用?。
-
通過ServiceMonitor建立服務發現的具體操作,請參見通過ServiceMonitor建立服務發現。