继续我们对Prometheus用户的访谈系列,Presslabs的Mile Rosu将谈论他们的监控之旅。
您能介绍一下自己以及Presslabs是做什么的吗?
Presslabs 是一个高性能的托管WordPress托管平台,面向希望始终为网站访问者提供无缝体验的出版商、企业品牌和数字机构。
最近,我们为我们的核心产品开发了一个创新组件——WordPress商业智能。用户现在可以在综合仪表板中获得实时、可操作的数据,以支持从问题到部署的快速流程,并持续改进他们的网站。
我们支持每月高达20亿的页面浏览量的无缝交付,这些流量运行在100台完全致力于为要求苛刻的客户提供托管WordPress托管服务的机器上。
我们目前正在执行一项使命,为世界各地的WordPress出版商带来最佳体验。在这个过程中,Kubernetes促进了我们迈向高可用性WordPress托管基础设施未来标准的道路。
您在使用Prometheus之前的监控经验是什么?
我们在2009年开始构建我们的WordPress托管平台。当时,我们使用Munin,一个开源的系统、网络和基础设施监控系统,它可以执行我们需要的所有操作:暴露、收集、聚合、警报和可视化指标。虽然它的性能良好,但每分钟收集一次和每5分钟聚合一次对我们来说太慢了,因此它生成的输出不足以正确分析我们平台上的事件。
Graphite是我们的第二个选择,它解决了Munin在时间方面的挑战。我们加入了collectd来暴露指标,并使用Graphite来收集和聚合它。
然后,我们开发了Viz,一个我们用JavaScript和Python编写的用于可视化和警报的工具。然而,我们停止积极使用这项服务,因为维护它需要大量工作,而Grafana从第一个版本开始就很好地替代了它。
自2017年下半年以来,我们的Presslabs平台进入了大规模转型阶段。其中一个主要变化是迁移到Kubernetes,这意味着需要一个高性能的监控系统。那时,我们决定使用Prometheus,我们从那时起一直在使用它,并计划将其集成到新平台上的所有服务中,作为提取和暴露指标的核心部分。
您为什么决定考虑Prometheus?
在2014年巴塞罗那的Velocity Europe上,在与Soundcloud的一组工程师交谈后,我们开始考虑Prometheus。他们展示的好处足以让我们尝试Prometheus。
您是如何过渡的?
我们仍处于过渡过程中,因此我们并行运行两个系统——Prometheus和Graphite-collectd组合。对于客户端仪表板和我们的核心服务,我们使用Prometheus,但是,对于客户端站点,我们仍然使用Graphite-collectd。在两者之上都有一个用于可视化的Grafana。
Prometheus的文档、Github问题和源代码是集成Prometheus的首选资源;当然,StackOverflow为这个过程增添了一些趣味,这满足了我们的许多好奇心。
Prometheus的唯一问题是我们无法为某些指标获得长期存储。我们的托管基础设施平台需要存储诸如页面浏览量之类的使用情况指标至少一年。然而,自从我们使用Prometheus以来,Prometheus的生态系统已经有了很大的改进,我们仍然需要测试可能的解决方案。
自从切换以来,您看到了哪些改进?
自从切换到Prometheus以来,我们注意到与我们之前使用的任何其他替代方案相比,资源使用量显著减少。此外,由于与Kubernetes的自动集成节省了大量时间,因此它很容易安装。
您认为Presslabs和Prometheus的未来会怎样?
我们对Prometheus有宏伟的计划,因为我们正在努力用新基础设施上的Prometheus Operator替换我们现在使用的Prometheus Helm图表。该实现将提供平台客户的隔离,因为我们将为有限数量的网站分配一个专用的Prometheus服务器。我们已经在为此努力,作为我们Kubernetes化WordPress工作的一部分。
我们也在努力以Prometheus格式导出WordPress指标。Grafana将继续存在,因为它与Prometheus携手解决可视化需求。