介绍
VictoriaMetrics是快速,经济高效且可扩展的时间序列数据库。它可以用作Prometheus的长期远程存储。
提供单节点 VictoriaMetrics 和集群版VictoriaMetrics
英[vɪkˈtɔːrɪə] 英 [ˈmetrɪk]
TSDB 排名
VictoriaMetrics 单机版
- 下载
wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.51.0/victoria-metrics-v1.51.0.tar.gz
- 启动
-storageDataPath -VictoriaMetrics存储所有数据的目录的路径。
-retentionPeriod -数据保留。
##-retentionPeriod=3意味着数据将存储3个月,然后删除
./victoria-metrics-prod -storageDataPath=/var/lib/victoria-metrics-data -retentionPeriod=3
普罗米修斯设置
普罗米修斯必须配置remote_write才能将数据发送到维多利亚测量。将以下行添加到普罗米修斯配置文件(它通常位于 :/etc/prometheus/prometheus.yml
remote_write:
- url: http://<victoriametrics-addr>:8428/api/v1/write
Grafana设置
使用以下网址在Grafana创建普罗米修斯数据源:
http://<victoriametrics-addr>:8428
替换为维多利亚测量的主机名或 IP 地址。
集群版
VictoriaMetrics 集群由以下服务组件组成:
vmstorage - 存储数据
vminsert - 使用一致性哈希算法将获取的数据存储到vmstorage分片
vmselect - 查询来自 vmstorage 的数据
安装
wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.51.0/victoria-metrics-v1.51.0-cluster.tar.gz
tar -zxvf victoria-metrics-v1.51.0-cluster.tar.gz -C /usr/local/victoria
群集大小调整和可扩展性
通过添加新节点来扩展群集性能和容量。
-
vminsert 和 vmselect 节点是无状态的,可随时添加/删除。不要忘记在 http 负载均衡器上更新这些节点的列表。
添加更多vminsert节点可缩放数据引入率。请参阅此有关引入率可伸缩性的评论。添加更多vmselect节点可缩放选择查询速率。 -
vmstorage节点拥有包含的数据,因此不能在不丢失数据的情况下删除它们。添加更多vmstorage节点可扩展群集容量。
添加vmstorage节点的步骤:
- 按照集群中已存在节点的 -retentionPeriod 参数启动新的vmstorage节点
- 重启所有的vmselect节点带有新的启动参数 -storageNode arg containing <new_vmstorage_host>:8401.
- 重启所有的vminsert节点带有新的启动参数 -storageNode arg containing <new_vmstorage_host>:8400.
Cluster availability
-
HTTP 负载均衡器必须停止将请求路由到不可用的vminsert和vmselect节点。
-
如果存在至少单个vmstorage节点,群集将保持可用:
-
- vminsert re-routes incoming data from unavailable vmstorage nodes to healthy vmstorage nodes
-
- vmselect continues serving partial responses if at least a single vmstorage node is available.
Data replication can be used for increasing storage durability. See these docs for details.
功能
- 提供单和群集版本
- 重复数据消除
- 复制数据支持(群集版本)
- 远程写入协议支持
- 多租户支持(群集版本)