


























作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
VictoriaMetrics是一款快速、经济高效且可扩展的监控与管理时序数据的解决方案。它提供高性能与高可靠性,是各类规模企业的理想选择。
我们在生产环境中已经直接用VictoriaMetrics取代了Prometheus的地位,直接是去Prometheus化,直接使用高性能的VictoriaMetrics集群。
GitHub地址:
https://github.com/VictoriaMetrics/VictoriaMetrics

| 文件名后缀 | 包类型 | 适用场景 | 内部二进制 |
|---|---|---|---|
| -cluster.tar.gz | 开源集群版 | 你要部署的 VM 集群(vmstorage-prod/vminsert-prod/vmselect-prod) | 集群三组件,免费开源无功能限制 |
| -enterprise-cluster.tar.gz | 企业集群版 | 付费商业版,支持集群 + 企业特性(告警分组、权限、审计等) | 集群三组件 + 企业增强模块,需授权 |
| .tar.gz(无 cluster) | 单机版 | 单节点 VM,仅victoria-metrics-prod,不支持分布式集群 | 仅单机存储查询一体程序,不能搭集群 |
| _checksums.txt | 校验文件 | sha256 校验,下载后核对完整性,防止文件损坏 / 篡改 | 无二进制,仅校验值 |
如上图所示,如果要部署集群版本的话,建议选择"victoria-metrics-linux-amd64-v1.146.0-cluster.tar.gz"(27.4MB 开源免费集群包)
不要用单机版v1.146.0.tar.gz,该包无法分布式分片存储。
1.下载软件包
[root@master231 ~]# wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.146.0/victoria-metrics-linux-amd64-v1.146.0-cluster.tar.gz
2.下载校验文件
[root@master231 ~]# wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.146.0/victoria-metrics-linux-amd64-v1.146.0-cluster_checksums.txt
3.创建工作目录
[root@master231 ~]# mkdir -pv /yinzhengjie/softwares/victoria-metrics
4.解压软件包
[root@master231 ~]# tar xf victoria-metrics-linux-amd64-v1.146.0-cluster.tar.gz -C /yinzhengjie/softwares/victoria-metrics
[root@master231 ~]#
5.校验文件是否完整
[root@master231 ~]# cd /yinzhengjie/softwares/victoria-metrics/
[root@master231 victoria-metrics]#
[root@master231 victoria-metrics]# ll
total 83352
drwxr-xr-x 2 root root 4096 Jun 30 02:20 ./
drwxr-xr-x 4 root root 4096 Jun 30 02:18 ../
-rw-r--r-- 1 root root 360 Jun 30 02:16 victoria-metrics-linux-amd64-v1.146.0-cluster_checksums.txt
-rw-r--r-- 1 root root 28727105 Jun 30 02:16 victoria-metrics-linux-amd64-v1.146.0-cluster.tar.gz
-rwxr-xr-x 1 yinzhengjie yinzhengjie 17738024 Jun 19 20:42 vminsert-prod*
-rwxr-xr-x 1 yinzhengjie yinzhengjie 21165432 Jun 19 20:42 vmselect-prod*
-rwxr-xr-x 1 yinzhengjie yinzhengjie 17701240 Jun 19 20:42 vmstorage-prod*
[root@master231 victoria-metrics]#
[root@master231 victoria-metrics]# sha256sum -c victoria-metrics-linux-amd64-v1.146.0-cluster_checksums.txt victoria-metrics-linux-amd64-v1.146.0-cluster.tar.gz
victoria-metrics-linux-amd64-v1.146.0-cluster.tar.gz: OK
vminsert-prod: OK
vmselect-prod: OK
vmstorage-prod: OK
[root@master231 victoria-metrics]#
1.将软件包移动到Path变量
[root@master231 victoria-metrics]# ll vm*
-rwxr-xr-x 1 yinzhengjie yinzhengjie 17738024 Jun 19 20:42 vminsert-prod*
-rwxr-xr-x 1 yinzhengjie yinzhengjie 21165432 Jun 19 20:42 vmselect-prod*
-rwxr-xr-x 1 yinzhengjie yinzhengjie 17701240 Jun 19 20:42 vmstorage-prod*
[root@master231 victoria-metrics]#
[root@master231 victoria-metrics]#
[root@master231 victoria-metrics]# mv vm* /usr/local/bin/
[root@master231 victoria-metrics]#
[root@master231 victoria-metrics]# ll /usr/local/bin/vm*
-rwxr-xr-x 1 yinzhengjie yinzhengjie 17738024 Jun 19 20:42 /usr/local/bin/vminsert-prod*
-rwxr-xr-x 1 yinzhengjie yinzhengjie 21165432 Jun 19 20:42 /usr/local/bin/vmselect-prod*
-rwxr-xr-x 1 yinzhengjie yinzhengjie 17701240 Jun 19 20:42 /usr/local/bin/vmstorage-prod*
[root@master231 victoria-metrics]#
2.将程序同步到其他2个节点
[root@master231 ~]# scp -p /usr/local/bin/vm* 10.0.0.232:/usr/local/bin/
[root@master231 ~]# scp -p /usr/local/bin/vm* 10.0.0.233:/usr/local/bin/
1.创建专用运行用户
[root@master231 ~]# useradd -m -s /sbin/nologin victoriametrics
[root@master231 ~]#
2.数据目录(vmstorage专用,SSD磁盘)
[root@master231 ~]# mkdir -p /yinzhengjie/data/vmstorage
[root@master231 ~]#
[root@master231 ~]# chown -R victoriametrics:victoriametrics /yinzhengjie/data/vmstorage
[root@master231 ~]#
[root@master231 ~]# ll /yinzhengjie/data/vmstorage -d
drwxr-xr-x 2 victoriametrics victoriametrics 4096 Jun 30 02:30 /yinzhengjie/data/vmstorage/
[root@master231 ~]#
温馨提示:
其他两个节点都需要做此操作。
1. 创建 systemd 服务文件 /etc/systemd/system/vmstorage.service
cat > /etc/systemd/system/vmstorage.service<<'EOF'
[Unit]
Description=Jason Yin's VictoriaMetrics Storage Cluster
After=network.target
[Service]
Type=simple
User=victoriametrics
Group=victoriametrics
Restart=always
RestartSec=5
# 时区、数据路径、保留周期90天、全端口绑定
ExecStart=/usr/local/bin/vmstorage-prod \
-loggerTimezone=Asia/Shanghai \
-storageDataPath=/yinzhengjie/data/vmstorage \
-retentionPeriod=90d \
-httpListenAddr=0.0.0.0:8482 \
-vminsertAddr=0.0.0.0:8400 \
-vmselectAddr=0.0.0.0:8401 \
-memory.allowedPercent=60
[Install]
WantedBy=multi-user.target
EOF
2.启动服务
systemctl daemon-reload
systemctl enable --now vmstorage
systemctl status vmstorage
3.测试校验
[root@master231 ~]# curl http://127.0.0.1:8482/-/healthy
VictoriaMetrics is Healthy.
[root@master231 ~]#
[root@master232 ~]# curl http://127.0.0.1:8482/-/healthy
VictoriaMetrics is Healthy.
[root@master232 ~]#
[root@master233 ~]# curl http://127.0.0.1:8482/-/healthy
VictoriaMetrics is Healthy.
[root@master233 ~]#
1.准备启动脚本
cat > /etc/systemd/system/vminsert.service <<'EOF'
[Unit]
Description=Jason Yin's VictoriaMetrics Insert Cluster
After=network.target vmstorage.service
[Service]
Type=simple
User=victoriametrics
Group=victoriametrics
Restart=always
RestartSec=5
ExecStart=/usr/local/bin/vminsert-prod \
-loggerTimezone=Asia/Shanghai \
-httpListenAddr=0.0.0.0:8480 \
# 所有vmstorage节点写入端口列表
-storageNode=10.0.0.231:8400,10.0.0.232:8400,10.0.0.233:8400 \
# 副本因子2:每条数据存2个storage,单节点故障不丢数据
-replicationFactor=2 \
# 并发写入调优
-maxConcurrentInserts=20000
[Install]
WantedBy=multi-user.target
EOF
2.配置开机自启动
systemctl daemon-reload
systemctl enable --now vminsert
systemctl status vminsert
3.测试验证
[root@master231 ~]# curl http://127.0.0.1:8480/-/healthy
VictoriaMetrics is Healthy.
[root@master231 ~]#
[root@master232 ~]# curl http://127.0.0.1:8480/-/healthy
VictoriaMetrics is Healthy.
[root@master232 ~]#
[root@master233 ~]# curl http://127.0.0.1:8480/-/healthy
VictoriaMetrics is Healthy.
[root@master233 ~]#
1.编写启动脚本
cat > /etc/systemd/system/vmselect.service <<'EOF'
[Unit]
Description=Jason Yin's VictoriaMetrics Select Cluster
After=network.target vmstorage.service
[Service]
Type=simple
User=victoriametrics
Group=victoriametrics
Restart=always
RestartSec=5
ExecStart=/usr/local/bin/vmselect-prod \
-loggerTimezone=Asia/Shanghai \
-httpListenAddr=0.0.0.0:8481 \
# 所有storage查询端口
-storageNode=10.0.0.231:8401,10.0.0.232:8401,10.0.0.233:8401 \
# 和vminsert统一,自动合并副本重复数据
-dedup.minScrapeInterval=15s \
# 查询并发限制
-search.maxConcurrentRequests=1000 \
-search.maxQueryDuration=30s
[Install]
WantedBy=multi-user.target
EOF
2.配置开机自启动
systemctl daemon-reload
systemctl enable --now vmselect
systemctl status vmselect
3.测试验证
[root@master231 ~]# curl http://127.0.0.1:8481/-/healthy
VictoriaMetrics is Healthy.
[root@master231 ~]#
[root@master232 ~]# curl http://127.0.0.1:8481/-/healthy
VictoriaMetrics is Healthy.
[root@master232 ~]#
[root@master233 ~]# curl http://127.0.0.1:8481/-/healthy
VictoriaMetrics is Healthy.
[root@master233 ~]#
1.安装nginx程序
[root@ansible99 ~]# apt -y install nginx
2.修改配置文件
[root@ansible99 ~]# cat /etc/nginx/conf.d/vm-cluster.conf
# 写入入口:vminsert 8480
upstream vm_insert {
server 10.0.0.231:8480;
server 10.0.0.232:8480;
server 10.0.0.233:8480;
}
# 查询入口:vmselect 8481
upstream vm_select {
server 10.0.0.231:8481;
server 10.0.0.232:8481;
server 10.0.0.233:8481;
}
server {
listen 8480;
location / {
proxy_pass http://vm_insert;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
server {
listen 8481;
location / {
proxy_pass http://vm_select;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
[root@ansible99 ~]#
3.检查nginx的配置文件
[root@ansible99 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@ansible99 ~]#
4.热加载配置
[root@ansible99 ~]# nginx -s reload
2026/06/30 03:40:27 [notice] 8338#8338: signal process started
[root@ansible99 ~]#
[root@ansible99 ~]#
5.检查端口是否监听
[root@ansible99 ~]# ss -ntl | egrep "8480|8481"
LISTEN 0 511 0.0.0.0:8481 0.0.0.0:*
LISTEN 0 511 0.0.0.0:8480 0.0.0.0:*
[root@ansible99 ~]#
1.向负载均衡写入接口推送指标
[root@ansible99 ~]# curl -X POST http://10.0.0.99:8480/insert/0/prometheus/api/v1/import/prometheus \
-H "Content-Type: text/plain" \
-d 'test_metric{node="vm-cluster"} 1668888888 123.45'
2.
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。