请参与 Prometheus 用户调研(2026 年 3 月版) ,帮助社区确定未来开发工作的优先级!

Prometheus 达到 1.0 版本

2016 年 7 月 18 日作者 Fabian Reinartz 代表 Prometheus 团队

今年一月,我们发布了一篇博客文章,回顾了 Prometheus 公开开发的第一年。我们总结了这一年对我们来说非凡的历程,也希望它能成为对你们而言创新且实用的监控解决方案。自那以后,Prometheus 也加入了云原生计算基金会 (CNCF)。作为继 Kubernetes  之后的第二个创始项目,我们在这里感到非常荣幸。

我们近期的工作重心是提供稳定的 API 和用户界面,以 Prometheus 1.0 版本为标志。我们非常激动地宣布,我们已经实现了这一目标,Prometheus 1.0 于今日正式发布 

1.0 对你意味着什么?

如果你已经使用 Prometheus 一段时间,你可能已经注意到,过去一年里破坏性变更的频率和影响显著降低了。同样,达到 1.0 版本意味着后续的 1.x 版本将保持 API 稳定。升级不会破坏基于 Prometheus API 构建的程序,更新也不会要求重新初始化存储或更改部署方式。自定义仪表盘和告警在 1.x 版本更新过程中也将保持不变。我们坚信 Prometheus 1.0 是一个稳健的监控解决方案。现在 Prometheus 服务端已经达到了稳定的 API 状态,其他模块也将随着时间的推移逐步达到各自的 1.0 稳定版本。

注意事项

那么,API 稳定性意味着什么?Prometheus 覆盖面很广,有些部分肯定比其他部分更成熟。这里分为两个简单的类别:稳定 (stable)不稳定 (unstable)

自 v1.0 起及整个 1.x 系列均保持稳定:

  • 查询语言和数据模型
  • 告警和记录规则
  • 摄取和公开格式 (Ingestion exposition formats)
  • 配置标志 (Configuration flag) 名称
  • HTTP API(仪表盘和 UI 使用)
  • 配置文件格式(不包括下述非稳定的服务发现集成)
  • 与 Alertmanager 0.1+ 的告警集成(在可预见的未来)
  • 控制台模板语法和语义

不稳定,可能会在 1.x 中变更:

  • 远程存储集成(InfluxDB、OpenTSDB、Graphite)仍处于实验阶段,最终将被一个通用的、更复杂的 API 所取代,该 API 将允许在任意存储系统中存储样本。
  • 一些服务发现集成是新的,需要跟上快速发展的系统。因此,与 Kubernetes、Marathon、Azure 和 EC2 的集成仍处于测试阶段,可能会有所变动。不过,任何变动都会提前明确通告。
  • 确切的标志含义可能会根据需要进行调整。但是,这些变更绝不会导致服务器因之前的标志配置而无法启动。
  • 作为服务器一部分的 Go 包的 API。
  • 由 Web UI 生成的 HTML。
  • Prometheus 自身 /metrics 端点中的指标。
  • 确切的磁盘格式。但潜在的变更将是向后兼容的,并由 Prometheus 透明处理。

所以 Prometheus 现在已经完成了吗?

绝对不是。我们面前还有很长的路线图,有许多伟大的功能需要实现。Prometheus 不会只停留在 1.x 版本。基础设施领域发展迅速,我们完全打算让 Prometheus 与之共同进化。这意味着我们仍然愿意质疑我们过去的做法,并乐于抛弃那些已经失去意义的东西。未来将会有新的 Prometheus 主要版本来推动我们的计划,例如持久化的长期存储、新版本的 Alertmanager、内部存储优化,以及许多我们目前还未知的功能。

结语

我们想感谢我们优秀的社区,感谢你们进行现场测试、提交错误报告、贡献代码、帮助其他成员,并通过参与无数次富有成效的讨论来塑造 Prometheus。归根结底,是你们让 Prometheus 取得了成功。

谢谢大家,继续加油!