2018年8月9日,云原生计算基金会(CNCF)宣布开放源代码监控工具Prometheus已从孵化状态进入毕业状态。要到达这一评级,一个项目必须展示其增长,文档、有组织的治理流程、对社区可持续性和包容性的承诺。
随着越来越多的组织继续构建云原生应用程序,监控这些分布式应用程序变得非常重要。为此,提升Prometheus在CNCF中的地位是很有意义的。 CNCF首席运营官Chris Aniszczyk解释道:
为了从一个孵化状态逐渐升级到一个毕业状态,一个项目必须遵循CNCF行为准则,进行独立的安全审计,并披露其治理结构,概述他们计划如何发展他们的社区。开源社区中有很多人对Prometheus的毕业表示赞许,包括SUSE CTO Thomas Di Giacomo。
SoundCloud(一个流媒体音乐和播客服务)于2012年发布了Prometheus,并于2016年5月捐献给了CNCF。自进入孵化阶段以来,已发布了30个官方主要和次要版本。
在2017年GOTO大会演讲中,SoundCloud的产品工程师Björn Rabenstein介绍了开发Prometheus背后的一些驱动因素,其中一个因素是因为黑盒监控不是很有效。CERT高级开发团队负责人Joeseph Yankel将黑盒测试定义为:
图片来源:(截屏)https://www.youtube.com/watch?v=hhZrOHKIxLw
相反,Prometheus采用了一种白盒测试方法,通过时间序列方法可以知道达到当前状态的路径。转而采用这种方法的另一个驱动因素是SoundCloud通过DevOps的方式来监控他们的系统。Rabenstein将此称为“你构建,你运行”。如果使用之前的黑盒方法,产品最终被扔给没有太多相关背景的运营团队去管理。而现在,SoundCloud专注于通过在代码或统计表中包含指标来从头开始构建监控功能。
通过利用白盒监控,Prometheus的警报机制变得更加智能化。Prometheus不仅可以依靠阈值,还可以利用时间序列方法。Rabenstein演示了一个场景,把磁盘的阈值设置为85%,并使用传统的方式进行监控。然而,即使磁盘可用容量没有达到阈值也会触发警报。而改用时间序列趋势,当趋势线预测即将发生磁盘中断时就会发送警报。Rabenstein认为,对于轮班待命的工程师来说,为了避免警报疲劳,需要尽量减少不必要的警报。
图片来源:(截屏)https://www.youtube.com/watch?v=hhZrOHKIxLw
除了利用趋势线之外,Prometheus还提供了一种方法用于构建警报路由树,以及分组或捆绑通知的功能。因此,如果底层的主机出现故障,就只发送单个警报,而不是针对该主机上运行的每个服务发送一个警报。
图片来源:(截屏)https://www.youtube.com/watch?v=hhZrOHKIxLw
有关Prometheus的里程碑及其在CNCF状态的更多信息,请访问这个博客。
查看英文原文:Prometheus Graduates, Project Status Updated by Cloud Native Computing Foundation
领取专属 10元无门槛券
私享最新 技术干货