
- 1 VicoriaMetrics概述
VictoriaMetrics是一个快速、经济高效且可扩展的监控解决方案和时间序列数据库。
官网地址:
https://victoriametrics.com/
官方文档:
https://docs.victoriametrics.com/
GitHub地址:
https://github.com/VictoriaMetrics/VictoriaMetrics
部署文档:
https://docs.victoriametrics.com/quick-start/
- 2 部署victoriametrics
2.1 下载victoriametrics
版本选择建议使用93 LTS,因为使用97 LTS貌似需要企业授权,启动报错,发现如下信息:
[root@prometheus-server33 ~]# journalctl -u victoria-metrics.service -f
...
Nov 14 12:03:28 prometheus-server33 victoria-metrics-prod[16999]: 2024-11-14T04:03:28.576Z error VictoriaMetrics/lib/license/copyrights.go:33 VictoriaMetrics Enterprise license is required. Please obtain it at https://victoriametrics.com/products/enterprise/trial/ and pass it via either -license or -licenseFile command-line flags. See https://docs.victoriametrics.com/enterprise/
wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.93.16/victoria-metrics-linux-amd64-v1.93.16.tar.gz
2.2 解压软件包
[root@node-exporter43 ~]# tar xf victoria-metrics-linux-amd64-v1.93.16.tar.gz -C /usr/local/bin/
[root@node-exporter43 ~]#
[root@node-exporter43 ~]# ll /usr/local/bin/victoria-metrics-prod
-rwxr-xr-x 1 violet violet 22216200 Jul 18 2024 /usr/local/bin/victoria-metrics-prod*
[root@node-exporter43 ~]#
2.3 编写启动脚本
cat > /etc/systemd/system/victoria-metrics.service <<EOF
[Unit]
Description=Oldboyedu Linux VictoriaMetrics Server
Documentation=https://docs.victoriametrics.com/
After=network.target
[Service]
ExecStart=/usr/local/bin/victoria-metrics-prod \
-httpListenAddr=0.0.0.0:8428 \
-storageDataPath=/violet/data/victoria-metrics \
-retentionPeriod=3
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now victoria-metrics.service
systemctl status victoria-metrics
2.4 检查端口是否存活
[root@node-exporter43 ~]# ss -ntl | grep 8428
LISTEN 0 4096 0.0.0.0:8428 0.0.0.0:*
[root@node-exporter43 ~]#
2.5 查看webUI
http://10.0.0.43:8428/
prometheus配置VictoriaMetrics远端存储
prometheus联邦模式搭配VictoriaMetrics单点远端存储架构图

- 1 修改prometheus的配置文件
[root@prometheus-server31 prometheus-2.53.4.linux-amd64]# vim prometheus.yml
...
- job_name: "violet-linux96-VictoriaMetrics-node-exporter"
static_configs:
- targets:
- "10.0.0.41:9100"
- "10.0.0.42:9100"
- "10.0.0.43:9100"
# 在顶级字段中配置VictoriaMetrics地址
remote_write:
- url: http://10.0.0.43:8428/api/v1/write
- 2 重新加载prometheus的配置
[root@prometheus-server31 prometheus-2.53.4.linux-amd64]# systemctl stop prometheus-server.service
[root@prometheus-server31 prometheus-2.53.4.linux-amd64]#
[root@prometheus-server31 prometheus-2.53.4.linux-amd64]# ll
total 261356
drwxr-xr-x 4 1001 fwupd-refresh 4096 Mar 28 17:18 ./
drwxr-xr-x 3 root root 4096 Mar 26 09:45 ../
drwxr-xr-x 2 1001 fwupd-refresh 4096 Mar 18 23:05 console_libraries/
drwxr-xr-x 2 1001 fwupd-refresh 4096 Mar 18 23:05 consoles/
-rw-r--r-- 1 1001 fwupd-refresh 11357 Mar 18 23:05 LICENSE
-rw-r--r-- 1 1001 fwupd-refresh 3773 Mar 18 23:05 NOTICE
-rw-r--r-- 1 root root 135 Mar 28 15:09 oldboyedu-file-sd.json
-rw-r--r-- 1 root root 148 Mar 28 15:10 oldboyedu-file-sd.yaml
-rwxr-xr-x 1 1001 fwupd-refresh 137836884 Mar 18 22:52 prometheus*
-rw-r--r-- 1 root root 5321 Mar 28 15:02 prometheus2025-03-28-AM
-rw-r--r-- 1 1001 fwupd-refresh 3296 Mar 28 17:16 prometheus.yml
-rw-r--r-- 1 root root 1205 Mar 27 10:05 prometheus.yml2025-03-26
-rw-r--r-- 1 root root 2386 Mar 28 10:06 prometheus.yml2025-03-27
-rwxr-xr-x 1 1001 fwupd-refresh 129719117 Mar 18 22:52 promtool*
[root@prometheus-server31 prometheus-2.53.4.linux-amd64]# ./prometheus
温馨提示:
为了避免实验干扰,我建议大家手动启动prometheus。
- 3 在VictoriaMetrics的WebUI查看数据
node_cpu_seconds_total{instance="10.0.0.41:9100"}
温馨提示:
如果此步骤没有数据,则不要做下面的步骤了,请先把数据搞出来。
- 4 配置grafana的数据源及URL
数据源是prometheus,但是URL得写VictoriaMetric的URL哟。
- 5 导入grafana的模板ID并选择数据源
1860
VirctoriaMetrics集群架构远端存储
- 1 VirctoriaMetrics集群架构概述
- 单点部署参考链接:
https://docs.victoriametrics.com/quick-start/#starting-vm-single-from-a-binary - 集群部署参考链接:
https://docs.victoriametrics.com/quick-start/#starting-vm-cluster-from-binaries
https://docs.victoriametrics.com/cluster-victoriametrics/#architecture-overview
部署集群时软件包要下载对应的集群cluster版本:
软件包会提供3个程序,该程序对应了集群的3个组件
vmstorage:
存储原始数据,并返回给定标签过滤器在给定时间范围内的查询数据
vminsert:
接受摄入的数据,并根据对度量名称及其所有标签的一致散列在vmstorage节点之间传播
vmselect:
通过从所有配置的vmstorage节点获取所需数据来执行传入查询
- 2 VirctoriaMetrics集群架构图解
