VictoriaMetrics 企业实操:私有入口与可验证恢复
验证:未记录
- 适用版本
- 未记录
- 验证范围
- 尚未登记验证记录。
适用于经容量验证、允许维护窗口的单节点时序库。严格高可用需求使用集群版及独立故障演练;本篇交付认证、持久化与恢复,不把单机描述成 HA(高可用)。
1. 存储与认证入口#
沿用 VictoriaLogs 的 VM/私网 vmauth/TLS 配置建立专用账号、加密持久盘和证书,但使用独立实例。安装已验证相同发布系列的 victoria-metrics-prod、vmbackup-prod、vmrestore-prod,固定 SHA-256 校验和。
系统服务启动命令:
ExecStart=/usr/local/bin/victoria-metrics-prod -storageDataPath=/var/lib/victoriametrics -httpListenAddr=127.0.0.1:8428 -retentionPeriod=30d复制配套 victorialogs.service,改 Description、ExecStart 和 ReadWritePaths 为 VictoriaMetrics 路径,保存 victoriametrics.service,创建对应持久盘目录并 enable。vmauth 配置仅允许写用户 /api/v1/write,只读用户 /api/v1/query、/api/v1/query_range;url_prefix 指向 http://127.0.0.1:8428,秘密从外部投递。此单节点路径是独立信任域,不以客户端标签实现多租户安全隔离。
users:
- username: metrics-writer
password: REPLACE_WRITE_SECRET
url_map:
- src_paths: ['/api/v1/write']
url_prefix: http://127.0.0.1:8428
- username: metrics-reader
password: REPLACE_READ_SECRET
url_map:
- src_paths: ['/api/v1/query', '/api/v1/query_range']
url_prefix: http://127.0.0.1:8428配置已有 Prometheus remote_write 指向受信任内部 TLS 域名 /api/v1/write,basic_auth 使用 password_file,tls_config 使用 ca_file 并校验 server_name。保持 Prometheus WAL(预写日志)与远写队列,验证断网重试及最大积压窗口。
2. 业务查询与负向验收#
接入真实订单指标,执行幂等业务验收,再通过只读入口查询 http_requests_total。未认证请求拒绝;reader 不能写;writer 不能访问快照和管理路径;存储 8428 不能从其他主机直接访问。
3. 专属前缀备份#
VM(虚拟机)使用短期云身份,仅有专属桶前缀的必要对象读写与列举权限;不把 AWS/GCP 静态 key 放命令中。以实际 S3 备份为例:
export BACKUP_URI='s3://REPLACE_PRIVATE_BACKUP_BUCKET/vm/REPLACE_UNIQUE_RUN_ID'
sudo -u victoria /usr/local/bin/vmbackup-prod -storageDataPath=/var/lib/victoriametrics -snapshot.createURL=http://127.0.0.1:8428/snapshot/create -dst="$BACKUP_URI"确认退出码 0、备份对象及日志,记录备份起止时间和业务查询时间范围。使用 systemd timer/调度系统定期执行相同固定命令并告警失败;不要只依赖对象存在。实例角色/KMS(密钥管理服务)在恢复 VM 上也须授权。
4. 隔离恢复#
创建匹配版本的独立恢复 VM、空加密盘、独立网络入口;停止其 victoria-metrics 服务,再执行:
sudo systemctl stop victoriametrics
# vmrestore 会同步/覆盖目标数据,只允许本次独立恢复盘。
sudo -u victoria /usr/local/bin/vmrestore-prod -src="$BACKUP_URI" -storageDataPath=/var/lib/victoriametrics
sudo systemctl start victoriametrics在源/恢复实例查询同一已完成备份之前的固定时间窗口,核对关键序列、标签、样本与缺口;不是拿当前时间查询结果比较。记录实际 RPO/RTO(恢复点/恢复时间目标)。勿用 rsync 直接复制运行中的 VictoriaMetrics 数据或内部 snapshot 子目录。官方 vmbackup
5. 升级与清理#
升级先恢复旧数据到隔离实例,再测试新版本写入、查询和备份恢复。降级必须核对存储格式支持;失败时使用旧版本配套备份恢复独立盘。验证磁盘、remote_write 积压、备份年龄与认证失败告警后,才完成演练。仅删除本次恢复环境;保留源库、符合留存策略的备份和加密密钥。