VictoriaMetrics 学习

薛彭薄
2023-12-01

介绍

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.

功能

  • 提供单和群集版本
  • 重复数据消除
  • 复制数据支持(群集版本)
  • 远程写入协议支持
  • 多租户支持(群集版本)
 类似资料: