普罗米修斯2.0发布

总结:Prometheus 2.0于11月8日发布。存储和过期处理是其主要功能亮点。

Tokyo的Prometheus见面会 #1当天,我巧合地看到了Prometheus 2.0 Sneak Peek的文章,很好奇会发生什么,但是已经过去了7个月。终于,2.0版本发布了。

以下是 https://prometheus.io/blog/2017/11/08/announcing-prometheus-2-0/ 的简单翻译。


    • Announcing Prometheus 2.0

 

    Posted at: November 8, 2017 by Fabian Reinartz on behalf of the Prometheus team

Prometheus 2.0 的发布

2016年7月,Prometheus 1.0发布已过去一年半。1.0版本也是一个重要的里程碑。
Prometheus开发团队在1.0版本中提供了简单而强大的监控理念实现功能。

自2017年11月最新版本1.8.2的1.0发布以来,我们添加和改进了各种服务发现协作和PromQL的扩展,并进行了远程API的初始开发,以实现可插拔的长期存储解决方案。

在2.0版的主要发布中,有什么变化呢?

普罗米修斯2.0

Prometheus拥有用户友好、简单且稳健的操作模型。然而,在基础设施领域,它并非如此。诸如Kubernetes和Mesos这样的项目已经显著改变了软件的部署和管理方式,监控环境也变得更加动态。

随着这些问题的出现,我们也开始对Prometheus的性能感到不满意。在过去的存储子系统中,我们必须谨慎地根据预期的使用量进行设置。
在Prometheus 1.6中,通过容量自动调整,我们大大缓解了这个问题。
尽管如此,Prometheus用户还是不可避免地遇到了硬限制。

存储

2017年初,我们开始进行调查。确认了新的高性能时序数据库能够提供实用的基准测试。在随后的六个月内,将其作为独立的时序数据库进行稳定化,并重新与Promethues主体进行了协作。通过这一改进,Prometheus 2.0实现了全面的性能提升。查询延迟进一步稳定,并且特别是在更多序列的查询方面有更好的扩展性。根据多个实际生产环境的测量,我们能够大幅度降低资源消耗量。

CPU使用率: 20-40%削減 (Prometheus 1.8と比べ)

ディスク使用量: 33-50%削減 (Prometheus 1.8と比べ)

ディスクI/O: 平均で1%未満(大量のクエリをかけていない場合)

resource-comparison-cb3363e2f4f.png

这个存储系统适应了近年来迅速变化的现代计算环境。

过去监测对象的处理方式 (Staleness handling)

通过许多大小不等的变更,使Prometheus的体验更加一致和直观。其中之一,长期以来一直在路线图上的改进,是处理过时性的问题。
通过这个新的改进,消失的监控目标和系列将继续被追踪。这将减少对工件的查询,并提高警报的响应能力。

其他的改进

在Prometheus 2.0中,数据库快照的完全备份得到了内置支持。

此外,我们将录制规则和警报规则从传统的自定义格式整合到了YAML格式中。这样一来,配置管理和模板化变得更加容易统一管理。

有许多小的改动和清理工作。要查看完整的变更摘要和升级方法,请参考将Prometheus 1.x迁移到2.0的迁移指南。

不用担心。Prometheus 2与以前使用的Prometheus没有任何区别-仍然非常高效和易于操作。

将来会怎么样?

新的存储子系统变得更易于访问和扩展。
它提供了与Prometheus本体直接集成的功能,因此,可以更容易地在该存储上构建定制工具。
由于有简单且开放的存储格式和库,因此实施诸如动态保留策略等自定义扩展变得容易。
通过将存储与Prometheus本体分离,可以提供符合许多要求的存储层,而不会使本体变得复杂,从而使得本体可以专注于其核心目标。

远程API将持续演进,以满足长期存储要求,同时保持对Prometheus模型的可靠性和简洁性。

来试试看吧!

只需下载官方的二进制文件或容器映像,您就可以像以前一样轻松尝试Prometheus 2.0。
在“入门指南”页面上,您可以找到有关如何运行Prometheus的教程。

如果要升级到 Prometheus 1.x,请查阅迁移指南。指南中包括了使用远程API从旧的 Prometheus 服务器中提取数据等移行期间需要的方法。

感谢各位用户在预发布中广泛测试并协助调试问题。没有测试用户的支持,这个重要的里程碑是无法实现的!