尝试从 Prometheus 获取度量值时出现错误 `parse error: Unexpected \"[\""`

问题描述 投票:0回答:1

我的目标是通过 bash 脚本中的 cURL 从 Prometheus 获取指标值。没有浏览器,没有 Grafana 仪表板。我运行该命令

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"
    }
  ]
}

但是如果我尝试获取 1 分钟(或 5 分钟)的指标值,我会收到错误。

命令

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 \"[\""
}

在 Grafana 网页界面中它可以正常工作。据我了解,我无法通过在代码末尾添加

[]
来查看指标值。有没有办法获取Prometheus metric值?

curl prometheus
1个回答
0
投票

正如尊敬的@markalex 注意到的那样,我应该使用即时向量而不是范围向量。我必须对查询进行 URL 编码。

curl --silent "https://$URL:9090/api/v1/query?query=sum%28kafka_consumergroup_lag%7Bconsumergroup%3D~%22obfuscated%22%2Ctopic%3D~%22output_obfuscated%22%7D%29"
© www.soinside.com 2019 - 2024. All rights reserved.