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

如何在Prometheus的curl请求中实现两个查询的求和?

解决Prometheus query_range多查询求和的422错误

出现422错误的核心原因是:两个sum查询返回的时间序列标签集不匹配(一个包含id标签,另一个包含project_id标签),Prometheus要求二元运算(如+)的两边必须有完全一致的标签才能执行。

提供两种可行的解决写法:

方法1:强制忽略标签差异进行求和

通过on() group_left()语法,告诉Prometheus忽略两边序列的标签差异,直接执行求和运算:

curl 'https://my_client/api/v1/query_range' -d 'query=sum(commits{development="no",id="123"}[4w])+on()+group_left()+sum(commits{development="no",project_id="456"}[4w])' -d 'start=-1y' -d 'step=4w' | json_pp

方法2:合并查询到单个sum中(更高效)

将两个项目的条件合并到同一个选择器中,直接对两个项目的提交数求和,避免二元运算的标签问题:

curl 'https://my_client/api/v1/query_range' -d 'query=sum(commits{development="no",(id="123" or project_id="456")}[4w])' -d 'start=-1y' -d 'step=4w' | json_pp

内容的提问来源于stack exchange,提问作者Max Bojorquez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:40:47