环境信息
服务信息
- 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 工具以用于自动执行智能备份。
数据恢复
vmrestore
从vmbackup创建的备份中恢复数据。恢复需要关闭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)关闭。