Prometheus 2.0 抢先看
2017年4月10日作者 Fabian Reinartz
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 的升级路径。