使用可觀測監控 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: /metricsprometheus.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建立服務發現。