使用可观测监控 Prometheus 版的默认服务发现、ServiceMonitor、PodMonitor和自定义服务发现,可以优化您对Kubernetes集群的监控范围,并确保您采集到所需的指标数据,以帮助您监控和分析不同的服务和Pod。
前提条件
已创建容器服务类型的Prometheus实例,具体操作,请参见Prometheus实例 for 容器服务。
使用限制
适用于容器服务类型的Prometheus实例。
功能入口
在左侧导航栏单击实例列表,进入可观测监控 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创建服务发现。
- 本页导读 (1)