2025年7月14日,Prometheus 官方发布了 v3.5.0 版本,该版本作为一个长期支持(LTS)版本,聚焦于稳定性和性能的提升,同时引入了多项创新功能和增强,进一步强化了其在监控领域的领导地位。本文将对 Prometheus v3.5.0 版本进行深入解读,全面梳理其新增特性、优化改进以及修复的关键 bug,帮助广大用户和运维人员快速掌握本次版本的变化与升级价值。
Prometheus 一直是云原生和容器监控的首选开源方案,随着应用架构的复杂度和规模不断升级,如何保证监控系统的稳定性、性能和易用性成为重中之重。本次的 v3.5.0 版本不仅是社区的长周期支持版本(LTS),意味着该版本将获得更长时间的维护和安全补丁支持,也是在功能与性能上一次重要的里程碑。
官方文档中指出,v3.5.0 兼顾了新功能开发与已有功能的兼容性,确保没有已知的破坏性变更,为企业级用户的升级提供了坚实保障。
本版本在 PromQL(Prometheus Query Language)引入了实验性质和单位的元数据标签,作为实验特性由“type-and-unit-labels”特性标记控制。通过此功能,用户可以对指标增加类型和单位的注解,提升数据查询和展示的一致性,有助于多维度指标分析。例如,可以区分不同类型的计数器、延迟指标和比率。此举极大增强了查询的语义表达能力。
新增了 ts_of_min_over_time、ts_of_max_over_time 和 ts_of_last_over_time 等时间戳查询函数,以实验特性“experimental-promql-functions”启用。这些新函数让用户能直接查询时间序列中最小值、最大值或最后一次出现时间的具体时间戳,扩展了 PromQL 在复杂时序逻辑分析中的能力。
增加了全局配置参数 always_scrape_classic_histograms,用以控制是否在存在原生 histograms 时,仍采集传统的经典直方图指标。该配置帮助用户兼容旧版本监控数据,避免因指标格式变化导致监控缺失风险。
针对 OpenTelemetry Protocol(OTLP)新增了 promote_all_resource_attributes 和 ignore_resource_attributes 两个配置选项。前者允许将所有资源属性提升为标签,方便指标维度扩展;后者则支持忽略指定资源属性,提高数据采集效率和标签管理灵活性,满足多样化采集需求。
Prometheus 增加了对 STACKIT Cloud 的服务发现支持,实现自动发现该云平台上的目标服务,扩展了云环境下 Prometheus 监控的适用范围,为使用 STACKIT 的用户提供即刻开箱即用的监控集成方案。
Hetzner 服务发现模块新增 label_selector 功能,支持通过标签过滤服务器,大幅提升目标筛选的灵活度。通过标签选择器,用户可以精细控制监控对象,避免无意义负载,提高抓取效率。
PromQL 聚合函数如 quantile、topk 现在支持非固定常量参数输入,允许动态计算和更丰富的查询表达式,实现更复杂的指标处理场景。
启动时规则校验提前加入无误解析检查,避免因规则错误导致运行异常。Promtool 增强支持模糊的浮点比较,辅助开发测试验证规则的有效性。
v3.5.0 修复了多个影响查询准确性和系统稳定性的严重 bug,包括:
Prometheus v3.5.0 作为一款长期支持的稳定版本,适合需要持续运行和长期维护的生产环境。推荐用户尽快升级以享受性能提升、稳定性增强以及新功能带来的便利。
升级前请确保:
本次版本全面提升了 Prometheus 的查询能力、采集灵活性与系统性能,为构建稳定可靠的云原生监控体系提供了坚实基础。未来 Prometheus 将继续秉持开源精神,结合社区反馈推动监控技术不断演进。
类型 | 更新内容简述 |
---|---|
新特性 | PromQL元标签支持,新增时间戳函数,OTLP配置扩展 |
性能优化 | 查询迭代器复用,Direct IO写入,UI防抖及缓存优化 |
UI改进 | 简单规则过滤,目标页面搜索清空,总目标统计更准确 |
服务发现增强 | Hetzner标签过滤,STACKIT 云服务发现 |
Bug修复 | 直方图统计错误,查询错误提示,内存安全性,死锁修复 |
我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。