Erdong’ Blog

苦练七十二变,笑对八十一难。

0%

Prometheus 2.33.0 新特性

Prometheus 2.33.0 现在(2022.01.29)已经发布,在上个月的 2.32.0 之后又进行了很多的修复和改进。

这次更新新增了很多的特性,并且修复一些 BUG 。

PromQL & Promtool

这次的更新 PromQL 查询语句中为了稳定性,增加了负方向的便宜和 @ 的修饰。在 Promtool 工具中新增了通过基数分析来检查指标的功能,这个功能需要使用 --extended 参数来开启。另外 Promtool 工具修复了 2 个 BUG,一个是统一执行后的退出码,另外一个是修复检测 rule 规则的一个漏洞。

Web

针对 Web 这块这次将 remote-write-receiver 升级的了稳定状态。
Web 这次新增了一个功能,在 rule 规则 API 中添加了一个限制字段,可以限制返回的最大指标数量,防止大查询违反服务器端 URL 字符限制。

UI

这次针对 UI 界面有 2 点优化,第一个是在服务发现页面增加了搜索栏,第二额是在 Target 页面增加了搜索栏,这样就可以进行搜索了。

另外 这次修复了 3 个 BUG 。第一个是当表达式为空的时候自动补全的问题,第二个是在 Target 页面的不健康状态的过滤器,实际上只显示不健康的 Target 。第三个是修复了告警状态复选框上点击目标重叠的问题。

TSDB

对于时序数据库,这次修复 3 个 BUG,并且进行了 4 处优化。

首先使用更简单的映射键来提高范例摄取性能,其次提高了 label 的匹配性能,第三是使 chunk 写入的时候不阻塞,避免远程写入中的延迟峰值。

时序数据库修复了 GC 和写入同时发生的死锁问题,修复了范例日志存储的容量大小问题,修复了压缩块元数据应该在重叠块产生正确的最大最小值。

Remote-write

远程写这次优化了通过具体结构而不是接口来避免分配,而且优化了记录远程写入接收器中无序样本的时间序列细节日志,并且当积压时更多地分片。

这次修复了当写不可恢复失败时更新prometheus_remote_storage_queue_highest_sent_timestamp_seconds 这个指标的值。

SD

服务发现这次新增了 2 个功能点,一个是在 K8s 的命名空间中支持开启 Target 的发现。另外是 K8s 的服务发现提供了 label 的 ID。

Other

在 Config 中增加了 stripPort 的模板功能。

后续

在 2.33.1 中修复了 1 个 BUG:
在 K8s 的服务发现中,修复了当没有运行在 K8s 里的时候出现的 no such file or directory 问题。

在 2.33.2 修复了 2 个 BUG:
Azure 的服务发现中修复了 IP 地址未设置的问题。
远程写中修复了停止分片时的死锁问题。

在 2.33.3 中修复了 1 个 BUG:
Azure 的服务发现中修复了公共 IP 地址未设置时的回归问题。

在 2.33.4 中修复了 1 个 BUG:
时序数据库修复 m-mapping head 块到磁盘的问题。

在 2.33.5 中修复了 1 个 BUG:
与本版本一起发布的二进制文件是使用 Go1.17.8 构建的,以避免 CVE-2022-24921 的安全问题。另外远程写修复添加队列和获取批处理之间的死锁。

这大概是目前 Prometheus 版本里发小版本数量最多的一次,出到了第 5 个版本,共计修复了 6 个功能 BUG,1 个安全 BUG。

详细的发行注记可以查看 release notes

参考链接

======================
由于无法及时收到评论内容,所以关闭评论功能。
大家有问题欢迎发邮件到 erdong@mail.erdong.site ,或者 https://github.com/erdong/erdong.github.io/issues 提 Issue ,我会及时回复。

======================
Erdong, A Linux user !

微信公众号

坚持原创技术分享, 您的支持将鼓励我继续创作!