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 取得了成功。
谢谢你们,请继续保持这出色的工作!