继续我们的 Prometheus 用户系列访谈,Presslabs 的 Mile Rosu 讲述了他们的监控之旅。
您能介绍一下您自己以及 Presslabs 是做什么的吗?
Presslabs 是一个高性能的托管 WordPress 托管平台,面向出版商、企业品牌和数字机构,他们力求始终为网站访问者提供无缝体验。
最近,我们为我们的核心产品——WordPress 商业智能开发了一个创新组件。用户现在可以在全面的仪表板中获得实时的、可操作的数据,以支持从问题到部署的快速流程以及网站的持续改进。
我们支持每月在 100 台完全专用于为要求苛刻的客户提供托管 WordPress 托管的机器上无缝交付高达 20 亿的页面浏览量。
我们目前正在执行一项使命,为全球 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 chart。该实施将提供平台客户的隔离,因为我们将为有限数量的网站分配一个专用的 Prometheus 服务器。作为我们 Kubernetes 化 WordPress 工作的一部分,我们已经在着手这项工作。
我们还在努力以 Prometheus 格式导出 WordPress 指标。Grafana 将继续存在,因为它与 Prometheus 携手合作,以解决可视化需求。