Prometheus/Thanos /api/v1/rules接口rule_group参数使用求助
问题分析与解决方法
核心错误:查询参数名称错误
Prometheus v2.45.0 的 /api/v1/rules 接口,用来过滤指定规则组的查询参数是 group,而非你使用的 rule_group。参数名混淆是导致所有请求失败的直接原因。
各请求的修正方案
GET 参数直接拼接 URL
修正参数名后的命令:curl -s http://localhost:9090/api/v1/rules?group=ec.rulesPOST 方式无效
/api/v1/rules接口仅支持 GET 请求,POST 传递 JSON 数据的方式不符合接口规范,直接改用上述正确的 GET 请求即可。GET 配合
--data-urlencode
仅需修正参数名,修正后命令:curl -XGET -s 'http://localhost:9090/api/v1/rules' --data-urlencode "group=ec.rules" -H "Content-Type: application/x-www-form-urlencoded"
Thanos Query 接口的修正
Thanos v0.31.0 的 Query 组件兼容 Prometheus API 规范,同样使用 group 参数过滤规则组,正确命令:
curl -s http://localhost:10902/api/v1/rules?group=ec.rules
额外验证建议
如果修正后仍无结果,先执行不带参数的请求确认规则组名称是否正确:
curl -s http://localhost:9090/api/v1/rules
检查返回结果中 groups 数组里的 name 字段,确认目标规则组名称确实为 ec.rules(注意大小写、特殊字符是否完全匹配)。
内容的提问来源于stack exchange,提问作者magiceses
相关产品推荐
相关产品推荐

