使用 InfluxDB Enterprise 构建可扩展的端到端主机监控解决方案
作者:Chris Churilo / 使用案例, 开发者, 产品
2020年1月10日
导航至
贝宝 (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) 提出了四项技术要求,并希望通过一家供应商来满足这些要求
- 一个可靠且可扩展的代理,驻留在所有系统上,以监控基本的操作系统系统指标,例如 CPU、磁盘、内存、第三方应用程序和数据库
- 用于报告历史记录的时间序列数据库后端
- 使用单个代理监控多个 Docker 容器的能力(对于降低整个系统代理的开销至关重要)
- 基于时间序列数据的智能警报
使用 InfluxDB Enterprise 构建主机监控解决方案
InfluxData 的 InfluxDB Enterprise 可以将任何 InfluxData 实例转变为可以在任何地方运行的生产就绪集群,它提供了一个来自一家供应商的端到端解决方案,因为它包含了 InfluxData 平台的所有组件。通过选择 InfluxDB Enterprise,贝宝 (PayPal) 获得了一体化的指标收集、存储、警报和可视化功能。
- Telegraf 为监控所有操作系统、应用程序和 Docker 容器提供了可扩展的基于插件的架构。
- InfluxDB 提供了一个快速、可扩展的时间序列数据库。
- Chronograf 具有用户界面,带有直观的数据浏览器和查询构建器。
- Kapacitor 提供了智能警报功能。
贝宝 (PayPal) 还重视 InfluxData 架构允许的部署简单性、可扩展性和定制性,以及 InfluxData 的技术支持。
在他们新的主机监控解决方案中,贝宝 (PayPal) 使用了 Telegraf 聚合器、消息队列和发布者。他们的可扩展性之旅经历了三次迭代才达到他们当前的解决方案,如下所示。
在贝宝 (PayPal) 新的主机监控解决方案中
- 消息队列 (MQ) 在数据库不可用时防止数据丢失(通过保留数据直到消费者消费数据)。
- 智能发布者监视反压并在集群可用之前退避。
- 新的设置通过复制因子为 3 和更多数据节点,防止了立即出现单点故障 (SPOF) 的情况(在数据库再次可用之前,它们不消费消息或发布消息)。
通过使用 InfluxDB Enterprise,贝宝 (PayPal) 构建了一个可大规模运行的弹性监控解决方案,在此过程中,他们得出了关于扩展 InfluxDB Enterprise 集群的最佳实践的若干结论。
阅读完整案例研究,了解更多信息。
如果您有兴趣分享您的 InfluxDB 故事,请点击此处。