跳转至

VictoriaMetrics 运维手册

部署参数

参数 说明
镜像 victoriametrics/victoria-metrics:v1.108.1 单节点版
数据保留 -retentionPeriod=90d 90 天
监听端口 8428 HTTP API
存储卷 tfrs_vmdata/victoria-metrics-data Docker volume
内存限制 1G(生产环境) deploy.resources.limits.memory

存储估算

  • 100 租户 x 5 指标/分钟 x 90 天 ≈ 2GB
  • VictoriaMetrics 压缩率通常 10:1,实际磁盘占用更小

常用排查命令

# 健康检查
curl http://localhost:8428/-/healthy

# TSDB 状态(活跃时间序列数、存储大小等)
curl http://localhost:8428/api/v1/status/tsdb

# 手动查询(即时查询)
curl 'http://localhost:8428/api/v1/query?query=llm_tokens'

# 范围查询(最近 10 分钟)
curl 'http://localhost:8428/api/v1/query_range?query=llm_tokens&start='$(date -v-10M +%s)'&end='$(date +%s)'&step=60'

# 手动写入测试数据(Prometheus exposition format)
curl -d 'llm_tokens{cluster_id="1",namespace="test",trace_id="abc",model_name="gpt-4",provider="openai"} 100' \
  http://localhost:8428/api/v1/import/prometheus

# 查看所有标签名
curl http://localhost:8428/api/v1/labels

# 查看指定标签的所有值
curl 'http://localhost:8428/api/v1/label/cluster_id/values'

# 容器日志
docker logs tfrs_victoriametrics --tail 50

# 强制刷盘
curl -X POST http://localhost:8428/-/forceMerge

备份与恢复

方法 1:Docker volume 快照

# 停止容器
docker stop tfrs_victoriametrics

# 备份 volume
docker run --rm -v tfrs_vmdata:/data -v $(pwd):/backup alpine \
  tar czf /backup/vmdata-backup-$(date +%Y%m%d).tar.gz -C /data .

# 恢复
docker run --rm -v tfrs_vmdata:/data -v $(pwd):/backup alpine \
  sh -c "rm -rf /data/* && tar xzf /backup/vmdata-backup-YYYYMMDD.tar.gz -C /data"

# 重启
docker start tfrs_victoriametrics

方法 2:vmbackup/vmrestore(推荐生产使用)

参考 VictoriaMetrics 官方文档:https://docs.victoriametrics.com/vmbackup/

监控告警

建议监控以下指标(通过 VictoriaMetrics 自身 /metrics 端点):

  • vm_rows_inserted_total:写入行数(突然归零说明 remote_write 中断)
  • vm_active_time_series:活跃时间序列数
  • vm_free_disk_bytes:可用磁盘空间
  • process_resident_memory_bytes:内存使用