prometheus v3.1.0-rc.1 版本更新介绍
发布日期: 2024-12-30
版本号: v3.1.0-rc.1
自RC.0版本以来,修复了可能导致程序退出时段错误的漏洞(#15724),并允许OTLP接收器在非标准单位中使用冒号(#15710)。RC.0版本包含以下更新:安全方面升级了golang.org/x/crypto以解决CVE-2024-45337漏洞(#15691);变更通知系统调整为按受影响告警数量统计错误指标(#15428),API规则列表字段重命名(#15400);功能增强包括优化OTLP元数据保留(#15448)、规则分组分页加载(#15677)、标签存储空间计算(#13880)、新增规则耗时指标(#15672)、导出互斥锁等待指标(#15339)、支持随机DNS解析(#15329);性能优化涉及正则匹配(#15474)、TSDB符号缓存(#15455)、内存分配优化(#15465)、逆匹配算法(#14144)等17项改进;错误修复涵盖规则并发执行(#15560)、抓取崩溃(#15563)、远程写入日志异常(#15562)、直方图配置加载(#15489)、元数据转换(#15416)、PromQL函数对直方图的处理(#15527)等21项问题,涉及数据一致性、指标解析、UI显示异常等多个方面。
更新内容 (中文)
自 RC.0 起:
- [BUGFIX] 避免退出时可能出现的段错误 (#15724)
- [BUGFIX] OTLP接收器:允许在非标准单位中使用冒号。#15710
包含于 RC.0:
- [SECURITY] 升级 golang.org/x/crypto 以解决报告的 CVE-2024-45337。#15691
- [CHANGE] 通知器:按受影响警报的数量递增 prometheus_notifications_errors_total,而非每批次递增。#15428
- [CHANGE] API:将规则列表字段 "groupNextToken:omitempty" 重命名为 "groupNextToken"。#15400
- [ENHANCEMENT] OTLP翻译:在 target_info 中保留标识属性。#15448
- [ENHANCEMENT] 分页规则组,为组内规则添加无限滚动功能。#15677
- [ENHANCEMENT] TSDB:改进标签空间占用的计算方式。#13880
- [ENHANCEMENT] 规则:新增指标 rule_group_last_rule_duration_sum_seconds。#15672
- [ENHANCEMENT] 可观测性:导出 ‘go_sync_mutex_wait_total_seconds_total’ 指标。#15339
- [ENHANCEMEN] 远程写入:可选使用随机IP的DNS解析器。#15329
- [PERF] 优化
l=~\".+\"
匹配器。#15474, #15684 - [PERF] TSDB:为压缩操作缓存所有符号。#15455
- [PERF] TSDB:MemPostings 保留标签值切片的映射。#15426
- [PERF] TSDB:减少内存分配次数。#15465, #15427
- [PERF] TSDB:优化反向匹配。#14144
- [PERF] TSDB:删除postings索引时暂停解锁以允许读取操作。#15242
- [PERF] 抓取:优化使用自定义分桶的实验性原生直方图的字符串操作。#15453
- [PERF] 存储:在 mergeGenericQuerier 中实现限制。#14489
- [PERF] 正则表达式:使用栈内存进行字符串小写转换。#15210
- [PERF] 远程写入:移除 interning hook。#15456
- [BUGFIX] 规则:在依赖关系不确定时不并发执行规则。#15560
- [BUGFIX] 抓取:修复重新加载抓取循环后的空指针panic。#15563
- [BUGFIX] 远程写入:修复重复日志消息导致的panic。#15562
- [BUGFIX] 抓取:重新加载时忽略 always_scrape_classic_histograms 和 convert_classic_histograms_to_nhcb 配置。#15489
- [BUGFIX] TSDB:修复实验性原生直方图的数据损坏问题。#15482
- [BUGFIX] OTLP接收器:转换元数据指标。#15416
- [BUGFIX] 允许在openmetrics文本格式中使用带引号的样本键。#15260
- [BUGFIX] PromQL:
round()
函数未移除__name__
标签。#15250 - [BUGFIX] PromQL:修复涉及UTF-8字符引用的多个问题。#15531
- [BUGFIX] PromQL:修复直方图的
resets
函数。#15527 - [BUGFIX] PromQL:修复
changes()
在混合直方图和浮点数时的行为。#15469 - [BUGFIX] PromQL:修复部分聚合操作对直方图的处理。#15432
- [BUGFIX] PromQL:修复直方图的
count_values
函数。#15422 - [BUGFIX] PromQL:修复带
bool
修饰符的比较二元操作与原生直方图的兼容性问题。#15413 - [BUGFIX] PromQL:修正"原生直方图在聚合中被忽略"的错误标注。#15414
- [BUGFIX] PromQL:修正部分运算符和聚合器对原生直方图的行为。#15245
- [BUGFIX] PromQL:Clamp函数:忽略包含原生直方图的数据点。#15169
- [BUGFIX] PromQL:在所有时间相关函数中忽略直方图。#15479
- [BUGFIX] Promtool:分析块显示指标名称的基数为0。#15438
- [BUGFIX] TSDB:修复加载写前日志(WBL)时的罕见情况。#15380
- [BUGFIX] TSDB:始终为非计量直方图块中的第一个样本返回未知提示。#15343
- [BUGFIX] TSDB:修复 headAppender 中陈旧值的竞态问题。#15322
- [BUGFIX] UI:修复空指标名称的选择器/序列格式化问题。#15340
更新内容 (原始)
Since RC.0:
- [BUGFIX] avoid possible segfault at exit. (#15724)
- [BUGFIX] OTLP receiver: Allow colons in non-standard units. #15710
Included in RC.0:
- [SECURITY] upgrade golang.org/x/crypto to address reported CVE-2024-45337. #15691
- [CHANGE] Notifier: Increment prometheus_notifications_errors_total by the number of affected alerts rather than per batch. #15428
- [CHANGE] API: list rules field “groupNextToken:omitempty” renamed to “groupNextToken”. #15400
- [ENHANCEMENT] OTLP translate: keep identifying attributes in target_info. #15448
- [ENHANCEMENT] Paginate rule groups, add infinite scroll to rules within groups. #15677
- [ENHANCEMENT] TSDB: Improve calculation of space used by labels. #13880
- [ENHANCEMENT] Rules: new metric rule_group_last_rule_duration_sum_seconds. #15672
- [ENHANCEMENT] Observability: Export ‘go_sync_mutex_wait_total_seconds_total’ metric. #15339
- [ENHANCEMEN] Remote-Write: optionally use a DNS resolver that picks a random IP. #15329
- [PERF] Optimize
l=~".+"
matcher. #15474, #15684 - [PERF] TSDB: Cache all symbols for compaction . #15455
- [PERF] TSDB: MemPostings: keep a map of label values slices. #15426
- [PERF] TSDB: reduce memory allocations. #15465, #15427
- [PERF] TSDB: Optimize inverse matching. #14144
- [PERF] TSDB: When deleting from postings index, pause to unlock and let readers read. #15242
- [PERF] Scrape: optimize string manipulation for experimental native histograms with custom buckets. #15453
- [PERF] Storage: Implement limit in mergeGenericQuerier. #14489
- [PERF] Regex: use stack memory for lowercase copy of string. #15210
- [PERF] Remote-Write: Remove interning hook. #15456
- [BUGFIX] Rules: Do not run rules concurrently if uncertain about dependencies. #15560
- [BUGFIX] Scrape: fix nil panic after scrape loop reload. #15563
- [BUGFIX] Remote-write: fix panic on repeated log message. #15562
- [BUGFIX] Scrape: reload would ignore always_scrape_classic_histograms and convert_classic_histograms_to_nhcb configs. #15489
- [BUGFIX] TSDB: fix data corruption in experimental native histograms. #15482
- [BUGFIX] OTLP receiver: Convert metric metadata. #15416
- [BUGFIX] allow quoted exemplar keys in openmetrics text format. #15260
- [BUGFIX] PromQL:
round()
function did not remove__name__
label. #15250 - [BUGFIX] PromQL: Fix various bugs related to quoting UTF-8 characters. #15531
- [BUGFIX] PromQL: Fix
resets
function for histograms. #15527 - [BUGFIX] PromQL: Fix behaviour of
changes()
for mix of histograms and floats. #15469 - [BUGFIX] PromQL: Fix behaviour of some aggregations with histograms. #15432
- [BUGFIX] PromQL: Fix
count_values
for histograms. #15422 - [BUGFIX] PromQL: fix issues with comparison binary operations with
bool
modifier and native histograms. #15413 - [BUGFIX] PromQL: fix incorrect “native histogram ignored in aggregation” annotations. #15414
- [BUGFIX] PromQL: Corrects the behaviour of some operator and aggregators with Native Histograms. #15245
- [BUGFIX] PromQL: Clamp functions: Ignore any points with native histograms. #15169
- [BUGFIX] PromQL: Ignore histograms in all time related functions. #15479
- [BUGFIX] Promtool: analyze block shows metric name with 0 cardinality. #15438
- [BUGFIX] TSDB: fixes for rare conditions when loading write-behind-log (WBL). #15380
- [BUGFIX] TSDB: Always return unknown hint for first sample in non-gauge histogram chunk. #15343
- [BUGFIX] TSDB: Fix race on stale values in headAppender. #15322
- [BUGFIX] UI: Fix selector / series formatting for empty metric names. #15340
下载链接
- prometheus-3.1.0-rc.1.darwin-amd64.tar.gz
- prometheus-3.1.0-rc.1.darwin-arm64.tar.gz
- prometheus-3.1.0-rc.1.dragonfly-amd64.tar.gz
- prometheus-3.1.0-rc.1.freebsd-386.tar.gz
- prometheus-3.1.0-rc.1.freebsd-amd64.tar.gz
- prometheus-3.1.0-rc.1.freebsd-arm64.tar.gz
- prometheus-3.1.0-rc.1.freebsd-armv6.tar.gz
- prometheus-3.1.0-rc.1.freebsd-armv7.tar.gz
- prometheus-3.1.0-rc.1.illumos-amd64.tar.gz
- prometheus-3.1.0-rc.1.linux-386.tar.gz
- prometheus-3.1.0-rc.1.linux-amd64.tar.gz
- prometheus-3.1.0-rc.1.linux-arm64.tar.gz
- prometheus-3.1.0-rc.1.linux-armv5.tar.gz
- prometheus-3.1.0-rc.1.linux-armv6.tar.gz
- prometheus-3.1.0-rc.1.linux-armv7.tar.gz
- prometheus-3.1.0-rc.1.linux-mips.tar.gz
- prometheus-3.1.0-rc.1.linux-mips64.tar.gz
- prometheus-3.1.0-rc.1.linux-mips64le.tar.gz
- prometheus-3.1.0-rc.1.linux-mipsle.tar.gz
- prometheus-3.1.0-rc.1.linux-ppc64.tar.gz
- prometheus-3.1.0-rc.1.linux-ppc64le.tar.gz
- prometheus-3.1.0-rc.1.linux-riscv64.tar.gz
- prometheus-3.1.0-rc.1.linux-s390x.tar.gz
- prometheus-3.1.0-rc.1.netbsd-386.tar.gz
- prometheus-3.1.0-rc.1.netbsd-amd64.tar.gz
- prometheus-3.1.0-rc.1.netbsd-arm64.tar.gz
- prometheus-3.1.0-rc.1.netbsd-armv6.tar.gz
- prometheus-3.1.0-rc.1.netbsd-armv7.tar.gz
- prometheus-3.1.0-rc.1.windows-386.tar.gz
- prometheus-3.1.0-rc.1.windows-386.zip
- prometheus-3.1.0-rc.1.windows-amd64.tar.gz
- prometheus-3.1.0-rc.1.windows-amd64.zip
- prometheus-3.1.0-rc.1.windows-arm64.tar.gz
- prometheus-3.1.0-rc.1.windows-arm64.zip
- prometheus-web-ui-3.1.0-rc.1.tar.gz
- sha256sums.txt