作者 | Matt Saunders
译者 | 王强
策划 | Tina
流行的开源监控系统 Prometheus 的 3.0 版已发布,这是该工具七年来的首次重大更新。新版添加了多种新特性,还有一些旨在增强用户体验和简化工作流程的改进。
完全改版的用户界面是 Prometheus 3.0 中最显著的变化之一。重新设计的 UI 旨在消除混乱,并基于较新的底层技术栈(Mantine UI)以适应未来。它有 PromLens 风格的树形视图,可实现更直接的导航,更好的指标资源管理器,以及指标搜索结果上的“解释”选项卡,也可以提供行为洞察。目前,旧 UI 仍可通过一个特性标志访问,但团队建议用户切换到新 UI 以获得更好的体验。
在 Better Stack YouTube 频道上的一段 视频 中,James Shopland 解释了 PromQL 高亮显示现在如何在群组页面之外使用,而以前 Prometheus 只会显示相应的代码片段 YAML。新 UI 还允许用户将 PromQL 查询可视化为子表达式树,并将鼠标悬停在查询的各个部分上来查看指标结果,这是从 Prometheus 的 PromLens 查询生成器中引用的特性。
Shopland 解释了用户现在如何深入研究指标并查看新的上下文信息,他说:
“与 2.0 相比,这是一个巨大的升级;以前当你单击时,你只能看到指标列表本身,没有任何信息。” —— James Shopland
在 OpenObservability Talks YouTube 频道上的一段 视频 中,Dotan Horovits 和 Julius Volz 讨论了通过统一 Prometheus 组件之间的 UI 体验(尤其是主 Prometheus UI 和 Alert Manager 之间的 UI 体验)来改进 Prometheus 中的 UI 和 UX 的更广泛计划。目前,它们有着不同的外观和技术基础,Alert Manager 使用 Elm,而新的 Prometheus UI 使用 React。大家有一个共同的愿景,即使用与新的 Prometheus UI 相同的框架和样式来重建 Alert Manager UI,但由于该项目的志愿者驱动性质,这一工作尚未实现。演讲者解释说,这是前端开发人员为项目做出贡献的机会。
除了 UI 之外,Prometheus 3.0 还增加了几个特性来支持他们最近对 OpenTelemetry 的承诺。其中包括 OTLP Ingestion,让 Prometheus 现在可以使用 OpenTelemetry Metrics Protocol(OTLP)原生且直接地接收指标,而 UTF-8 规范化允许用户存储和查询 OpenTelemetry 指标,而不会遇到指标名称中点自动转换为下划线等问题。
其他新特性包括:
Remote Write 2.0:Remote Write 允许 Prometheus 实例主动将其收集或接收的指标发送到其他实例。该协议的第 2 版提供了增强的特性,例如对元数据、示例、时间戳和直方图的原生支持。在 Kubecon NA 2024 的深入探讨中,Richard Hartman 和 Josh Abreu 解释了 Remote Write 2.0 如何使用字符串驻留和符号表技术来优化数据传输,从而将网络消息量减少 60%,将内存分配量减少 90%,将 CPU 利用率降低 70%。
原生直方图:这个实验特性引入了一种新的指标类型,提供了一种比传统直方图更高效、更经济的替代方案。虽然仍在开发中,但原生直方图有望简化数据管理。在上述深入探讨中,Hartman 和 Abreu 解释了原生直方图如何提供比传统直方图更高分辨率的数据,并且效率更高,实现所需的心智开销更少。它们可以揭示以前隐藏的模式,无需预先定义完美的存储桶边界。
UTF-8 支持:默认情况下,Prometheus 3.0 允许在指标和标签名称中使用所有有效的 UTF-8 字符,从而提供更大的灵活性并消除了手动编码的需要。Julius Volz 在 BlueSky 上撰文,敦促大家谨慎对待后一点,强调了转义 UTF-8 字符的重要性。
值得注意的是,Prometheus 3.0 引入了一些重大更改,主要集中在管理和精简方面。这些变化包括删除一些已弃用的特性标志,并需要调整一些配置文件、PromQL 语法和抓取协议。Prometheus 团队建议用户查看迁移指南,以确保升级过程顺利进行,并找出用户特有设置所需的那些潜在调整。该公告建议用户仔细遵循推荐的升级路径。建议用户在过渡到 v3.0 之前升级到 Prometheus 2.x 的 v2.55。还需要注意的是,从 v3.0 回滚只能到 v2.55,而不能回滚到更早的版本。
Prometheus 未来的进一步变化将增加对 Delta 时间性的支持(允许仅发送更改的计数器值而不是总数值)和其他一些更改。Prometheus 3.0 现已可供下载,这篇博文最后引用了 Prometheus 官方博客文章和文档,以获取有关新特性、重大更改和升级说明的细节。
Prometheus 3.0 Brings New UI, OpenTelemetry Support and More(https://www.infoq.com/news/2024/12/prometheus-3/)
声明:本文为 InfoQ 翻译,未经许可禁止转载。
热门跟贴