prometheus v2.54.0 版本更新介绍
发布日期: 2024-08-09
版本号: v2.54.0
Prometheus 2.54版本发布了远程写入协议2.0的实验性候选版本(默认启用,可通过
web.remote-write-receiver.accepted-protobuf-messages
功能标志禁用)。该版本包含多项重要更新:远程写入新增元数据WAL记录功能(需开启metadata-wal-records
),修复了未来时间戳样本的拒绝逻辑;PromQL引入limitk()
和limit_ratio()
聚合运算符,支持数值字面量下划线分隔(如1_000_000),优化了sum()
的Kahan求和算法,并改进了原生直方图函数性能;TSDB优化了索引查询、删除陈旧序列及锁机制,提升对乱序原生直方图样本的支持;正则表达式实现多前缀/字面量模式优化。此外,修复了远程写入数据损坏、Alertmanager发现更新异常、LabelNames API稳定性等关键问题,并优化了AWS/Docker/OpenStack服务发现机制。部分功能如直方图UI显示、数值与时长互换仍标记为实验性。此版本由Prometheus团队及多位贡献者共同完成。
更新内容 (中文)
详见原始内容
更新内容 (原始)
Release 2.54 brings a release candidate of a major new version of Remote Write: 2.0.
This is experimental at this time and may still change.
Remote-write v2 is enabled by default, but can be disabled via feature-flag web.remote-write-receiver.accepted-protobuf-messages
.
- [CHANGE] Remote-Write:
highest_timestamp_in_seconds
andqueue_highest_sent_timestamp_seconds
metrics now initialized to 0. #14437 - [CHANGE] API: Split warnings from info annotations in API response. #14327
- [FEATURE] Remote-Write: Version 2.0 experimental, plus metadata in WAL via feature flag
metadata-wal-records
(defaults on). #14395,#14427,#14444 - [FEATURE] PromQL: add limitk() and limit_ratio() aggregation operators. #12503
- [ENHANCEMENT] PromQL: Accept underscores in literal numbers, e.g. 1_000_000 for 1 million. #12821
- [ENHANCEMENT] PromQL: float literal numbers and durations are now interchangeable (experimental). Example:
time() - my_timestamp > 10m
. #9138 - [ENHANCEMENT] PromQL: use Kahan summation for sum(). #14074,#14362
- [ENHANCEMENT] PromQL (experimental native histograms): Optimize
histogram_count
andhistogram_sum
functions. #14097 - [ENHANCEMENT] TSDB: Better support for out-of-order experimental native histogram samples. #14438
- [ENHANCEMENT] TSDB: Optimise seek within index. #14393
- [ENHANCEMENT] TSDB: Optimise deletion of stale series. #14307
- [ENHANCEMENT] TSDB: Reduce locking to optimise adding and removing series. #13286,#14286
- [ENHANCEMENT] TSDB: Small optimisation: streamline special handling for out-of-order data. #14396,#14584
- [ENHANCEMENT] Regexps: Optimize patterns with multiple prefixes. #13843,#14368
- [ENHANCEMENT] Regexps: Optimize patterns containing multiple literal strings. #14173
- [ENHANCEMENT] AWS SD: expose Primary IPv6 addresses as __meta_ec2_primary_ipv6_addresses. #14156
- [ENHANCEMENT] Docker SD: add MatchFirstNetwork for containers with multiple networks. #10490
- [ENHANCEMENT] OpenStack SD: Use
flavor.original_name
if available. #14312 - [ENHANCEMENT] UI (experimental native histograms): more accurate representation. #13680,#14430
- [ENHANCEMENT] Agent:
out_of_order_time_window
config option now applies to agent. #14094 - [ENHANCEMENT] Notifier: Send any outstanding Alertmanager notifications when shutting down. #14290
- [ENHANCEMENT] Rules: Add label-matcher support to Rules API. #10194
- [ENHANCEMENT] HTTP API: Add url to message logged on error while sending response. #14209
- [BUGFIX] CLI: escape
|
characters when generating docs. #14420 - [BUGFIX] PromQL (experimental native histograms): Fix some binary operators between native histogram values. #14454
- [BUGFIX] TSDB: LabelNames API could fail during compaction. #14279
- [BUGFIX] TSDB: Fix rare issue where pending OOO read can be left dangling if creating querier fails. #14341
- [BUGFIX] TSDB: fix check for context cancellation in LabelNamesFor. #14302
- [BUGFIX] Rules: Fix rare panic on reload. #14366
- [BUGFIX] Config: In YAML marshalling, do not output a regexp field if it was never set. #14004
- [BUGFIX] Remote-Write: reject samples with future timestamps. #14304
- [BUGFIX] Remote-Write: Fix data corruption in remote write if max_sample_age is applied. #14078
- [BUGFIX] Notifier: Fix Alertmanager discovery not updating under heavy load. #14174
- [BUGFIX] Regexes: some Unicode characters were not matched by case-insensitive comparison. #14170,#14299
- [BUGFIX] Remote-Read: Resolve occasional segmentation fault on query. #14515
Many thanks to the Prometheus Team and contributors:
@zenador
@jjo
@rexagod
@darshanime
@charleskorn
@fpetkovski
@carrieedwards
@colega
@pracucci
@akunszt
@DrAuYueng
@paulojmdias
@Maniktherana
@rabenhorst
@saswatamcode
@B1F030
@yeya24
@rapphil
@liam-howe-maersk
@jkroepke
@FUSAKLA
@Ranveer777
下载链接
- prometheus-2.54.0.darwin-amd64.tar.gz
- prometheus-2.54.0.darwin-arm64.tar.gz
- prometheus-2.54.0.dragonfly-amd64.tar.gz
- prometheus-2.54.0.freebsd-386.tar.gz
- prometheus-2.54.0.freebsd-amd64.tar.gz
- prometheus-2.54.0.freebsd-arm64.tar.gz
- prometheus-2.54.0.freebsd-armv6.tar.gz
- prometheus-2.54.0.freebsd-armv7.tar.gz
- prometheus-2.54.0.illumos-amd64.tar.gz
- prometheus-2.54.0.linux-386.tar.gz
- prometheus-2.54.0.linux-amd64.tar.gz
- prometheus-2.54.0.linux-arm64.tar.gz
- prometheus-2.54.0.linux-armv5.tar.gz
- prometheus-2.54.0.linux-armv6.tar.gz
- prometheus-2.54.0.linux-armv7.tar.gz
- prometheus-2.54.0.linux-mips.tar.gz
- prometheus-2.54.0.linux-mips64.tar.gz
- prometheus-2.54.0.linux-mips64le.tar.gz
- prometheus-2.54.0.linux-mipsle.tar.gz
- prometheus-2.54.0.linux-ppc64.tar.gz
- prometheus-2.54.0.linux-ppc64le.tar.gz
- prometheus-2.54.0.linux-riscv64.tar.gz
- prometheus-2.54.0.linux-s390x.tar.gz
- prometheus-2.54.0.netbsd-386.tar.gz
- prometheus-2.54.0.netbsd-amd64.tar.gz
- prometheus-2.54.0.netbsd-arm64.tar.gz
- prometheus-2.54.0.netbsd-armv6.tar.gz
- prometheus-2.54.0.netbsd-armv7.tar.gz
- prometheus-2.54.0.windows-386.tar.gz
- prometheus-2.54.0.windows-386.zip
- prometheus-2.54.0.windows-amd64.tar.gz
- prometheus-2.54.0.windows-amd64.zip
- prometheus-2.54.0.windows-arm64.tar.gz
- prometheus-2.54.0.windows-arm64.zip
- prometheus-web-ui-2.54.0.tar.gz
- sha256sums.txt