Prometheus 2.29.0 现在(2021.08.11)已经发布,在上个月的 [2.28.0] 之后又进行了很多的修复和改进。
这次感觉更新了很多内容。
macOS用户需要注意一下: 由于即将发布的 Go 1.17的变化,这是支持macOS 10.12 Sierra 的最后一个 Prometheus 版本。
Prometheus 的 --storage.tsdb.allow-overlapping-blocks
和 --storage.tsdb.retention.size
的 tag 从 experimental 变成了 stable,
对于服务发现,这次新增了 Kuma 的服务发现,另外 GCE 的服务发现新增了 一个 __meta_gce_interface_ipv4_<name>
的 元数据 label,EC2 的服务发现新增了一个 __meta_ec2_availability_zone_id
元数据 label ,Azure 服务发现新增了一个 __meta_azure_machine_computer_name
元数据 label ,Hetzner 服务发现新增了一个 __meta_hetzner_hcloud_labelpresent_<labelname>
元数据 label 。
PromQL 增加了 present_over_time
函数功能。
Prometheus 允许通过文件配置示例存储,并使其可重新加载。这次更新提高了 write-ahead-log 的解码性能。另外 Prometheus 通过减少互斥锁的使用来提高 TSDB 的追加性能。允许配置 max_samples_per_send
用于远程写元数据。
对于 UI 方面,这次更新以后允许鼠标拖动选择时间范围,在 flags 页面中添加排序和过滤功能,另外优化提高了警报页面的呈现性能。
另外 Promtool 工具这次也更新了一些功能,首先新增了一个 --enable-feature
用来添加一些特性。其次支持添加 file_sd 文件验证。另外优化了 promtool tsdb分析报告的压缩效率。允许通过 --max-block-duration
标志配置最大阻塞持续时间
接下来是一个 BUG 修复,Prometheus 当总的 symbol 大小超过 2^32 bytes 时会导致压缩失败,并跳过压缩并且记录日志。
修正 target_limit
重新加载 0 值的错误。
修复了 head GC 和 pending reader 竞争条件。
修复了 OpenMetrics 解析器中的时间戳处理问题。
修复指定多个匹配器时 /federate
端点中可能存在的重复指标
修复服务器配置和通过客户端证书验证的验证
详细的发行注记可以查看 release notes 。
参考链接
- https://github.com/prometheus/prometheus/releases/tag/v2.29.0 ,By prombot of GitHub