标签:img point 简单的 java 令行 always visio data- hub
victoriametrics 支持基于模式,同时拆分出了三大组件,vminsert,vmselect,vmstorage
从这张图我们可以看到insert 以及select 都是无状态的,只有vmstorage,对于insert 以及select 的扩展很简单,主要是vmstorage
官方实际上已经提供了一个简单的基于docker-compose 以及k8s部署的集群(按照三大组件部署),同时文档也有说明扩展的处理,以
下是一个简单的说明
version: ‘3.5‘
services:
prometheus:
container_name: prometheus
image: prom/prometheus:v2.17.2
depends_on:
- "vminsert"
- "vmselect"
ports:
- 9090:9090
volumes:
- promdata:/prometheus
- ./prometheus.yml:/etc/prometheus/prometheus.yml
command:
- ‘--config.file=/etc/prometheus/prometheus.yml‘
- ‘--storage.tsdb.path=/prometheus‘
restart: always
?
grafana:
container_name: grafana
image: grafana/grafana:6.7.2
entrypoint: >
/bin/sh -c "
cd /var/lib/grafana &&
mkdir -p dashboards &&
sed ‘s/$${DS_PROMETHEUS}/Prometheus/g‘ vm.json > dashboards/vm.json &&
/run.sh"
depends_on:
- "prometheus"
ports:
- 3000:3000
restart: always
volumes:
- grafanadata:/var/lib/grafana
- ./provisioning/:/etc/grafana/provisioning/
- ./../../dashboards/victoriametrics.json:/var/lib/grafana/vm.json
?
vmstorage:
container_name: vmstorage
image: victoriametrics/vmstorage
ports:
- 8482
- 8400
- 8401
volumes:
- strgdata:/storage
command:
- ‘--storageDataPath=/storage‘
restart: always
?
vminsert:
container_name: vminsert
image: victoriametrics/vminsert
depends_on:
- "vmstorage"
command:
- ‘--storageNode=vmstorage:8400‘
ports:
- 8480
restart: always
?
vmselect:
container_name: vmselect
image: victoriametrics/vmselect
depends_on:
- "vmstorage"
command:
- ‘--storageNode=vmstorage:8401‘
ports:
- 8481:8481
restart: always
?
volumes:
promdata: {}
strgdata: {}
grafanadata: {}
从上图我们可以看出对于无状态的部分我们可以基于lb提高负载能力(promxy以及trickster,nginx,haproxy 都是不错的选择)
请求以 /insert 路由到vminsert的8480
请求以 /select 路由到vmselect的8481
* vminsert&&vmselect添加新节点即可
* vmstorage 添加:启动新的vmstorage,平滑重启vmselect注意需要添加-storageNode 参数,信息为:<new_vmstorage_host>:8401, 平滑重启vminsert
注意需要添加-storageNode 参数,信息为:<new_vmstorage_host>:8401
核心:注意顺序启动新vmstorage,平滑重启vmselect ,平滑重启vminsert
vminsert 重路由请求从不可用vmstorage节点到健康节点
vmselect 持续处理请求服务到至少一个可用的vmstorage节点
vminsert&&vmstorage&&vmselect可以通过平滑的更新变动
vminsert:
vmstorage:
vmselect:
victoriametrics提供了一些数据备份的方法vmbackup&&vmrestore 都是一些工具
* /snapshot/create 请求创建快照
* <-storageDataPath>/snapshots/<snapshot_name> 目录文档使用vmbackup进行归档
* /snapshot/delete?snapshot=<snapshot_name> 或者 /snapshot/delete_all 删除快照清理部分空间
* 使用 kill -INT 停止vmstorage
* 使用vmrestore 恢复数据到-storageDataPath目录
* 启动vmstorage节点
以上是对于victoriametrics 集群模式的一个简单说明,实际使用还是有好多地方需要踩坑的,总的来说victoriametrics 是一个简单但是高效的
prometheus 方案
标签:img point 简单的 java 令行 always visio data- hub
原文地址:https://www.cnblogs.com/rongfengliang/p/12793136.html