victoriametrics 基础

victoriametrics 介绍

VictoriaMetrics 是一个高性能、高扩展性的开源时间序列数据库和监控解决方案,专为处理大规模指标数据设计。

victoriametrics 特点

兼容 Prometheus API,支持 PromQL
高压缩率(比 Prometheus 高 5-10 倍)
支持水平扩展(集群模式)
低资源消耗,单节点可处理每秒百万级数据点
支持多租户(社区版需配合反向代理实现)

victoriametrics 组件

数据迁移与备份工具
    vmctl:用于不同存储系统间的数据迁移。
    vmbackup/vmrestore:数据备份与恢复工具。
    vmbackupmanager:备份管理工具。

集群组件
    vminsert:数据写入节点,负责分发数据到存储节点。
    vmselect:数据查询节点,处理查询请求。
    vmstorage:数据存储节点,持久化存储时间序列数据。

日志处理
    VictoriaLogs:专为日志设计的低成本存储数据库。

可选组件
    vmauth:认证网关,提供 Basic Auth、Token 等多租户认证(安全增强)
    vmagent:轻量级指标采集器,支持 Prometheus 抓取模式与远程写入(替代 Prometheus)
    vmalert:替换Prometheus server,以victoriametrics为数据源,基于兼容Prometheus的告警规则,判断数据是否异常,并将产生的通知发送给Alertmanager。

victoriametrics 端口

vminsert:8480	HTTP协议	接收来自 Prometheus/vmagent 的远程写入请求
vmselect:8481	HTTP协议	处理用户查询请求,提供 Prometheus API 兼容接口
vmstorage:8482	HTTP协议	存储节点管理接口,暴露监控指标
vmauth:8427	HTTP协议	认证网关服务端口,代理转发请求到后端组件
vmagent:8429	HTTP协议	指标抓取与状态监控端口

victoriametrics 架构

victoriametrics 数据存储结构

存储目录: -storageDataPath

data/
├── big  # 历史数据(冷数据,可挂载对象存储)
│   ├── 2024_11  # 按年月分目录
│   ├── 2024_12
│   ├── 2025_01
│   ├── 2025_02
│   ├── 2025_03
│   └── snapshots 
└── small  # 近期数据(热数据)
    ├── 2024_11
    ├── 2024_12
    ├── 2025_01
    ├── 2025_02
    ├── 2025_03
    └── snapshots

监控指标

所有指标

curl http://<组件IP>:<端口>/metrics  # 获取 Prometheus 格式指标

关键指标

vm_ingest_rows_per_second:数据写入速率
vm_free_disk_space_bytes:剩余磁盘空间
vm_query_duration_seconds:查询延迟分布

查询与API

Prometheus兼容API

/api/v1/query:即时查询。
/api/v1/query_range:范围查询。
支持 round_digits 参数控制结果精度。

数据导出

/api/v1/export:导出 JSON 格式数据。
/api/v1/export/csv:导出 CSV 格式。
支持时间范围过滤(start 和 end 参数)。

与 Prometheus 的对比

特性 VictoriaMetrics Prometheus
存储引擎 列式存储 + 高压缩 块存储(较低压缩率)
集群能力   原生支持   需 Thanos/Mimir
资源消耗   内存/磁盘占用更低  较高
查询性能   更快(尤其大数据量)   中等

应用场景

大规模监控系统:替代 Prometheus + Thanos 架构
IoT 设备数据存储:处理高频传感器数据
金融交易记录:存储低延迟时间序列数据
多租户 SaaS 平台:通过 vmauth 实现租户隔离

参考文档

https://docs.victoriametrics.com/

posted @ 2025-03-03 14:54  小吉猫  阅读(447)  评论(0)    收藏  举报