VictoriaMetrics轻量化时序指标监控替代

为什么选择VictoriaMetrics替代Prometheus

很多运维朋友发现Prometheus在监控规模增大后,内存和磁盘占用越来越吃紧。
VictoriaMetrics作为Prometheus兼容的轻量化时序数据库,在同样的数据量下内存消耗可降低10倍以上,并且完全支持PromQL查询。
对于个人服务器、中小企业环境,迁移成本很低。
本文会一步步带你完成从Prometheus到VictoriaMetrics的切换,全程适合零基础操作。

开始迁移前的环境准备

你需要一台Linux服务器(CentOS 7+或Ubuntu 20.04+),并已部署Prometheus服务。
如果没有Prometheus,可以直接用VictoriaMetrics的vmagent代替抓取,但本文采用remote write方式实现无缝过渡。

  • 确认服务器有至少1GB空闲内存和10GB可用磁盘
  • 开放防火墙端口:VictoriaMetrics默认端口8428,Prometheus remote write端口9090不变
  • 备份Prometheus数据和配置文件(很重要)

第一步:安装并启动VictoriaMetrics单机版

VictoriaMetrics提供单机二进制文件,部署最简单。
前往其Github Releases页面下载最新稳定版的Linux amd64压缩包,或直接使用wget:

wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/latest/download/victoria-metrics-linux-amd64.tar.gz
tar -xzf victoria-metrics-linux-amd64.tar.gz
sudo mv victoria-metrics-prod /usr/local/bin/

创建数据目录并启动:

mkdir -p /var/lib/victoria-metrics
nohup /usr/local/bin/victoria-metrics-prod -storageDataPath /var/lib/victoria-metrics -httpListenAddr :8428 &

启动后访问 http://你的服务器IP:8428 ,看到VictoriaMetrics的Web界面即成功。

第二步:让Prometheus数据写入VictoriaMetrics

修改Prometheus配置文件(通常是/etc/prometheus/prometheus.yml),
在global块或scrape_configs同级添加remote_write目标:

remote_write:
  - url: "http://localhost:8428/api/v1/write"

如果VictoriaMetrics不在本机,把localhost换成对应IP。
保存后重新加载Prometheus:

sudo systemctl reload prometheus   # 或 curl -X POST http://localhost:9090/-/reload

此时所有新指标都会实时写入VictoriaMetrics。
原有Prometheus数据不会自动迁移,但可以保持Prometheus继续运行,直到你确认新数据稳定后再迁移历史数据。
历史数据迁移可通过vmctl工具完成,本文暂不展开。

第三步:验证数据是否正常迁移

在浏览器打开VictoriaMetrics的查询界面(http://IP:8428/vmui),输入任意PromQL查询,例如:

up

如果能返回结果,说明写入成功。
也可以对比Prometheus和VM的同一个指标值是否一致。
还可以查看存储文件大小:

du -sh /var/lib/victoria-metrics/*

通常VictoriaMetrics的数据压缩率远高于Prometheus,磁盘占用明显减少。

使用中的高频问题与避坑

问题1:Prometheus remote_write报错“server returned HTTP status 400”
原因是VictoriaMetrics版本与Prometheus版本不兼容。建议均使用最新稳定版,或检查API路径是否为/api/v1/write。

问题2:VictoriaMetrics内存仍然很高
VictoriaMetrics默认会缓存最近的数据,可通过启动参数-memory.allowedPercent限制内存使用百分比。例如-memory.allowedPercent=30

问题3:如何停止Prometheus只留VictoriaMetrics?
确认VictoriaMetrics稳定运行一段时间后,可以修改Prometheus配置去掉remote_write,然后停止Prometheus服务,并让VictoriaMetrics直接抓取targets(使用vmagent或配置Prometheus兼容摸式)。建议保留Prometheus一段时间,直到你完全信任VM的数据完整性。

避坑提醒: 迁移前先在测试环境演练,生产环境务必先备份Prometheus数据目录。
VictoriaMetrics的-storageDataPath目录不要放在系统根分区,避免磁盘写满影响系统。

总结:轻量化监控带来的改变

通过以上几步,你已经成功用VictoriaMetrics接替了Prometheus的写入端。
后续可以完全去掉Prometheus,只保留VictoriaMetrics+vmagent,实现真正的轻量化时序监控。
如果你对历史数据迁移或更多高级配置感兴趣,可以继续查看本站相关教程。
现在,检查你的监控仪表板,感受VictoriaMetrics带来的提速和资源释放吧。

分享到:
上一篇
OpenTelemetry分布式链路追踪服务器集群部署实操指
下一篇
Loki轻量化日志分析节省服务器磁盘存储空间
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意