Prometheus 2.0 抢先预览

2016 年 7 月,Prometheus 发布了 1.0 版本,这是一个重要的里程碑。从那时起,我们添加了许多新功能,例如新的服务发现集成和我们的实验性远程 API。我们也意识到基础设施领域的新发展,特别是 Kubernetes,使得监控环境变得更加动态。毫不意外,这也给 Prometheus 带来了新的挑战,我们发现了其存储层中的性能瓶颈。

在过去的几个月里,我们一直在设计和实现一个新的存储概念,旨在解决这些瓶颈并总体上显著提高性能。这也为添加热备份等功能铺平了道路。

这些变化是基础性的,将引发一次新的主要版本发布:Prometheus 2.0。
在稳定版本发布之前,我们计划加入存储之外的重要功能和更改。然而,今天我们发布 Prometheus 2.0 的早期 alpha 版本,以启动新存储的稳定过程。

发布压缩包Docker 容器现已可用。如果您对新存储的机制感兴趣,请务必阅读这篇深入探讨内部原理的博客文章

此版本不兼容旧的存储数据,不应取代现有的生产部署。要运行它,数据目录必须是空的,并且除了 -storage.local.retention 之外的所有现有存储标志都必须删除。

例如;之前

./prometheus -storage.local.retention=200h -storage.local.memory-chunks=1000000 -storage.local.max-chunks-to-persist=500000 -storage.local.chunk-encoding=2 -config.file=/etc/prometheus.yaml

之后

./prometheus -storage.local.retention=200h -config.file=/etc/prometheus.yaml

这是一个非常早期的版本,可能存在崩溃、数据损坏和一般性错误。通过将问题提交到我们的问题跟踪器来帮助我们迈向稳定版本。

此 alpha 版本中禁用了实验性远程存储 API。抓取暴露时间戳的目标(例如联合的 Prometheus 服务器)尚不支持。存储格式是不兼容的,并且在后续的 alpha 版本之间可能会再次发生变化。我们计划在接近稳定版本时文档化从 1.0 升级到 2.0 的路径。