在一月份,我们发布了一篇博文,关于 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,该 API 允许将样本存储在任意存储系统中。
- 一些服务发现集成是新的,需要跟上快速发展的系统。 因此,与 Kubernetes、Marathon、Azure 和 EC2 的集成仍处于 Beta 状态,并且可能会发生更改。 但是,更改将明确宣布。
- 确切的标志含义可能会根据需要更改。 但是,更改永远不会导致服务器无法使用以前的标志配置启动。
- 作为服务器一部分的软件包的 Go API。
- Web UI 生成的 HTML。
- Prometheus 自身的
/metrics
端点中的指标。 - 确切的磁盘格式。 但是,潜在的更改将是向前兼容的,并由 Prometheus 透明地处理。
那么 Prometheus 现在完整了吗?
当然不是。 我们前方还有很长的路线图,充满了要实现的强大功能。 Prometheus 不会停留在 1.x 版本多年。 基础设施领域正在快速发展,我们完全希望 Prometheus 与之一起发展。 这意味着我们将继续愿意质疑我们过去所做的事情,并乐于放弃那些已经失去相关性的事物。 未来将会有新的 Prometheus 主要版本,以促进未来的计划,例如持久的长期存储、Alertmanager 的更新迭代、内部存储改进以及许多我们甚至还不知道的事情。
结束语
我们要感谢我们出色的社区,感谢他们对新版本进行现场测试、提交错误报告、贡献代码、帮助其他社区成员,并通过参与无数富有成效的讨论来塑造 Prometheus。 最终,是你们让 Prometheus 走向成功。
谢谢你们,并继续保持出色的工作!