VictoriaMetrics时序数据库调研

一、什么是时序数据

二、 VictoriaMetrics的优点

  1. prometheus(默认保留15天)是基于prometheus长期存储的一种方案

  2. 基于PromQL的查询语言,即MetricsQL,并且在PromQL基础上做了改进

  3. 安装简单:单节点架构一条命令就可以部署完毕(集群方式稍微复杂一些,但也很好理解)

  4. 兼容性:PromQL兼容和增强的MetricsQL

  5. Grafana兼容:VM可替换Grafana的Prometheus数据源(经测试,线上数据源直接替换后100%兼容)

  6. 低内存:更低的内存占用,官方对比Prometheus,可以释放7倍左右内存空间(线上对比大概4倍)

  7. 高压缩比:提供存储数据高压缩,官方说可以比Prometheus减少7倍的存储空间(线上对比大概是4~5倍)

  8. 高性能:查询性能比Prometheus更快

  9. 支持水平扩容&HA:基于VM集群版实现

  10. 支持多租户:主要针对集群版本

三、VM的部署架构与HA

  • 副本、分片、及HA
    • 副本
      • vminsert:按算法为固定时间序列选择后端存储(分片) 和 控制副本数量(副本)replicationFactor,开启副本,并控制副本数量,既 要往多少个vmstorage插入同一份样本数据
      • vmstorage:数据存储,vmstorage节点间不进行任何交互,都是独立的个体,只靠上层的vminsert,产生副本和分片dedup.minScrapeInterval,vmagent会产生replicationFactor份冗余数据,需要此参数,来去除重复数据
      • vmselect:数据汇总以及返回,当vminsert开启副本后,vmselect必须设置dedup.minScrapeInterval dedup.minScrapeInterval,去除指定时间的重复数据
      • 注意:副本的开启和修改副本数可能会造成数据的部分丢失,如何避免?
    • 分片
      • 如果vminsert后面存在多个vmstorage,vminsert就会对数据进行分片(或者说打散),vminsert主要通过一致性哈希选择vmstorage节点
    • 扩容方案
      • 查询速度过慢:vmselect为无态服务,配置信息都一样,直接扩容,即可解决此问题。
      • 数据录入慢:vminsert和vmselect一样,直接扩容即可。
      • 容量不足:vmstorage水平扩容来解决此问题,因为vmstorage是有态服务,扩容要配合上游组件服务一起。vmstorage各节点配置一样,直接扩容即可。同时需要把上游的vmselect和vminsert的存储列表(-storageNode)进行更新,然后全部重启。
      • 抓取样本量过大:扩容vmagent即可,但需要重新分配所有vmagent对target的分组参数,-promscrape.cluster.membersCount=N 增加总分组数,-promscrape.cluster.memberNum=(0~N-1) 当前vmagent节点所在分组号,修改完后重启所有vmagent。

四、数据写入与查询

  1. 原生格式导入https://blog.csdn.net/forrest420/article/details/120846242
  2. VM-UI访问地址:http://10.0.2.51:8481/select/accountId:projectId/vmui/
  3. 写入验证
  4.  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值