一年开源 Prometheus 开发

2016年1月26日作者 Julius Volz

开端

一年前的今天,我们正式向全世界宣布了 Prometheus。这是一个很好的机会,让我们回顾并分享自那时以来项目发生的一些精彩事情。但首先,让我们从头说起。

虽然我们早在2012年就在GitHub上将Prometheus开源了,但起初我们并没有大肆宣传。我们想给项目一些时间来成熟,并在没有阻碍的情况下进行实验。Prometheus于2013年开始在SoundCloud 中逐步用于生产监控,然后看到公司内部的使用越来越多,同时在2014年,我们的朋友Docker和Boxever也开始早期采用。多年来,Prometheus日渐成熟,虽然它已经解决了人们的监控问题,但对广大公众来说仍然是未知的。

走向公开

一切都在一年前,也就是2015年1月,发生了变化。经过两年多的开发和内部使用,我们觉得Prometheus已经准备好面向更广泛的受众,并决定通过我们官方的发布博文 网站以及一系列相关 博文 ,全面公开。公告发布的第一周,我们就受到了相当大的关注,但没有什么能让我们为一周后发生的事情做好准备:一个我们不认识的人(你好,jjwiseman !)将Prometheus网站提交到了Hacker News,并且不知何故,他的帖子一路爬升到了顶端 

从那时起,事情开始以积极的方式变得有点疯狂。我们看到贡献者、邮件列表问题、GitHub issue、IRC访客、会议和聚会演讲请求数量急剧增加,以及网络上普遍的关注度不断提高。自项目开始以来,我们非常幸运社区的质量:吸引到Prometheus的人们也恰好是非常能干、有建设性且高质量的贡献者和用户。接收到社区大量价值回馈的理想开源场景几乎从第一天起就成为了现实。

Hacker News上的炒作在GitHub star数量上看起来是什么样的?试着在这张图中找到我们从“黑暗模式”中脱颖而出并被Hacker News关注的确切时刻(讽刺的是,这是一张Gnuplot图,而不是Prometheus的图)。

Prometheus GitHub stars

这份关注也使我们跻身GitHub全球趋势存储库的第四位。

Prometheus trending on GitHub

第一波浪潮之后

经过最初几周的狂热, incoming communication 的初期冲击有所减弱,但我们一直在并且仍然在持续增长的采用率。

为了让您了解这个生态系统,我们现在拥有

  • 33个GitHub组织下的存储库
  • 约4800个GitHub star
  • 200多名贡献者
  • 2300多个Pull Request(60+个开放)
  • 1100多个Issue(300+个开放)
  • 150+人在我们的IRC频道(FreeNode上的#prometheus
  • 250+人在邮件列表中,创建了300+个主题
  • 20+个与Prometheus相关的演讲和研讨会
  • 100+篇文章和博客帖子

除了对现有项目无数的小功能和bug修复之外,社区还为Prometheus生态系统贡献了许多自己的项目。其中大部分是将现有系统指标翻译成Prometheus数据模型的exporter,但对Prometheus本身也有重要的补充,例如用于Kubernetes Marathon EC2 的自动服务发现机制。

在宣传Prometheus后不久,我们也找到了一位 Fabian  杰出贡献者,他最终加入了SoundCloud,从事Prometheus的工作。他已成为该项目最活跃的开发者,并且由于他,我们才拥有了许多重要的功能,例如通用的服务发现支持、运行时可重载配置、新的强大查询语言功能、自定义查询解析器等等。他目前正在重写Alertmanager  的 Beta 版本。

最后,我们很荣幸得到业界主要参与者的认可和采用。Google  正在为其开源容器管理系统Kubernetes  原生集成 Prometheus 指标。CoreOS  也将其用于etcd  的监控。DigitalOcean  正在为其内部监控押注 Prometheus。现在,使用 Prometheus 的公司名单已经太长,无法一一列举:Google CoreOS Docker Boxever DigitalOcean Financial Times Improbable KPMG ,以及更多。甚至世界上最大的数字节日DreamHack ,在2015年使用Prometheus来监控其网络基础设施,而FOSDEM  在2016年也将这样做。

广受欢迎的仪表板构建器Grafana 2.5 版本  也添加了原生的 Prometheus 后端支持。鉴于世界各地的人们已经在广泛使用并喜爱 Grafana,我们将专注于改进 Grafana 的 Prometheus 集成,未来将减少我们在自己的仪表板构建器PromDash  上投入的精力。

随着 Prometheus 生态系统的不断发展,第一批用户已经开始询问商业支持。虽然 Prometheus 始终会是一个独立的开源项目,但我们的核心贡献者之一(Brian Brazil )最近成立了自己的公司Robust Perception ,该公司提供围绕 Prometheus 和通用监控的支持和咨询服务。

轻松一点来说,2015年也是 Brian 通过在 PromQL 中实现Conway's Game of Life  证明 Prometheus 查询语言是图灵完备的。

前方的路

无论是个人还是技术层面,我们都对去年在 Prometheus 领域发生的事情感到非常兴奋。我们很乐意为世界提供一种强大的新监控方法,特别是它比传统解决方案更适合现代云端和容器化基础设施。我们也非常感谢所有贡献者,并希望为所有人持续改进 Prometheus。

尽管 Prometheus 目前已经相对成熟,但我们有一个要在2016年解决的主要目标列表。重点将是完善新的 Alertmanager 重写,支持对外部长期存储的完整读写集成,以及最终发布 Prometheus 服务器本身的稳定1.0版本。

敬请关注!