PromQL 查询开始先问价了:Prometheus 3.16 实验性上线查询成本估算与执行限额

PromQL 查询开始先问价了:Prometheus 3.16 实验性上线查询成本估算与执行限额

1小时前
duguying
4 阅读
来源:GitHub

查询前先估算成本、超限即停:Prometheus v3.16.0 用特性旗标上线实验性查询成本估算与执行限额,多租户监控的治理闭环补上关键一环。

相关标签

#GitHub#Trending#Prometheus#监控#SRE

CNCF 监控基石 Prometheus 发布 v3.16.0(2026 年 11 月 4 日)。这个版本最值得运维和 SRE 留意的,是一个藏在特性旗标后面的实验性功能:查询成本估算与执行限额(query-cost)。PromQL 查询从此可以”先报价、超限即停”。

查询成本:从”跑了才知道”到”先算后跑”

一直以来,一条写得糟糕的 PromQL 查询可能扫过海量时间序列,把 Prometheus 实例拖垮,而用户只有在结果迟迟不返回时才意识到代价。v3.16.0 的实验性 query-cost 功能带来三件事:查询前的成本估算、查询执行后的实际成本上报,以及可配置的执行限制。开启方式是在启动参数加 --enable-feature=query-cost。

对多租户或共享监控平台的管理方来说,这补上了治理闭环的关键一环——现在可以为不同用户或场景设置执行限额,让昂贵查询在冲垮实例前被拦下。这与 Grafana Mimir、Thanos 等大规模部署中常见的”查询限额”需求对齐,也是 Prometheus 用渐进式特性旗标跟进生态的典型做法。

同版本其他值得关注的变化

  • 新实验函数 integral():对范围向量计算时间积分,同样在 --enable-feature=promql-experimental-functions 旗标后可用。
  • Smoothed 与 Anchored 选择器转正:这两个此前处于实验状态的向量选择器已稳定并默认开启;配套的 use-start-timestamps 旗标让扩展范围选择器下的浮点序列用起始时间戳检测计数器重置,也可通过 X-Prometheus-Use-Start-Timestamps 请求头按查询覆盖。
  • Agent 模式支持 metadata-wal-records:Agent 部署形态的功能对齐进一步补齐。
  • 数据质量收紧:TSDB 不再接受标签名不唯一的 exemplar——此前这类数据会被存储并从 /api/v1/query_exemplars 吐出重复 JSON key,现在直接拒绝。
  • 安全默认值:当 --web.config.file 启用 TLS 时,--web.external-url 默认采用 https。
  • 运维细节:promtool 新增 --allow-incompatible-block-duration,允许任意 max-block-duration;Remote Write 2.0 队列移除四个已弃用的 metadata 指标;OpenMetrics 2.0 解析器对经典直方图与 sum 做复用优化。

升级建议

v3.16.0 变更面较广,涉及 API 行为(实验性搜索端点将 batch_size 收紧到 1000)与指标移除,自建监控或有告警规则引用旧指标的环境,升级前建议过一遍 changelog 中的 CHANGE 条目。

一个老牌项目持续用特性旗标做渐进式演进,而不是掀桌子式大改,这也是 Prometheus 能稳坐 CNCF 监控基石位置的原因之一。

仓库地址:https://github.com/prometheus/prometheus

返回列表

更多资讯

想看更多优质内容?

浏览所有资讯