使用VictoriaMetrics 对Prometheus的数据进行分布式存储
创始人
2024-03-28 16:47:35
0

前言

Prometheus 就是一个很好的时序数据库,对于监控数据量没有超过千万级的 情况下没必要进行分布式存储。一般的监控数据存3个月以内即可,所以数据量并不会很大。

并且生产环境可以搞多个Proms数据源在Grafana中做统一的告警。并且在时序数据库的排名表如下, VictoriaMetrics  都排不上号。

官网

##  github
https://github.com/VictoriaMetrics/operator### 
https://github.com/VictoriaMetrics/VictoriaMetrics/## web
https://victoriametrics.com/##  参考文档
https://www.nestealin.com/7dbee069/

VictoriaMetrics 优点

当前单节点Prometheus集中存储多个集群数据,官方架构问题无法横向扩展优化。数据可异地存储。

  • 需要分布式数据存储,支持并发查询,优化查询性能
  • 可以兼容Prometheus写入或服务端中转写入
  • 可支持数据副本(次要)
  • VictoriaMetrics是一个快速、高效和可扩展的时序数据库,可作为Prometheus的长期存储,比如要存监控数据半年或者一年以上
  • VictoriaMetrics支持PromQL查询语言,也支持Influxdb行协议,对当前主流的时序协议支持比较好

VictoriaMetrics 架构图

单实例的 victoriametric只有一个进程。

集群版的victoriametrics有3类进程,即3类微服务组成:

  • vmstorage: 数据存储节点,负责存储时序数据;
  • vmselect: 数据查询节点,负责接收用户查询请求,向vmstorage查询时序数据;
  • vminsert: 数据插入节点,负责接收用户插入请求,向vmstorage写入时序数据;

在部署时可以按照需求,不同的微服务部署不同的副本,以应对业务需求:

  • 若数据量比较大,部署较多的vmstorage副本;
  • 若查询请求比较多,部署较多的vmselect副本;
  • 若插入请求比较多,部署较多的vminsert副本;


集群中vmselect、vminsert节点都是无状态的,唯一有状态的是vmstorage。

部署模式

单节点版

直接运行一个二进制文件,既可以运行,官方建议采集数据点(data points)低于100w/s,推荐VM单节点版,简单好维护,但不支持告警。

集群版

支持数据水平拆分,把功能拆分为vmstorage、 vminsert、vmselect,如果要替换Prometheus,还需要vmagent、vmalert。

集群版主要特点:

  • 支持单节点版本的所有功能。
  • 性能和容量水平扩展。
  • 支持时间序列数据的多个独立命名空间(多租户)。
  • 支持多副本。
  • 图表功能比Proms强大

单机部署实践

## 
wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.84.0/victoria-metrics-linux-amd64-v1.84.0.tar.gz##
systemctl enable --now victoria-metrics-prod.service

编写启动文件

vim /etc/systemd/system/victoria-metrics-prod.service

[Unit]
Description=For Victoria-metrics-prod Service
After=network.target[Service]
ExecStart=/opt/victoria-metrics/victoria-metrics-prod -storageDataPath=/opt/victoria-metrics/data -retentionPeriod=3[Install]
WantedBy=multi-user.target

配置Prometheus:

## 写入其他时序数据库
remote_write:- url: http://10.10.10.120:8428/api/v1/write

验证:

###
http://10.10.10.120:8428/vmui/

添加Grafana数据源

因为Prometheus的数据是 存其他时序数据库,所以你原来的Prometheus数据源也是可以查到数据的,两者不冲突。

当然你也可以配置 vm的数据源查数据。因为vm支持PromsSQL。 Grafana 导入指定模板:8919

相关内容

热门资讯

向上·2025湖湘经济关键词盘... 三湘都市报·新湖南客户端 全媒体记者 龙思言 “守住消费券发放时间,买了就是省钱!”近日,已有身孕的...
宁波这类车淘汰更新,补贴政策调... 此前 宁波市生态环境局等5部门联合印发了 《宁波市国四排放标准 非营运中、重型货车提前淘汰 及新能源...
成都警方通报:男子因纠纷引燃易... 12月28日,成都市公安局高新区分局发布警情通报: 12月28日下午,高新区南三环路四段一汽车销售服...
爱奇艺回应“男子充25年会员退... 近日,河南许昌黄先生充了25年爱奇艺会员后遭遇退费难一事受到关注,相关词条登上微博热搜。 据河南广播...
成都警方:一男子因纠纷引发燃爆... 12月28日,成都市公安局高新区分局发布警情通报: 12月28日下午,我区南三环路四段一汽车销售服务...
成都高新警方通报:男子因纠纷在... 本文转自【成都高新公安】; 12月28日,成都市公安局高新区分局发布警情通报:
青海一人在出租屋内遇害!犯罪嫌... 关于规范非机动车停放秩序的通告 2000年2月2日,同仁县(现同仁市)发生一起恶性刑事案件,受害人马...
成都警方:男子因纠纷于4S店外... 新京报讯 12月28日,成都警方发布警情通报,内容如下: 编辑 李忆林子
原创 被... 被苹果起诉还敢爆料?Jon Prosser这次直接甩出王炸,iPhone首款折叠屏渲染图全网刷屏!书...
财政政策如何继续“更加积极”—... 新华社北京12月28日电 题:财政政策如何继续“更加积极”——解读2026年财政工作新看点 新华社记...