You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过cURL调用Prometheus API获取指标值时遇语法解析错误

从Prometheus通过cURL获取指标值的正确方法

问题场景

想要在bash脚本里用cURL从Prometheus获取kafka_consumergroup_lag指标的1分钟内数值,之前用/api/v1/series端点能查到序列存在,但加时间范围[1m]时报错。

成功查询序列的命令及结果

执行以下命令可确认指标序列存在:

URL="https://192.168.0.11:9090"

curl -g "$URL/api/v1/series?" \
  --data-urlencode 'match[]=kafka_consumergroup_lag{consumergroup="obfuscated",topic="output_obfuscated",partition="2"}'

返回结果:

{
  "status": "success",
  "data": [
    {
      "__name__": "kafka_consumergroup_lag",
      "consumergroup": "obfuscated",
      "instance": "192.168.0.11:9308",
      "job": "kafka-exporter",
      "partition": "2",
      "topic": "output_obfuscated"
    }
  ]
}

错误的尝试及报错

尝试添加时间范围[1m]时执行以下命令:

curl -g "$URL/api/v1/series?" \
  --data-urlencode 'match[]=kafka_consumergroup_lag{consumergroup="obfuscated",topic="output_obfuscated",partition="2"}[1m]' 

得到错误:

{
  "status": "error",
  "errorType": "bad_data",
  "error": "invalid parameter \"match[]\": 1:109: parse error: unexpected \"[\""
}

解决方案

/api/v1/series端点仅用于查询时间序列的元数据或确认序列是否存在,不支持时间范围查询语法。要获取指标的实际数值,需使用以下两个API端点:

1. 获取当前时刻的指标值(即时查询)

使用/api/v1/query端点,查询当前的指标数值:

curl -g "$URL/api/v1/query?" \
  --data-urlencode 'query=kafka_consumergroup_lag{consumergroup="obfuscated",topic="output_obfuscated",partition="2"}'

2. 获取时间范围内的指标值(范围查询)

如果需要获取过去1分钟内的指标数据,使用/api/v1/query_range端点,指定start、end和step参数:

# 获取过去1分钟内的指标,步长10秒
curl -g "$URL/api/v1/query_range?" \
  --data-urlencode 'query=kafka_consumergroup_lag{consumergroup="obfuscated",topic="output_obfuscated",partition="2"}' \
  --data-urlencode "start=$(date -d "-1 minute" +%s)" \
  --data-urlencode "end=$(date +%s)" \
  --data-urlencode 'step=10s'
  • start:查询时间范围的起始时间(Unix时间戳)
  • end:查询时间范围的结束时间(Unix时间戳)
  • step:采样间隔,可根据数据密度调整

补充说明

Grafana界面中能正常执行是因为它自动选择了正确的API端点(即时或范围查询),而非/api/v1/series。

内容的提问来源于stack exchange,提问作者Ilya Shmadchenko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 15:46:25