Prometheus 2.0 抢先看

2017年4月10日作者 Fabian Reinartz

2016年7月,Prometheus 迎来了 1.0 版本的重大里程碑。自那时以来,我们新增了许多新功能,例如新的服务发现集成和实验性的远程 API。我们也意识到,基础设施领域的最新发展,特别是 Kubernetes ,使得被监控的环境变得更加动态。不出所料,这也给 Prometheus 带来了新的挑战,我们发现其存储层存在性能瓶颈。

在过去的几个月里,我们一直在设计和实现一个新的存储概念,该概念解决了这些瓶颈,并整体上显示出显著的性能提升。它还为添加热备份等功能奠定了基础。

这些更改如此根本,以至于将触发一个新的主要版本:Prometheus 2.0。在稳定发布之前,还计划了除存储之外的重要功能和更改。但是,今天我们发布 Prometheus 2.0 的早期 alpha 版本,以启动新存储的稳定化过程。

发布 tarball 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

这是一个非常早期的版本,预计会出现崩溃、数据损坏和一般性 bug。通过向 我们的问题跟踪器  提交问题,帮助我们朝着稳定发布迈进。

此 alpha 版本已禁用实验性远程存储 API。抓取暴露时间戳的目标(例如联邦 Prometheus 服务器)目前尚不工作。存储格式是破坏性的,并且在后续的 alpha 版本之间将继续破坏。我们计划在接近稳定发布时,文档化从 1.0 到 2.0 的升级路径。