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
这是一个非常早期的版本,可能会出现崩溃、数据损坏和各种错误。请将发现的问题提交到我们的问题跟踪器 ,帮助我们向稳定版本迈进。
实验性的远程存储 API 在此 alpha 版本中被禁用。抓取暴露时间戳的目标(例如联邦的 Prometheus 服务器)尚无法工作。存储格式是不兼容的,并且在后续的 alpha 版本之间还会再次变更。我们计划在接近稳定版发布时,提供从 1.0 到 2.0 的升级路径文档。