Prometheus 达到 1.0 版
2016年7月18日作者 Fabian Reinartz 代表 Prometheus 团队
今年一月,我们发布了一篇博客文章,总结了Prometheus 公开存在的第一年,对我们来说,这是一段激动人心的旅程,希望对您来说,它也是一个创新且有用的监控解决方案。此后,Prometheus 也加入了云原生计算基金会(Cloud Native Computing Foundation),作为继 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 的集成仍处于 Beta 状态,并可能发生变化。然而,更改将明确宣布。
- 确切的标志含义可能会根据需要更改。然而,更改绝不会导致服务器无法使用以前的标志配置启动。
- 作为服务器一部分的 Go 软件包的 Go API。
- Web UI 生成的 HTML。
- Prometheus 自身的 `/metrics` 端点中的指标。
- 确切的磁盘格式。然而,潜在的更改将向前兼容,并由 Prometheus 透明处理。
那么 Prometheus 现在就完成了吗?
当然不。我们还有很长的路线图,充满了待实现的出色功能。Prometheus 在未来几年不会停留在 1.x 版本。基础设施领域发展迅速,我们完全打算让 Prometheus 随之发展。这意味着我们将继续愿意质疑我们过去所做的一切,并乐于放弃那些已经失去相关性的事物。未来将会有 Prometheus 的新主要版本,以促进未来的计划,例如持久化长期存储、Alertmanager 的更新迭代、内部存储改进以及许多我们目前尚未知晓的事物。
总结
我们感谢我们出色的社区,感谢他们对新版本进行现场测试、提交 bug 报告、贡献代码、帮助其他社区成员,并通过参与无数富有成效的讨论来塑造 Prometheus。最终,是你们让 Prometheus 取得了成功。
谢谢大家,请继续努力!