使用 InfluxDB Enterprise 构建可扩展的端到端主机监控解决方案

导航至

贝宝 (PayPal) SRE 监控高级工程经理 Dennis Brazil 表示:“如果你无法衡量某事物以获得结果,你就不可能在该事物上做得更好。更糟糕的是,你将不知道应该专注于什么。” Brazil 和他的团队需要一个可扩展的端到端主机监控解决方案,以跟上公司基础设施向基于容器的架构现代化的步伐。

新的监控解决方案将取代公司过时的监控系统,需要与容器协同工作,并一次性提供指标收集、存储、警报和可视化功能,因为团队倾向于选择单一供应商平台。他们意识到,这个新解决方案的核心是需要一个时间序列数据库,因为 Brazil 说:“时间序列数据帮助我们快速做出明智的、数据驱动的决策。这是我们业务持续发展的关键。”

贝宝 (PayPal) 选择了 InfluxData 的 InfluxDB Enterprise,并利用 InfluxData 平台的所有组件,构建了一个使用 Telegraf 聚合器、消息队列和发布者的解决方案,以便控制数据负载大小、管理消息流并避免单点故障 (SPOF)。

以下概述了贝宝 (PayPal) 选择 InfluxDB Enterprise 的原因以及他们在主机监控解决方案中如何使用它。

寻找主机监控解决方案

贝宝 (PayPal) 的平台为全球 200 多个市场的消费者和商家提供数字和移动支付服务,他们寻求一种可扩展的主机监控解决方案,以跟上公司动态且不断扩展的基础设施的步伐。

贝宝 (PayPal) 有九个数据中心,每个数据中心有 30,000 个实例,它们都有自己的集群。公司正在将其所有旧应用程序(有些有 20 年历史,用 C++ 编译)迁移到容器和更现代的操作系统中,他们的许多 Docker 虚拟机管理程序一次托管 50 到 100 个容器。

主机监控解决方案要求

为了他们新的主机监控解决方案,贝宝 (PayPal) 提出了四项技术要求,并希望通过一家供应商来满足这些要求

  1. 一个可靠且可扩展的代理,驻留在所有系统上,以监控基本的操作系统系统指标,例如 CPU、磁盘、内存、第三方应用程序和数据库
  2. 用于报告历史记录的时间序列数据库后端
  3. 使用单个代理监控多个 Docker 容器的能力(对于降低整个系统代理的开销至关重要)
  4. 基于时间序列数据的智能警报

使用 InfluxDB Enterprise 构建主机监控解决方案

InfluxData 的 InfluxDB Enterprise 可以将任何 InfluxData 实例转变为可以在任何地方运行的生产就绪集群,它提供了一个来自一家供应商的端到端解决方案,因为它包含了 InfluxData 平台的所有组件。通过选择 InfluxDB Enterprise,贝宝 (PayPal) 获得了一体化的指标收集、存储、警报和可视化功能。

  • Telegraf 为监控所有操作系统、应用程序和 Docker 容器提供了可扩展的基于插件的架构。
  • InfluxDB 提供了一个快速、可扩展的时间序列数据库。
  • Chronograf 具有用户界面,带有直观的数据浏览器和查询构建器。
  • Kapacitor 提供了智能警报功能。

贝宝 (PayPal) 还重视 InfluxData 架构允许的部署简单性、可扩展性和定制性,以及 InfluxData 的技术支持。

在他们新的主机监控解决方案中,贝宝 (PayPal) 使用了 Telegraf 聚合器、消息队列和发布者。他们的可扩展性之旅经历了三次迭代才达到他们当前的解决方案,如下所示。

PayPal Technical Architecture Using InfluxDB Enterprise and Telegraf Agents

使用 InfluxDB Enterprise 和 Telegraf 代理的技术架构

在贝宝 (PayPal) 新的主机监控解决方案中

  • 消息队列 (MQ) 在数据库不可用时防止数据丢失(通过保留数据直到消费者消费数据)。
  • 智能发布者监视反压并在集群可用之前退避。
  • 新的设置通过复制因子为 3 和更多数据节点,防止了立即出现单点故障 (SPOF) 的情况(在数据库再次可用之前,它们不消费消息或发布消息)。

通过使用 InfluxDB Enterprise,贝宝 (PayPal) 构建了一个可大规模运行的弹性监控解决方案,在此过程中,他们得出了关于扩展 InfluxDB Enterprise 集群的最佳实践的若干结论。

阅读完整案例研究,了解更多信息。

如果您有兴趣分享您的 InfluxDB 故事,请点击此处