prometheus v3.7.0-rc.0 版本更新介绍
发布日期: 2025-10-08
版本号: v3.7.0-rc.0
本次Prometheus更新主要包含以下内容:废弃了远程写入的多个监控指标并推荐替代方案;新增支持实验性锚点平滑速率、自定义桶本机直方图联邦及多个PromQL实验函数;增强了告警规则的并发评估能力与UI中的抓取信息显示;优化了OTLP数据直接写入TSDB的性能并改进了多处组件的日志与配置处理;修复了远程写入中混合类型样本处理、HTTP错误响应、PromQL函数计算等多项错误。
更新内容 (中文)
- [变更] 远程写入:弃用
prometheus_remote_storage_{samples,exemplars,histograms}_in_total和prometheus_remote_storage_highest_timestamp_in_seconds指标,请参阅各自描述获取替代方案。#17065 - [功能] PromQL:在特性标志
promql-extended-range-selectors后增加实验性锚定和平滑速率支持。#16457 - [功能] 联邦:增加对具有自定义桶的原生直方图(NHCB)的支持。#17215
- [功能] PromQL:在特性标志
experimental-promql-functions后增加first_over_time(...)和ts_of_first_over_time(...)函数。#16963 #17021 - [功能] 远程写入:增加对 Azure 工作负载标识作为接收器认证方法的支持。#16788
- [功能] 远程写入:在启用
type-and-unit-labels特性标志时,为远程写入 2.0 的外发时间序列添加类型和单位标签。#17033 - [功能] OTLP:在启用
created-timestamp-zero-ingestion特性标志时,将指标的开始时间作为创建时间零样本写入 TSDB。#16951 - [增强] PromQL:在特定直方图操作中添加针对计数器重置冲突的警告级注释。#17051 #17094
- [增强] UI:在目标页面中添加抓取间隔和抓取超时。#17158
- [增强] TSDB:如果模式为指数型,则降低从块或远程读取读取的原生直方图的分辨率。#17213
- [增强] 远程写入:当在纯样本批处理中找到元数据条目时,添加有关样本批中意外元数据的日志。#17034 #17082
- [增强] 远程写入:添加
prometheus_remote_storage_queue_highest_timestamp_seconds指标,跟踪实际入队的最高时间戳(考虑write_relabel_configs)。#17065 - [增强] Mixin:在仪表板和警报中将
prometheus_remote_storage_highest_timestamp_in_seconds指标替换为新的prometheus_remote_storage_queue_highest_timestamp_seconds指标,以正确考虑重标签并提高准确性。#17065 - [增强] 规则:支持对查询
ALERTS和ALERTS_FOR_STATE的规则进行并发评估。#17064 - [增强] TSDB:添加日志以提高内部操作的可见性。#17074
- [性能] OTLP:直接写入 TSDB,而不是在接收 OTLP 指标时通过远程写入适配器传递。#16951
- [性能] OTLP:减少 OTLP 端点发出的日志数量。无需记录重复样本错误。#17201
- [性能] PromQL:将更多工作移至预处理步骤。#16896
- [性能] PromQL:减少遍历语法树时的内存分配。#16593
- [性能] TSDB:优化追加器创建,略微加快启动速度。#16922
- [性能] TSDB:改进反向索引查找性能。#13971
- [错误修复] 告警:在
alertmanager_config.alert_relabel_configs块中对告警进行重标签(使用replace操作等)现在作用域正确,不再向后续块传递已更改的告警。#17063 - [错误修复] 配置:当抓取配置验证方案设置时,推断有效的转义方案。#16923
- [错误修复] TSDB:正确处理向同一序列追加混合类型样本。#17071 #17241 #17290 #17295 #17296
- [错误修复] 远程写入:防止通过远程写入 1.0 发送不支持的具有自定义桶的原生直方图(NHCB),记录警告。#17146
- [错误修复] TSDB:修复具有自定义桶的原生直方图在 protobuf 抓取中
metadata-wal-records特性的元数据条目处理。#17156 - [错误修复] TSDB:在 WAL/WBL 重放期间忽略具有无效模式的原生直方图。#17214
- [错误修复] PromQL:避免
histogram_quantile()注释中出现空指标名称。#16794 - [错误修复] PromQL:修复某些聚合表达式中错误的字符位置。#16996 #17031
- [错误修复] PromQL:修复在频繁变动序列上的
info()函数。#17135 - [错误修复] PromQL:当减去或乘以/除以负数因子时,将原生直方图设置为 gauge 类型。#17004
- [错误修复] TSDB:尝试追加到 TSDB 时拒绝不支持的原生直方图模式。对于抓取和远程写入,如果模式在 -9 到 52 范围内,则实现降低分辨率以适应最大值。#17189
- [错误修复] 远程写入:修复 HTTP 处理程序,在写入无效压缩的错误响应后返回。#17050
- [错误修复] 远程写入:对于格式错误的原生直方图,返回 HTTP 错误
400而不是5xx。#17210 - [错误修复] 抓取:防止陈旧标记生成不必要的序列。#16429
- [错误修复] TSDB:在 WAL 清理期间避免误导性的
Failed to calculate size of "wal" dir错误日志。#17006 - [错误修复] TSDB:防止在 WAL 检查点期间错误地丢弃序列记录。#17029
- [错误修复] UI:修复在配置了
-web.route-prefix时重定向到-web.external-url路径的问题。#17240 - [错误修复] 远程写入:不要在远程写入 2.0 中因无效符号表而 panic。#17160
更新内容 (原始)
- [CHANGE] Remote-write: Deprecate
prometheus_remote_storage_{samples,exemplars,histograms}_in_totalandprometheus_remote_storage_highest_timestamp_in_secondsmetrics, see their respective descriptions for alternatives. #17065 - [FEATURE] PromQL: Add support for experimental anchored and smoothed rate behind feature flag
promql-extended-range-selectors. #16457 - [FEATURE] Federation: Add support for native histograms with custom buckets (NHCB). #17215
- [FEATURE] PromQL: Add
first_over_time(...)andts_of_first_over_time(...)behind feature flagexperimental-promql-functions. #16963 #17021 - [FEATURE] Remote-write: Add support for Azure Workload Identity as an authentication method for the receiver. #16788
- [FEATURE] Remote-write: Add type and unit labels to outgoing time series in remote-write 2.0 when the
type-and-unit-labelsfeature flag is enabled. #17033 - [FEATURE] OTLP: Write start time of metrics as created time zero samples into TSDB when
created-timestamp-zero-ingestionfeature flag is enabled. #16951 - [ENHANCEMENT] PromQL: Add warn-level annotations for counter reset conflicts in certain histogram operations. #17051 #17094
- [ENHANCEMENT] UI: Add scrape interval and scrape timeout to targets page. #17158
- [ENHANCEMENT] TSDB: Reduce the resolution of native histograms read from chunks or remote read if the schema is exponential. #17213
- [ENHANCEMENT] Remote write: Add logging for unexpected metadata in sample batches, when metadata entries are found in samples-only batches. #17034 #17082
- [ENHANCEMENT] Remote-write: Add
prometheus_remote_storage_queue_highest_timestamp_secondsmetric, tracking the highest timestamp actually enqueued, takingwrite_relabel_configsinto account. #17065 - [ENHANCEMENT] Mixin: Replace
prometheus_remote_storage_highest_timestamp_in_secondsmetric with the newprometheus_remote_storage_queue_highest_timestamp_secondsmetric in dashboards and alerts to properly account for relabeling, for better accuracy. #17065 - [ENHANCEMENT] Rules: Support concurrent evaluation for rules querying
ALERTSandALERTS_FOR_STATE. #17064 - [ENHANCEMENT] TSDB: Add logs to improve visibility into internal operations. #17074
- [PERF] OTLP: Write directly to TSDB instead of passing through a Remote-Write adapter when receiving OTLP metrics. #16951
- [PERF] OTLP: Reduce number of logs emitted from OTLP endpoint. No need to log duplicate sample errors. #17201
- [PERF] PromQL: Move more work to preprocessing step. #16896
- [PERF] PromQL: Reduce allocations when walking the syntax tree. #16593
- [PERF] TSDB: Optimize appender creation, slightly speeding up startup. #16922
- [PERF] TSDB: Improve reverse index lookup performance. #13971
- [BUGFIX] Alerting: Mutating alerts relabeling (using
replaceactions, etc.) within aalertmanager_config.alert_relabel_configsblock is now scoped correctly and no longer yields altered alerts to subsequent blocks. #17063 - [BUGFIX] Config: Infer valid escaping scheme when scrape config validation scheme is set. #16923
- [BUGFIX] TSDB: Correctly handle appending mixed-typed samples to the same series. #17071 #17241 #17290 #17295 #17296
- [BUGFIX] Remote-write: Prevent sending unsupported native histograms with custom buckets (NHCB) over Remote-write 1.0, log warning. #17146
- [BUGFIX] TSDB: Fix metadata entries handling on
metadata-wal-recordsfeature for Native Histograms with custom buckets in protobuf scraping. #17156 - [BUGFIX] TSDB: Ignore Native Histograms with invalid schemas during WAL/WBL replay. #17214
- [BUGFIX] PromQL: Avoid empty metric names in annotations for
histogram_quantile(). #16794 - [BUGFIX] PromQL: Fix the character position of errors in some aggregate expressions. #16996 #17031
- [BUGFIX] PromQL: Fix
info()function on churning series. #17135 - [BUGFIX] PromQL: Set native histogram to gauge type when subtracting or multiplying/dividing with negative factors. #17004
- [BUGFIX] TSDB: Reject unsupported native histogram schemas when attempting to append to TSDB. For scrape and remote-write implement reducing the resolution to fit the maximum if the schema is within the -9 to 52. #17189
- [BUGFIX] Remote-write: Fix HTTP handler to return after writing error response for invalid compression. #17050
- [BUGFIX] Remote-write: Return HTTP error
400instead of5xxfor wrongly formatted Native Histograms. #17210 - [BUGFIX] Scrape: Prevent staleness markers from generating unnecessary series. #16429
- [BUGFIX] TSDB: Avoid misleading
Failed to calculate size of \"wal\" direrror logs during WAL clean-up. #17006 - [BUGFIX] TSDB: Prevent erroneously dropping series records during WAL checkpoints. #17029
- [BUGFIX] UI: Fix redirect to path of
-web.external-urlif-web.route-prefixis configured. #17240 - [BUGIFX] Remote-write: Do not panic on invalid symbol table in remote-write 2.0. #17160
下载链接
- prometheus-3.7.0-rc.0.darwin-amd64.tar.gz
- prometheus-3.7.0-rc.0.darwin-arm64.tar.gz
- prometheus-3.7.0-rc.0.dragonfly-amd64.tar.gz
- prometheus-3.7.0-rc.0.freebsd-386.tar.gz
- prometheus-3.7.0-rc.0.freebsd-amd64.tar.gz
- prometheus-3.7.0-rc.0.freebsd-arm64.tar.gz
- prometheus-3.7.0-rc.0.freebsd-armv6.tar.gz
- prometheus-3.7.0-rc.0.freebsd-armv7.tar.gz
- prometheus-3.7.0-rc.0.illumos-amd64.tar.gz
- prometheus-3.7.0-rc.0.linux-386.tar.gz
- prometheus-3.7.0-rc.0.linux-amd64.tar.gz
- prometheus-3.7.0-rc.0.linux-arm64.tar.gz
- prometheus-3.7.0-rc.0.linux-armv5.tar.gz
- prometheus-3.7.0-rc.0.linux-armv6.tar.gz
- prometheus-3.7.0-rc.0.linux-armv7.tar.gz
- prometheus-3.7.0-rc.0.linux-mips.tar.gz
- prometheus-3.7.0-rc.0.linux-mips64.tar.gz
- prometheus-3.7.0-rc.0.linux-mips64le.tar.gz
- prometheus-3.7.0-rc.0.linux-mipsle.tar.gz
- prometheus-3.7.0-rc.0.linux-ppc64.tar.gz
- prometheus-3.7.0-rc.0.linux-ppc64le.tar.gz
- prometheus-3.7.0-rc.0.linux-riscv64.tar.gz
- prometheus-3.7.0-rc.0.linux-s390x.tar.gz
- prometheus-3.7.0-rc.0.netbsd-386.tar.gz
- prometheus-3.7.0-rc.0.netbsd-amd64.tar.gz
- prometheus-3.7.0-rc.0.netbsd-arm64.tar.gz
- prometheus-3.7.0-rc.0.netbsd-armv6.tar.gz
- prometheus-3.7.0-rc.0.netbsd-armv7.tar.gz
- prometheus-3.7.0-rc.0.windows-386.tar.gz
- prometheus-3.7.0-rc.0.windows-386.zip
- prometheus-3.7.0-rc.0.windows-amd64.tar.gz
- prometheus-3.7.0-rc.0.windows-amd64.zip
- prometheus-3.7.0-rc.0.windows-arm64.tar.gz
- prometheus-3.7.0-rc.0.windows-arm64.zip
- prometheus-web-ui-3.7.0-rc.0.tar.gz
- sha256sums.txt