You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何针对VictoriaMetrics特定标签测量磁盘使用及相关指标?

针对单节点开源版VictoriaMetrics的多租户监控方案

1. 特定标签对的磁盘占用估算

开源版VictoriaMetrics没有按标签拆分存储的结构,所有时间序列按时间分块压缩存储在统一的TSDB目录下,没法直接定位到对应标签的独立文件路径用du查询。不过可以通过两种方式估算:

  • 导出数据估算:用vmctl export工具导出带有目标<key>=<value>标签的所有时间序列数据,查看导出文件大小后,结合VictoriaMetrics的平均压缩比(通常10-20倍,可根据自身数据调整)计算实际磁盘占用。命令示例:
    vmctl export -prometheus.url=http://your-vm-addr:8428 -match '{<key>="<value>"}' -output-file=tenant_data.json
    
    用du -h tenant_data.json得到导出文件大小,再除以压缩比,就能得到近似的磁盘占用值。
  • 指标推算:先统计该标签下的序列数和平均每个序列的数据点数量,再结合单数据点压缩后的平均占用(约1-2字节)估算总占用。比如序列数为N,平均每个序列有M个点,总占用大概是N*M*1.5字节。

2. 统计特定标签的时间序列数量

直接用元查询功能,执行以下PromQL即可:

count(vm_series{<key>="<value>"})

或者更简洁的写法:

vm_series_count({<key>="<value>"})

两个查询都会返回带有目标标签对的时间序列总数。

3. 统计特定标签的数据点数量

  • 若要统计当前存储的所有数据点总数:
    sum(vm_rows{<key>="<value>"})
    
  • 若要统计某时间段内新增的数据点数量(比如过去24小时):
    sum(increase(vm_rows{<key>="<value>"}[24h]))
    

注:以上元查询需确保VictoriaMetrics已启用元指标暴露(默认启用,可访问http://vm-addr:8428/metrics查看是否存在vm_series、vm_rows指标)。

内容的提问来源于stack exchange,提问作者Telokis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 09:55:21