
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 监控基石位置的原因之一。
更多资讯
想看更多优质内容?
浏览所有资讯