10-3 Prometheus远端存储VictoriaMetrics集群版

文章目录

  • 前言
  • VictoriaMetrics集群版组件
  • VictoriaMetrics集群版部署
    • vmstorage服务
    • vminsert服务
    • vmselect服务
  • Prometheus配置
  • Grafana配置

前言

Victoria Metrics是一个高速的,低能耗,可扩展的时间序列数据库。它可以作为Prometheus的长期远程存储。

当接收速率高于每秒100万个数据点时,建议使用集群版本。集群版在性能与空间存储可完美地扩展,不过配置和操作相对复杂。



VictoriaMetrics集群版组件

VictoriaMetrics程序的集群版与单机版最大区别,实现了读写分离。读与写由不同的组件完成。

组件 作用
vminsert 写入组件,负责接收数据写入并根据对度量名称及其所有标签的一致 hash 结果将数据分散写入不同的后端 vmstorage
vmstorage 存储组件,存储原始数据并返回给定时间范围内给定标签过滤器的查询数据
vmselect 读取组件,连接 vmstorage,获取查询数据

10-3 Prometheus远端存储VictoriaMetrics集群版_第1张图片

VictoriaMetrics集群架构图

图中出现了5台服务器,1台Prometheus服务器,3台VictoriaMetrics服务器(每台同时安装3个组件),1台Grafana服务器。端口如下:

组件 端口 作用
Prometheus 9090 Prometheus 网页端口
vminsert 8480 http端口,接收Prometheus的写入数据,并在/metrics显示状态
vmstorage 8400 接收vminsert数据,存入硬盘。注意:任意一台vminsert数据都能接收
vmstorage 8482 http端口,存储组件使用,并在/metrics显示状态
vmstorage 8401 响应vmselect查询请求
vmselect 8481 http端口,响应Grafana的读取数据,并在/metrics显示状态
Grafana 3000 Grafana 网页端口

VictoriaMetrics集群版部署

3个主机同时部署VictoriaMetrics程序,每个组件需创建一个服务。

# 下载集群版二进制文件
wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.82.1/victoria-metrics-linux-amd64-v1.82.1-cluster.tar.gz

# 解压缩,得到3个组件的可执行文件
tar zxvf victoria-metrics-linux-amd64-v1.82.1-cluster.tar.gz

# 移动到环境变量目录
mv vminsert-prod  vmselect-prod  vmstorage-prod /usr/local/bin

vmstorage服务

vmstorage服务,指定时区,存储目录,3个端口:

vim /etc/systemd/system/vmstorage.service

[Unit]
Description=Vmstorage Server
After=network.target

[Service]
Restart=on-failure
WorkingDirectory=/tmp
ExecStart=/usr/local/bin/vmstorage-prod \
-loggerTimezone Asia/Shanghai \
-storageDataPath /data/vmstorage-data \
-httpListenAddr :8482 \
-vminsertAddr :8400 \
-vmselectAddr :8401

[Install]
WantedBy=multi-user.target

启动vmstorage服务和端口,8482可查看指标数据:

systemctl enable --now vmstorage.service 
systemctl status vmstorage.service

netstat -lntp | grep vmstorage
tcp        0      0 0.0.0.0:8400            0.0.0.0:*               LISTEN      2391/vmstorage-prod 
tcp        0      0 0.0.0.0:8401            0.0.0.0:*               LISTEN      2391/vmstorage-prod 
tcp        0      0 0.0.0.0:8482            0.0.0.0:*               LISTEN      2391/vmstorage-prod

curl 192.168.100.194:8482/metrics

vminsert服务

vminsert服务,指定监听端口,3个下行端口:

vim /etc/systemd/system/vminsert.service

[Unit]
Description=Vminsert Server
After=network.target

[Service]
Restart=on-failure
WorkingDirectory=/tmp
ExecStart=/usr/local/bin/vminsert-prod \
-httpListenAddr :8480 \
-storageNode=192.168.100.194:8400,192.168.100.195:8400,192.168.100.196:8400

[Install]
WantedBy=multi-user.target

启动vminsert服务和端口,8480可查看指标数据:

systemctl enable --now vminsert.service 
systemctl status vminsert.service

netstat -lntp | grep vminsert
tcp        0      0 0.0.0.0:8480            0.0.0.0:*               LISTEN      2551/vminsert-prod  

curl 192.168.100.194:8480/metrics

vmselect服务

vmselect服务,指定监听端口,3个上行端口:

vim /etc/systemd/system/vmselect.service

[Unit]
Description=Vminsert Server
After=network.target

[Service]
Restart=on-failure
WorkingDirectory=/tmp
ExecStart=/usr/local/bin/vmselect-prod \
-httpListenAddr :8481 \
-storageNode=192.168.100.194:8401,192.168.100.195:8401,192.168.100.196:8401

[Install]
WantedBy=multi-user.target

启动vmselect服务和端口,8481可查看指标数据:

systemctl enable --now vmselect.service 
systemctl status vmselect.service

netstat -lntp | grep vmselect
tcp        0      0 0.0.0.0:8481            0.0.0.0:*               LISTEN      2706/vmselect-prod  

curl 192.168.100.194:8481/metrics

Prometheus配置

在prometheus服务器修改配置,关联到3个vminsert组件:

vim /apps/prometheus/prometheus.yml

global:
  scrape_interval: 15s
  evaluation_interval: 15s

# 单机版
# remote_write: 
#  - url: http://192.168.100.197:8428/api/v1/write

# 集群版
remote_write: 
  - url: http://192.168.100.194:8480/insert/0/prometheus
  - url: http://192.168.100.195:8480/insert/0/prometheus
  - url: http://192.168.100.196:8480/insert/0/prometheus

重启prometheus服务

systemctl restart prometheus.service

Grafana配置

第一,在Grafana服务器添加数据源,数据源为vmselect组件或者负载均衡。

数据源
http://192.168.100.194:8481/select/0/prometheus

10-3 Prometheus远端存储VictoriaMetrics集群版_第2张图片

第二,导入模板,推荐模板ID为13824

10-3 Prometheus远端存储VictoriaMetrics集群版_第3张图片

第三,模板关联到刚创建的数据源

10-3 Prometheus远端存储VictoriaMetrics集群版_第4张图片

第四,打开显示页面,监控VictoriaMetrics状态

10-3 Prometheus远端存储VictoriaMetrics集群版_第5张图片



你可能感兴趣的:(Prometheus,prometheus,服务器,数据库)