2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

监控系统从 Prometheus 到 VictoriaMetrics 的转型升级实战:成本降低 30%、性能提升超 4 倍

作者:Aditya Kulkarni

  • 2025-02-26
    北京
  • 本文字数:1630 字

    阅读完需:约 5 分钟

监控系统从 Prometheus 到 VictoriaMetrics 的转型升级实战:成本降低 30%、性能提升超 4 倍

Prezi 的工程团队最近分享了他们从基于 Prometheus 的监控系统切换到 VictoriaMetrics 的经历,重点讲述了在成本优化、性能提升和架构简化方面的成果。这次转型使成本降低了约 30%,复杂查询的完成时间也从 30 多秒缩短至 3 - 7 秒。


Prezi 的高级站点可靠性工程师 Grzegorz Skołyszewski 在一篇 博客文章 中总结了这段历程。到 2024 年,Prezi 的 Prometheus 部署已经过时且成本高昂,它运行在一个已弃用的内部平台上,维护起来需要耗费大量资源。该团队希望通过降低系统复杂度、迁移到 Kubernetes 平台以及降低运营成本,实现指标收集和存储系统的现代化升级。


然而,现有的 Prometheus 系统存在诸多问题。由于其规模(拥有 500 万个活跃序列),资源需求极高;在管理用于仪表盘展示和警报功能的多个实例时十分复杂;并且还依赖老旧的基础设施。


为了解决这些问题,团队开始探索替代方案,对托管式和自托管式的解决方案都进行了评估。托管式方案因成本过高被排除,而像 Thanos、Cortex/Mimir 和 VictoriaMetrics 等自托管式方案则进入了考虑范围。最终,Prezi 工程团队选择了 VictoriaMetrics,因为它具有简单易用、成本效益高和性能优越等优势。


与其他依赖如 AWS S3 等对象存储的工具不同,VictoriaMetrics 使用块存储,这种存储方式成本更低且性能更好,还省去了外部缓存子系统。团队进行了概念验证,结果显示:之前在 Prometheus 中会超时的查询,在 VictoriaMetrics 中 3 - 7 秒就能完成,同时存储使用量降低了 70%,内存使用量降低了 60%,CPU 使用时间减少了 30%。


起初,团队在多个 AWS 可用区(AZ)中部署了 VictoriaMetrics 集群版本,以确保高可用性。但这种部署方式因跨可用区的网络流量,大幅增加了成本。每个指标的写入或查询操作,都需要在 VMInsert 和 VMStorage 等组件之间进行额外的跳转,增加了数据传输费用。为解决这个问题,他们将集群部署改为在不同可用区分别部署两个独立的 VictoriaMetrics Single 单实例。



来源:《可用区如何耗尽你的预算——我们从 Prometheus 到 VictoriaMetrics 的转型之路》


团队引入了负载均衡器来实现故障转移冗余,并配置了代理在实例停机期间缓存数据,以防止数据丢失。这种架构在保持可靠性的同时,最大程度减少了跨可用区的流量。


团队还做了其他改进,以进一步优化系统。为了在不支付企业许可证费用或依赖 Grafana Cloud 等外部服务的情况下实现指标的长期存储,他们部署了另一个设置了自定义保留策略的 VictoriaMetrics Single 实例。


为简化配置管理,他们采用了 VictoriaMetrics Kubernetes Operator,这样产品团队可以直接从自己的代码仓库管理警报配置。对于非 Kubernetes 工作负载,他们部署了额外的静态配置代理。此外,他们还通过 Grafana Private Data Connect 整合了 Grafana 实例,实现了自托管指标与 Grafana Cloud 的无缝集成。


我们发现技术社区在 Hacker News 和 Reddit 上展开了有趣的讨论。Hacker News 上的讨论围绕云计算中跨可用区数据传输成本高昂的问题展开,有人认为这扭曲了最佳实践,也有人认为这种定价反映了扩展数据中心间带宽的成本。


在 Reddit 上,讨论聚焦于监控系统设计的权衡。一种观点警告说,远程写入系统会引入延迟,并依赖中央规则评估,在数据积压时存在故障风险。另一种观点则认为,与 Prometheus 这种有状态的系统相比,无状态代理结合延迟规则评估的方式在可扩展性、一致性和维护便利性上更具优势,而如何权衡则取决于用户的偏好。


这次迁移为 Prezi 的工程运营带来了显著的好处。除了降低成本和缩短查询时间外,借助 Kubernetes 原生工具,指标的获取也变得更加便捷。新系统在可扩展性和可靠性方面也有了提升,更能应对未来的业务增长。


关于作者


Aditya Kulkarni,Aditya 近期一直担任具有技术敏锐度的交付负责人。他曾与多家企业合作,助力其踏上敏捷转型与 DevOps 变革之路。他热爱阅读,始终热衷于关注软件开发领域的最新动态!


原文链接:


https://www.infoq.com/news/2025/02/prezi-prometheus-victoriametrics/

2025-02-26 14:009143

评论 1 条评论

发布
用户头像
victoria metrics还不成熟吧,看看这文章
https://xie.infoq.cn/article/409a5ef57c0dfb3a5db226e23
2025-03-03 08:26 · 湖南
回复
没有更多了

使用python提供一个简单的restful接口

技能实验室

python 3.5+ 10月月更

windows机器配置自签名ssl证书,部署文件服务器

技能实验室

windows SSL证书 10月月更

深度理解Redux原理并实现一个redux

夏天的味道123

React

React-diff原理及应用

xiaofeng

React

python实现ftp服务端和客户端

技能实验室

Python 10月月更

STM32 非接触测温传感器 项目记录(ModbusRTU协议)

矜辰所致

stm32 ModbusRTU 10月月更 非接触测温

AI 应用的全流程存储加速方案技术解析和实践分享

Baidu AICLOUD

海量存储 高性能计算 高性能存储 AI加速

在线问题反馈模块实战(三):自动生成所有Controller、Service、Mapper等文件

bug菌

springboot 项目实战 10月月更

一文读懂 DNS 解析的工作机制和优化挑战

融云 RongCloud

DNS

高级特性之Render Props

夏天的味道123

React

技术分享 | 使用 Zabbix + Grafana 搭建服务器监控系统

霍格沃兹测试开发学社

使用python时刻中监控文件夹,记录文件夹中文件异常信息

技能实验室

Python 10月月更

python中的一个实用的库imghdr,用于探测图片格式

技能实验室

Python 10月月更

Zebec 以 Layer2 的形式推出 Zebec Chain,流支付新时达来临了

鳄鱼视界

SPL 工业智能:识别指定工况

石臻臻的杂货铺

SPL 10月月更

使用python给图片加个盲水印

技能实验室

Python 10月月更

React高级特性之Context

夏天的味道123

React

React-Hook最佳实践

xiaofeng

React

使用python计算两个位置的距离是多远

技能实验室

Python 10月月更

python版局域网端口扫描

技能实验室

Python 10月月更

python替换图片背景色,适用于制作证件照

技能实验室

python 3.5+ 10月月更

使用python处理视频的库moviepy

技能实验室

python 3.5+ 10月月更

使用python校验密码强度

技能实验室

python 3.5+ 10月月更

深度解析云安全责任共担模型

HummerCloud

10月月更

React的5种高级模式

夏天的味道123

React

技术分享 | 一文搞定 Appium 环境配置

霍格沃兹测试开发学社

国产CPU执行SPL实现数据库运算的性能实用性测试

石臻臻的杂货铺

数据库 SPL 10月月更

个推TechDay治数训练营第三期直播预告:分享数据指标体系搭建秘诀!

个推

数据中台 数据分析 指标体系 数据指标 指标中台; 数据分析

在Centos6.10安装python3后安装第三方包遇到的问题

技能实验室

Python 10月月更

testcontainers-java 新增对 TiDB 的支持

PingCAP

TiDB

翻译API的python调用方式

技能实验室

Python 10月月更

监控系统从 Prometheus 到 VictoriaMetrics 的转型升级实战:成本降低 30%、性能提升超 4 倍_软件工程_InfoQ精选文章