使用 InfluxDB Enterprise 构建可扩展的端到端主机监控解决方案
作者 Chris Churilo / 用例,开发者,产品
2020年1月10日
导航到
“如果你不能衡量某事物以获得结果,你就无法在它上面变得更好。更糟糕的是,你将不知道应该专注于什么,”PayPal 的资深工程经理、SRE 监控部门的 Dennis 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企业版,PayPal构建了一个可扩展的监控解决方案,在这个过程中,他们得出了关于扩展InfluxDB企业集群的最佳实践的一些结论。
阅读完整案例研究了解更多信息。
如果您想分享您的InfluxDB故事,请点击这里。