VictoriaMetrics 数据的快照与迁移

环境信息

服务信息

  • vminsert: 192.168.1.2:8480
  • vmselect:192.168.1.2:8481
  • vmstorage:192.168.1.2:8482
  • prometheus: 192.168.1.2:9090

服务快速部署

cd /root/
wget -c https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.102.1/victoria-metrics-linux-amd64-v1.102.1-cluster.tar.gz
wget -c https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.102.1/vmutils-linux-amd64-v1.102.1.tar.gz
tar xf victoria-metrics-linux-amd64-v1.102.1-cluster.tar.gz
tar xf vmutils-linux-amd64-v1.102.1.tar.gz
# 启动vminsert
nohup ./vminsert-prod -storageNode 127.0.0.1  &
# 启动vmselect
nohup  ./vmselect-prod  -storageNode 127.0.0.1 &
# 启动vmstorage
mkdir vmstorage-data
nohup ./vmstorage-prod &
# 启动prometheus, (docker 环境就自己解决吧)
mkdir /root/prometheus-data
chmod 777 /root/prometheus-data
docker run -d \
    -p 9090:9090 \
    -v /root/prometheus-data:/prometheus \
    harbor.soulapp-inc.cn/minnow-global/prometheus \
    --config.file=/etc/prometheus/prometheus.yml \
    --storage.tsdb.path=/prometheus \
    --web.console.libraries=/usr/share/prometheus/console_libraries \
    --web.console.templates=/usr/share/prometheus/consoles \
    --web.enable-admin-api

即时快照

VictoriaMetrics 使用硬链接为时间序列数据和倒排索引创建即时快照。

原始 MergeTree 合并/删除快照链接的部分后,快照开始占用额外空间。因此,不要忘记删除旧快照以释放磁盘空间。

通过以下 http 处理程序使用:

  • /snapshot/list— 列出可用的快照
  • /snapshot/create— 创建新的快照
  • /snapshot/delete?snapshot=…— 删除给定的快照

创建的快照位于/<-storageDataPath>/snapshots目录下,其中-storageDataPath有一个命令行标志,包含 VictoriaMetrics 存储数据的文件系统路径。

数据定期备份:

./vmbackup-prod  -dst=fs:///root/vmbackup -snapshot.createURL  http://localhost:8482/snapshot/create  -storageDataPath vmstorage-data -origin fs:///root/vmbackup

-origin命令加速新的备份

增量备份

如果指向已经存在的备份,则执行增量备份。

智能备份

将完整的每日备份存储到YYYYMMDD文件夹中,并将增量每小时备份创建到latest文件夹中

./vmbackup -storageDataPath=</path/to/victoria-metrics-data> -snapshot.createURL=http://localhost:8428/snapshot/create -dst=gs://<bucket>/latest
./vmbackup -origin=gs://<bucket>/latest -dst=gs://<bucket>/<YYYYMMDD>

另请参阅vmbackupmanager 工具以用于自动执行智能备份。

数据恢复

vmrestorevmbackup创建的备份中恢复数据。恢复需要关闭vmstorage服务,并且只能同类型集群的数据恢复。

./vmrestore-prod  -src=fs:///root/vmbackup  -storageDataPath vmstorage-data

数据恢复会覆盖原有数据,一般情况下不建议使用恢复功能。

promtheus数据迁移

prometheus 数据备份

v2.28 新功能

curl -XPOST http://localhost:9090/api/v1/admin/tsdb/snapshot

返回结果:

{"status":"success","data":{"name":"20240816T084117Z-56e56342fbeeb806"}}

通过以下命令对数据镜像迁移:

./vmctl-prod  prometheus  --prom-snapshot prometheus-data/snapshots/20240816T084117Z-56e56342fbeeb806 --vm-concurrency=1 --vm-batch-size=200000  --prom-concurrency=3  --vm-addr http://localhost:8480 --vm-account-id 0
  • –vm-concurrency: 导入数据并发线程。
  • –vm-batch-size: 每批大小。
  • –prom-concurrency: 同时运行的快照读取器个数。
  • –prom-filter-time-start: 选择时间戳大于等于所提供值的时间序列。例如:2020-01-01T20:07:00Z
  • –prom-filter-time-end: 选择时间戳小于等于指定值的时间序列。例如:2020-01-01T20:07:00Z
  • –prom-filter-label: 过滤标签。例如:‘_name_’ 按名称过滤。
  • –prom-filter-label-value: 过滤值的正则,默认 ‘*’。
  • –vm-addr: 执行导入请求的VictoriaMetrics地址。导入到集群版本时,不要忘记另外设置–vm-account-id标志。
  • –vm-compress: 是否压缩,默认true。
  • –vm-rate-limit:数据传输速率,单位:bytes/s,默认(0)关闭。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值