首页/云/可观测性速查/抓取任务(scrape_configs)基础写法
Prometheus 与采集64 条

抓取任务(scrape_configs)基础写法

每个抓取任务定义一个 job:目标列表、抓取路径、协议、参数与超时;job 名会成为 job 标签,是查询与聚合的基础维度。

可观测性速查云更新于 2026-10-13

抓取任务是什么

每个抓取任务就是一个 job:声明目标来源、抓取路径、协议、鉴权、超时与附加标签。job 名会自动成为样本上的 job 标签,是查询与聚合最常用的维度。一个 job 通常对应一类同构目标,例如全部 Node 主机,或某个服务的全部实例。

基本信息

必需字段job_name 与目标来源(static_configs 或服务发现)
常用可选项metrics_path、scheme、scrape_interval、scrape_timeout
鉴权方式basic_auth、bearer_token、tls_config 等
默认取值metrics_path 为 /metrics,scheme 为 http

典型使用场景

  • 新增主机监控:为一个机房的全部主机建独立 job,方便按环境聚合
  • 自定义端点:应用把指标暴露在非默认路径,需要指定 metrics_path
  • 受保护端点:用 basic_auth 或 bearer_token 通过鉴权后采集
  • 区分环境与团队:在 static_configs.labels 里打上 env、team 标签
  • 异构目标:不同系统各自建 job,便于单独调整抓取间隔与超时

带鉴权与自定义路径的任务

带鉴权与自定义路径的任务
scrape_configs:
  - job_name: app-metrics
    metrics_path: /actuator/prometheus   # 非默认指标路径
    scheme: http
    basic_auth:
      username: metrics
      password_file: /etc/prometheus/metrics.pw
    static_configs:
      - targets: ['10.0.1.21:8080', '10.0.1.22:8080']
        labels:
          env: prod
          team: order

常用字段

字段作用注意
job_name任务名,成为 job 标签同类目标共用一个 job,便于聚合
metrics_path指标端点路径写错表现为 404 与 up=0
schemehttp 或 https自签证书要在 tls_config 里配置信任
basic_auth基础认证密码优先用 password_file 而非明文
honor_labels冲突标签的取舍默认 false,抓取端标签优先,开启需谨慎

目标源与标签的关系

static_configs 里的 targets 决定抓哪些地址,labels 决定这些样本额外带上什么标签。若主机批量增删但暂时没有自动发现,可以用文件服务发现把目标列表从主配置拆出去,由外部脚本或发布流程维护文件内容,Prometheus 会定期读取。

业务标签统一写在 static_configs.labels 或全局 external_labels,避免散落在各处后无法统一修改。
metrics_path 写错的典型表现是 404 与 up=0:先在目标机上用 curl 验证端点能返回指标文本,再回填配置。
新增任务后先看 Targets 页面确认目标状态与最近一次抓取耗时,这比直接看图表更快定位是采集问题还是数据问题。
抓取间隔与超时可以在单个任务上覆盖全局值:慢端点单独放宽,避免为了一个慢目标拖慢全局配置。

易错点

  • metrics_path 写错:抓取一直失败却只在 Targets 页面显示 down,先手工 curl 验证端点
  • 密码明文写在配置里:配置常被纳入版本库,应改用 password_file 或密钥管理
  • 一个 job 混装多种目标:间隔与超时无法差异化,个别端点拖慢整组抓取
  • 标签写在多个位置:同名标签在多处定义后取值不确定,需明确唯一来源

数据来源与参考

  • Prometheus 文档 · scrape_config 配置项
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌