Prometheus 1.0 版本发布

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

今年一月,我们发表了一篇关于 Prometheus 公开存在第一年 的博文,总结了这对我们来说是一段多么奇妙的旅程,并且希望对您来说是一个创新且实用的监控解决方案。此后,Prometheus 也加入了云原生计算基金会,我们很荣幸能成为继 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 的功能范围很广,某些部分的成熟度肯定高于其他部分。可以简单分为两类:稳定不稳定

自 v1.0 版本起并在整个 1.x 系列中保持稳定

  • 查询语言和数据模型
  • 警报和记录规则
  • 数据采集的暴露格式
  • 配置标志名称
  • HTTP API(供仪表盘和 UI 使用)
  • 配置文件格式(不包括下方提到的非稳定服务发现集成)
  • 在可预见的未来,与 Alertmanager 0.1+ 的警报集成
  • 控制台模板的语法和语义

不稳定且可能在 1.x 版本中发生变化

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

那么 Prometheus 现在已经完成了?

绝对不是。我们面前还有很长的路线图,充满了待实现的强大功能。Prometheus 不会在未来几年都停留在 1.x 版本。基础设施领域正在迅速发展,我们完全打算让 Prometheus 与之共同进步。这意味着我们将继续愿意审视我们过去所做的工作,并乐于放弃那些已经失去现实意义的东西。未来将会有新的 Prometheus 主要版本,以支持未来的计划,如持久化长期存储、新版本的 Alertmanager、内部存储改进,以及许多我们目前还不知道的事情。

结束语

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

谢谢你们,请继续保持出色的工作!