Presslabs 访谈
2018年8月23日作者 Brian Brazil
在我们的 Prometheus 用户系列访谈中,来自 Presslabs 的 Mile Rosu 讲述了他们的监控历程。
您能介绍一下自己和 Presslabs 的业务吗?
Presslabs 是一个高性能的托管式 WordPress 托管平台,面向出版商、企业品牌和数字机构,旨在为他们的网站访问者提供 100% 的无缝体验。
最近,我们为核心产品开发了一个创新组件——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 后,我们注意到资源使用量显著减少,与我们之前使用的任何其他替代方案相比。此外,它易于安装,因为与 Kubernetes 的自动集成节省了大量时间。
您认为 Presslabs 和 Prometheus 的未来会怎样?
我们对 Prometheus 抱有宏伟的计划,我们正在新基础设施上用 Prometheus Operator 替换当前使用的 Prometheus Helm chart。这项实施将实现平台客户的隔离,因为我们将为有限数量的网站分配一个专用的 Prometheus 服务器。我们正在为此努力,这也是我们实现 WordPress 的 Kubernetes 化工作的一部分。
我们还在努力将 WordPress 指标导出为 Prometheus 格式。Grafana 将继续使用,因为它与 Prometheus 协同工作,共同满足了可视化需求。