请参与 Prometheus 用户调研(2026 年 3 月版) ,帮助社区确定未来开发工作的优先级!

采访 Presslabs

2018年8月23日作者 Brian Brazil

在我们的 Prometheus 用户系列访谈中,来自 Presslabs 的 Mile Rosu 将分享他们的监控之旅。

你能介绍一下你自己以及 Presslabs 是做什么的吗?

Presslabs  是一家高性能托管 WordPress 托管平台,主要面向希望 100% 为网站访问者提供无缝体验的出版商、企业品牌和数字代理机构。

最近,我们为核心产品开发了一个创新组件——WordPress 商业智能(Business Intelligence)。用户现在可以在一个综合仪表盘中获取实时的、可操作的数据,以支持从问题发现到部署的快速处理流程,并持续改进他们的网站。

我们支持每月高达 20 亿次页面浏览量的无缝交付,这些业务运行在 100 台完全专用于为高要求客户提供托管 WordPress 服务的机器集群上。

目前,我们的使命是为全球的 WordPress 出版商带来最佳体验。在这段旅程中,Kubernetes 助力我们迈向高可用 WordPress 托管基础设施的未来标准。

在使用 Prometheus 之前,您的监控体验是怎样的?

我们于 2009 年开始构建 WordPress 托管平台。当时,我们使用的是 Munin,这是一个开源的系统、网络和基础设施监控工具,它执行了我们所需的所有操作:暴露、收集、聚合、报警和可视化指标。尽管它表现良好,但每分钟收集一次、每 5 分钟聚合一次的频率对我们来说太慢了,因此它生成的输出不足以让我们正确分析平台上的事件。

Graphite 是我们列表中的第二个选择,它解决了 Munin 带来的时间挑战。我们引入了 collectd 来暴露指标,并使用 Graphite 进行收集和聚合。

随后,我们开发了 Viz,这是一个用 JavaScript 和 Python 编写的可视化与报警工具。然而,由于维护它的工作量巨大,我们停止了对该服务的积极使用,因为它已经被 Grafana(自其第一个版本起)很好地取代了。

Presslab's Viz

自 2017 年下半年起,我们的 Presslabs 平台进入了一个大规模的转型阶段。主要的变革之一是我们向 Kubernetes 的迁移,这意味着我们需要一个高性能的监控系统。那时,我们决定使用 Prometheus,并从那时起一直使用至今。我们计划将其作为提取和暴露指标的核心组件,整合到新平台的所有服务中。

你们为什么决定研究 Prometheus?

我们在 2014 年于巴塞罗那举行的 Velocity Europe 大会上与 Soundcloud 的工程师团队交谈后,开始考虑使用 Prometheus。他们所展示的优势非常有说服力,促使我们尝试了 Prometheus。

你们是如何过渡的?

我们目前仍处于转型过程中,因此我们并行运行着两套系统——Prometheus 和 Graphite-collectd 组合。对于客户仪表盘和我们的核心服务,我们使用 Prometheus,而对于客户网站,我们仍在使用 Graphite-collectd。在两者之上,我们使用 Grafana 进行可视化。

Presslab's Redis Grafana dashboards

Prometheus 的文档、Github issues 和源代码是我们集成 Prometheus 时的首选资源;当然,StackOverflow 也为这一过程增添了不少帮助,解决了我们许多疑惑。

Prometheus 唯一的问题是,对于某些指标,我们无法获得长期存储。我们的托管基础设施平台需要存储至少一年的使用指标(如页面浏览量)。然而,自从我们使用它以来,Prometheus 的生态环境已经有了很大改善,我们仍需测试可能的解决方案。

切换后你们看到了哪些改进?

改用 Prometheus 后,与之前使用的任何替代方案相比,我们注意到资源使用量显著下降。此外,它安装简便,且与 Kubernetes 的自动集成节省了大量时间。

你认为 Presslabs 和 Prometheus 的未来会怎样?

我们对 Prometheus 有宏大的计划,目前正在努力在新基础设施中将我们使用的 Prometheus Helm chart 替换为 Prometheus Operator。这一实施方案将提供平台客户的隔离,因为我们将为有限数量的网站分配专用的 Prometheus 服务器。作为我们“WordPress Kubernetes 化”工作的一部分,我们已经在进行这项工作了。

我们还在致力于以 Prometheus 格式导出 WordPress 指标。Grafana 将会保留,因为它与 Prometheus 相辅相成,能够满足我们的可视化需求。