发布日期: 2025-12-23
版本号: v3.9.0-rc.0

在Prometheus 3.9版本中,Native Histograms不再是实验性功能,相关功能标志已失效,现在需通过配置选项scrape_native_histograms来启用该功能以收集样本。版本还引入了多项更新,包括API新增最大统计集限制和/api/v1/features端点,Promtool增加单元测试字段和系列JSON输出选项,以及UI支持查询面板复制。增强功能涵盖TSDB块重新加载间隔配置、Scraping对经典protobuf格式的简化、PromQL和规则中原生直方图对摘要的补充,还有通知延迟直方图和远程写入AzureAD认证支持。性能优化涉及TSDB postings索引、Scraping重标记和PromQL二元操作符的改进。此外,修复了UI自动补全、查询编辑器建议、PromQL表达式错误处理、直方图操作、远程读写验证等多个问题,提升了整体稳定性和效率。

更新内容 (中文)

注意: 在3.9版本中,原生直方图不再是实验性功能,功能标志 native-histogram 不再生效。您现在必须启用配置设置 scrape_native_histogram 才能从导出器收集原生直方图样本。

  • [变更] 原生直方图不再是实验性功能!功能标志 native-histogram 现为空操作。请改用 scrape_native_histograms 配置选项。#17528
  • [变更] API:为TSDB状态端点添加10,000组统计数据的最大限制。#17647
  • [特性] API:添加 /api/v1/features 端点,供客户端了解支持的功能。#17427
  • [特性] Promtool:为单元测试添加 start_timestamp 字段。#17636
  • [特性] Promtool:为 tsdb dump 添加 --format seriesjson 选项,以JSON格式仅输出序列标签。#13409
  • [特性] 添加 --storage.tsdb.delay-compact-file.path 标志,以更好地与Thanos互操作。#17435
  • [特性] UI:在查询下拉菜单中添加复制该查询面板的选项。#17714
  • [增强] TSDB:添加 --storage.tsdb.block-reload-interval 标志以配置TSDB块重载间隔。#16728
  • [增强] UI:添加图表选项,使图表的Y轴从零开始。#17565
  • [增强] 采集:经典protobuf格式不再要求指标名称中包含单位。#16834
  • [增强] PromQL、规则、服务发现、采集:添加原生直方图以补充现有的摘要。#17374
  • [增强] 通知:添加直方图 prometheus_notifications_latency_histogram_seconds 以补充现有的摘要。#16637
  • [增强] 远程写入:为AzureAD认证添加自定义作用域支持。#17483
  • [增强] 服务发现:为大多数 prometheus_sd_refresh 指标添加包含作业名称的 config 标签。#17138
  • [增强] TSDB:新增直方图 prometheus_tsdb_sample_ooo_delta,用于统计乱序样本的时间分布(秒)。对所有样本(无论是否被接受)进行采集。#17477
  • [增强] 远程读取:验证通过远程读取接收的直方图。#17561
  • [性能] TSDB:对倒排索引进行小优化。#17439
  • [性能] 采集:加速序列的重标记。#17530
  • [性能] PromQL:对二元运算符进行小优化。#17524, #17519。
  • [缺陷修复] UI:PromQL自动补全现在能为样本以 _total 结尾的OpenMetrics计数器显示正确的类型和帮助文本。#17682
  • [缺陷修复] UI:修复codemirror-promql在向量选择器的右花括号后错误显示标签补全建议的问题。#17602
  • [缺陷修复] UI:查询编辑器不再在数字后已有时间单位时建议该单位。#17605
  • [缺陷修复] PromQL:修复启用实验性延迟名称移除时,某些 “vector cannot contain metrics with the same labelset” 错误。#17678
  • [缺陷修复] PromQL:修复当查询包含空的 ignoring() 和非空分组时,可能损坏PromQL文本的问题。#17643
  • [缺陷修复] PromQL:修复对于锚定选择器,当所有样本都在范围外时,reset/change 返回空结果的问题。#17479
  • [缺陷修复] PromQL:更一致地检查过滤二元运算符中的多对一匹配。#17668
  • [缺陷修复] PromQL:修复一元取反与非重叠序列碰撞的问题。#17708
  • [缺陷修复] PromQL:修复 label_joinlabel_replace 与非重叠序列碰撞的问题。#17703
  • [缺陷修复] PromQL:修复启用实验性延迟名称移除时,包含 OR 表达式的查询结果不一致的问题。#17161
  • [缺陷修复] PromQL:确保直方图的 rate/increase/delta 产生仪表盘直方图。#17608
  • [缺陷修复] PromQL:在迭代无效直方图时不再发生panic。#17559
  • [缺陷修复] TSDB:拒绝编码块长度溢出int类型的块文件。#17533
  • [缺陷修复] TSDB:在降低无效直方图的精度时不再发生panic。#17561
  • [缺陷修复] 远程写入接收端:启用实验性类型和单位标签功能时,避免重复标签。#17546
  • [缺陷修复] OTLP接收端:仅在启用实验性元数据WAL记录功能时才将元数据写入磁盘。#17472

更新内容 (原始)

Note: In version 3.9, Native Histograms is no longer experimental, and the feature flag native-histogram has no effect. You must now turn on the config setting scrape_native_histogram to collect Native Histogram samples from exporters.

  • [CHANGE] Native Histograms are no longer experimental! Make the native-histogram feature flag a no-op. Use scrape_native_histograms config option instead. #17528
  • [CHANGE] API: Add maximum limit of 10,000 sets of statistics to TSDB status endpoint. #17647
  • [FEATURE] API: Add /api/v1/features for clients to understand which features are supported. #17427
  • [FEATURE] Promtool: Add start_timestamp field for unit tests. #17636
  • [FEATURE] Promtool: Add --format seriesjson option to tsdb dump to output just series labels in JSON format. #13409
  • [FEATURE] Add --storage.tsdb.delay-compact-file.path flag for better interoperability with Thanos. #17435
  • [FEATURE] UI: Add an option on the query drop-down menu to duplicate that query panel. #17714
  • [ENHANCEMENT]: TSDB: add flag --storage.tsdb.block-reload-interval to configure TSDB Block Reload Interval. #16728
  • [ENHANCEMENT] UI: Add graph option to start the chart’s Y axis at zero. #17565
  • [ENHANCEMENT] Scraping: Classic protobuf format no longer requires the unit in the metric name. #16834
  • [ENHANCEMENT] PromQL, Rules, SD, Scraping: Add native histograms to complement existing summaries. #17374
  • [ENHANCEMENT] Notifications: Add a histogram prometheus_notifications_latency_histogram_seconds to complement the existing summary. #16637
  • [ENHANCEMENT] Remote-write: Add custom scope support for AzureAD authentication. #17483
  • [ENHANCEMENT] SD: add a config label with job name for most prometheus_sd_refresh metrics. #17138
  • [ENHANCEMENT] TSDB: New histogram prometheus_tsdb_sample_ooo_delta, the distribution of out-of-order samples in seconds. Collected for all samples, accepted or not. #17477
  • [ENHANCEMENT] Remote-read: Validate histograms received via remote-read. #17561
  • [PERF] TSDB: Small optimizations to postings index. #17439
  • [PERF] Scraping: Speed up relabelling of series. #17530
  • [PERF] PromQL: Small optimisations in binary operators. #17524, #17519.
  • [BUGFIX] UI: PromQL autocomplete now shows the correct type and HELP text for OpenMetrics counters whose samples end in _total. #17682
  • [BUGFIX] UI: Fixed codemirror-promql incorrectly showing label completion suggestions after the closing curly brace of a vector selector. #17602
  • [BUGFIX] UI: Query editor no longer suggests a duration unit if one is already present after a number. #17605
  • [BUGFIX] PromQL: Fix some “vector cannot contain metrics with the same labelset” errors when experimental delayed name removal is enabled. #17678
  • [BUGFIX] PromQL: Fix possible corruption of PromQL text if the query had an empty ignoring() and non-empty grouping. #17643
  • [BUGFIX] PromQL: Fix resets/changes to return empty results for anchored selectors when all samples are outside the range. #17479
  • [BUGFIX] PromQL: Check more consistently for many-to-one matching in filter binary operators. #17668
  • [BUGFIX] PromQL: Fix collision in unary negation with non-overlapping series. #17708
  • [BUGFIX] PromQL: Fix collision in label_join and label_replace with non-overlapping series. #17703
  • [BUGFIX] PromQL: Fix bug with inconsistent results for queries with OR expression when experimental delayed name removal is enabled. #17161
  • [BUGFIX] PromQL: Ensure that rate/increase/delta of histograms results in a gauge histogram. #17608
  • [BUGFIX] PromQL: Do not panic while iterating over invalid histograms. #17559
  • [BUGFIX] TSDB: Reject chunk files whose encoded chunk length overflows int. #17533
  • [BUGFIX] TSDB: Do not panic during resolution reduction of invalid histograms. #17561
  • [BUGFIX] Remote-write Receive: Avoid duplicate labels when experimental type-and-unit-label feature is enabled. #17546
  • [BUGFIX] OTLP Receiver: Only write metadata to disk when experimental metadata-wal-records feature is enabled. #17472

下载链接