采集配置
更新时间:2025-09-18
概述
采集任务(Job)是一组 Target 的配置集合。定义了抓取间隔、访问限制等作用于一组 Target 的抓取行为。Prometheus 监控服务默认预置常用基础监控的采集任务,也支持自定义采集任务。本文将介绍如何 创建、管理、复制 采集任务配置。
准备工作
-
登录百度智能云控制台:
- 登录成功后,选择“产品服务 > 云原生 > Prometheus 监控服务”,进入“监控实例 > 实例列表”页面。
- 创建监控实例,监控实例与目标监控集群必须在同一地域下,详情见 创建实例。
- (可选)在监控实例详情中,接入目标集群所在的私有网络 VPC,详情见 接入网络。
- 在监控实例详情中,关联目标 CCE 集群(安装 Agent),详情见 安装Agent。
说明:Agent 安装完成后,系统会自动生成基础监控采集任务,您可在 采集配置 -> RawJobs 中直接查看。
创建自定义采集任务
- 登录 Prometheus监控服务控制台,选择【监控实例】,点击目标实例名称进入实例详情页,在左侧选择【关联集群】,找到目标关联集群,在操作列点击【采集任务】进入采集配置页面。
- 点击【创建采集任务】,使用 YAML 配置 Agent 采集任务规则,点击确认即完成提交。
- 自定义采集任务配置包括:采集时间间隔、采集超时时间、采集协议、采集指标的端口号等。一个任务支持多组 Job 配置。相应配置项说明如下:
YAML
1job_name: 'kubernetes-pods-user-test'
2scrape_interval: 30s # 可选,该 Job 的采集时间间隔,优先级高于全局配置
3scrape_timeout: 30s # 可选,该 Job 的采集超时时间,优先级高于全局配置
4metrics_path: /metrics # 必选,采集指标的 URI 路径,默认为 /metrics
5honor_labels: true # 可选,标签冲突处理策略,配置为 true 表示保留标签;配置为 false 表示重命名标签
6honor_timestamps: true # 可选,是否使用指标中的时间戳
7scheme: https # 必选,采集协议,支持 http 和 https ,默认为 http
8params: # 可选,http 协议参数,仅 scheme 为 http 时有效
9 p1: ["v1", "v2"]
10tls_config: # 可选,https 协议时的 TLS 配置,仅 scheme 为 https 时有效
11 ca_file: /etc/ca_file # 配置 CA 证书
12 cert_file: /etc/cert_file # 配置 TLS 证书
13 key_file: /etc/key_file # 配置 TLS 密钥
14 server_name: tls-server-demo # 配置 TLS 服务器名称
15 insecure_skip_verify: true # 是否禁用 https 服务器证书验证
16kubernetes_sd_configs:
17 - role: pod
18relabel_configs:
19- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
20 action: replace
21 target_label: __scheme__
22 regex: (https?)
23- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
24 action: keep
25 regex: true
26- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
27 action: replace
28 target_label: __metrics_path__
29 regex: (.+)
30- source_labels: [__meta_kubernetes_pod_label_app]
31 action: drop
32 regex: kube-state-metrics|node-exporter|dcgm-exporter|training-operator
33- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
34 action: replace
35 regex: ([^:]+)(?::\d+)?;(\d+)
36 replacement: $1:$2
37 target_label: __address__
38- action: labelmap
39 regex: __meta_kubernetes_pod_label_(.+)
40- action: labeldrop
41 regex: (.+)_revision_hash|(.+)_template_generation
42
43
以下为一个简单采集任务规则例子:
YAML
1job_name: 'test-pods'
2kubernetes_sd_configs:
3 - role: pod
4scrape_interval: 30s
5scrape_timeout: 30s
6metrics_path: /metrics # 必选,采集指标的 URI 路径,默认为 /metrics
7relabel_configs:
8- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
9 action: replace
10 target_label: __scheme__
11 regex: (https?)
12- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
13 action: keep
14 regex: true
15- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
16 action: replace
17 target_label: __metrics_path__
18 regex: (.+)
19- source_labels: [__meta_kubernetes_pod_label_app]
20 action: drop
21 regex: kube-state-metrics|node-exporter|dcgm-exporter|training-operator
22- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
23 action: replace
24 regex: ([^:]+)(?::\d+)?;(\d+)
25 replacement: $1:$2
26 target_label: __address__
27- action: labelmap
28 regex: __meta_kubernetes_pod_label_(.+)
29- action: labeldrop
30 regex: (.+)_revision_hash|(.+)_template_generation
说明:
- 更多配置项说明,可参见 官网文档。
- 采集任务配置修改并下发后,约 1 分钟 后才会生效,请您耐心等待。
管理采集任务
-
创建采集任务成功后,在“监控实例 > 采集配置”中可查看当前监控实例关联集群的 Agent 采集任务列表,展示任务名称、监控类型、请求路径、状态、创建时间等信息。
说明:集群 Agent 配置中预设配置中预设了基础监控的采集任务,默认采集核心组件的监控指标数据。
- 采集任务创建成功后,默认启用,即规则生效。可在采集任务的操作列中,点击“禁用”,采集任务状态将变成“禁用”,则规则失效,可点击“启用”恢复。
复制采集任务
创建采集任务成功后,在“监控实例 > 采集配置”中可查看当前监控实例关联集群的采集任务列表,在您需要复制的采集任务操作列中,点击“复制”,在二次确认弹窗中,输入新任务名称后点击“确认”,即可复制一条采集任务。
调整采集间隔
说明:所有采集任务默认每 15s 采集一次;若曾修改,可在“采集间隔”列查看最新值。
您可按业务敏感度自定义采集频率,如核心采集任务 30s,非核心采集任务 60s,从而在“监控精度”与“成本/性能”之间取得平衡。详细操作可参见 调整采集间隔。