Prometheus 开源开发一周年

开始

就在今天一年前,我们正式向更广阔的世界宣布了 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 数量上是怎样的呢?试试看能否在这张图表中(讽刺的是,这是用 Gnuplot 而不是 Prometheus 绘制的图表)找到我们走出“隐匿状态”并受到 Hacker News 冲击的那个确切的时刻

Prometheus GitHub stars

这种关注也使我们进入了 GitHub 全球趋势仓库的第四名

Prometheus trending on GitHub

第一波浪潮之后

在那最初的几周之后,涌入的沟通的最初冲击有所减缓,但我们一直在并且仍在获得不断增长的采用。

为了让您了解一下生态系统,我们现在拥有:

  • 在我们的 GitHub 组织中有 33 个仓库
  • ~4800 个 GitHub 总星标
  • 200 多名贡献者
  • 2300 多个拉取请求(60 多个待解决)
  • 1100 多个问题 (issue)(300 多个待解决)
  • 在我们的 IRC 频道(FreeNode 上的 #prometheus)中有 150 多人
  • 邮件列表中有 250 多人,创建了 300 多个主题
  • 20 多场 Prometheus 相关的演讲和研讨会
  • 100 多篇文章和博客帖子

除了对现有项目进行无数的小功能和错误修复之外,社区还为 Prometheus 生态系统贡献了许多他们自己的项目。它们中的大多数是 Exporter,用于将现有系统的指标转换为 Prometheus 的数据模型,但 Prometheus 本身也有重要的补充,例如针对 KubernetesMarathonEC2 的服务发现机制。

在对 Prometheus 进行更多宣传后不久,我们还发现了一位非常杰出的贡献者(Fabian),他最终加入了 SoundCloud 来开发 Prometheus。从那时起,他就成为了该项目最活跃的开发者,我们感谢他带来的许多重要新功能,例如通用的服务发现支持、运行时可重载的配置、新的强大查询语言功能、自定义构建的查询解析器等等。他目前正在进行 Alertmanager 的新 beta 重写工作。

最后,我们很荣幸得到了行业主要参与者的认可和采用。Google 现在正在其开源容器管理系统 Kubernetes 中原生集成 Prometheus 指标进行仪表化。CoreOS 也正在将它用于 etcd 的监控。DigitalOcean 正在将 Prometheus 用于其内部监控。到目前为止,以各种方式使用 Prometheus 的公司名单已经太长,无法一一提及:GoogleCoreOSDockerBoxeverDigitalOceanFinancial TimesImprobableKPMG 等等。即使是世界上最大的数字节日 DreamHack,也在 2015 年使用了 Prometheus 来监控其网络基础设施,FOSDEM 也将在 2016 年这样做。

广泛流行的仪表盘构建器 Grafana 也在2.5 版本中添加了对 Prometheus 后端的原生支持。由于世界各地的人们已经在广泛使用并喜爱 Grafana,我们将把重点放在改进 Grafana 对 Prometheus 的集成上,未来将减少在我们自己的仪表盘构建器 PromDash 上的投入。

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

说件轻松的事情,2015 年也是 Brian 通过在 PromQL 中实现康威生命游戏,证明 Prometheus 的查询语言是图灵完备的一年。

未来的道路

无论是个人还是技术上,我们都对去年在 Prometheus 世界里发生的一切感到非常兴奋。我们很高兴有机会为世界提供一种强大的新监控方法,特别是与传统解决方案相比,它更适合现代云和容器基础设施。我们也非常感谢所有贡献者,并希望继续为所有人改进 Prometheus。

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

敬请期待!