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/

浙公网安备 33010602011771号