使用VictoriaMetrics 对Prometheus的数据进行分布式存储

news2024/11/15 15:42:17

前言

Prometheus 就是一个很好的时序数据库,对于监控数据量没有超过千万级的 情况下没必要进行分布式存储。一般的监控数据存3个月以内即可,所以数据量并不会很大。

并且生产环境可以搞多个Proms数据源在Grafana中做统一的告警。并且在时序数据库的排名表如下, VictoriaMetrics  都排不上号。

官网

##  github
https://github.com/VictoriaMetrics/operator

### 
https://github.com/VictoriaMetrics/VictoriaMetrics/

## web
https://victoriametrics.com/

##  参考文档
https://www.nestealin.com/7dbee069/

VictoriaMetrics 优点

当前单节点Prometheus集中存储多个集群数据,官方架构问题无法横向扩展优化。数据可异地存储。

  • 需要分布式数据存储,支持并发查询,优化查询性能
  • 可以兼容Prometheus写入或服务端中转写入
  • 可支持数据副本(次要)
  • VictoriaMetrics是一个快速、高效和可扩展的时序数据库,可作为Prometheus的长期存储,比如要存监控数据半年或者一年以上
  • VictoriaMetrics支持PromQL查询语言,也支持Influxdb行协议,对当前主流的时序协议支持比较好

VictoriaMetrics 架构图

单实例的 victoriametric只有一个进程。

集群版的victoriametrics有3类进程,即3类微服务组成:

  • vmstorage: 数据存储节点,负责存储时序数据;
  • vmselect: 数据查询节点,负责接收用户查询请求,向vmstorage查询时序数据;
  • vminsert: 数据插入节点,负责接收用户插入请求,向vmstorage写入时序数据;

在部署时可以按照需求,不同的微服务部署不同的副本,以应对业务需求:

  • 若数据量比较大,部署较多的vmstorage副本;
  • 若查询请求比较多,部署较多的vmselect副本;
  • 若插入请求比较多,部署较多的vminsert副本;


集群中vmselect、vminsert节点都是无状态的,唯一有状态的是vmstorage。

部署模式

单节点版

直接运行一个二进制文件,既可以运行,官方建议采集数据点(data points)低于100w/s,推荐VM单节点版,简单好维护,但不支持告警。

集群版

支持数据水平拆分,把功能拆分为vmstorage、 vminsert、vmselect,如果要替换Prometheus,还需要vmagent、vmalert。

集群版主要特点:

  • 支持单节点版本的所有功能。
  • 性能和容量水平扩展。
  • 支持时间序列数据的多个独立命名空间(多租户)。
  • 支持多副本。
  • 图表功能比Proms强大

单机部署实践

## 
wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.84.0/victoria-metrics-linux-amd64-v1.84.0.tar.gz

##
systemctl enable --now victoria-metrics-prod.service

编写启动文件

vim /etc/systemd/system/victoria-metrics-prod.service

[Unit]
Description=For Victoria-metrics-prod Service
After=network.target

[Service]
ExecStart=/opt/victoria-metrics/victoria-metrics-prod -storageDataPath=/opt/victoria-metrics/data -retentionPeriod=3

[Install]
WantedBy=multi-user.target

配置Prometheus:

## 写入其他时序数据库
remote_write:
  - url: http://10.10.10.120:8428/api/v1/write

验证:

###
http://10.10.10.120:8428/vmui/

添加Grafana数据源

因为Prometheus的数据是 存其他时序数据库,所以你原来的Prometheus数据源也是可以查到数据的,两者不冲突。

当然你也可以配置 vm的数据源查数据。因为vm支持PromsSQL。 Grafana 导入指定模板:8919

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/74288.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows安装minikube

由于学习的需要,需要在windows上搭建一套可以使用的k8s学习用,最后选择了minikube这个安装k8s,本博客介绍了minikube的安装步骤,详细命令以及截图 1、首先是本机windows安装docker,具体可以参考这个 win10安装docker…

奥曲肽-葡聚糖-亲和索的偶联物TOC-Dx40-Av)|紫杉醇-DHA-右旋糖酐偶联聚合物

中文名称:奥曲肽-葡聚糖-亲和索的偶联物 英文名称:TOC-Dx40-Av 纯度:95% 存储条件:-20C,避光,避湿 外观:固体或粘性液体 包装:瓶装/袋装 溶解性:溶于大部分有机溶剂&#xff0…

GC 算法总结_java培训

1.标记清除压缩(Mark-Sweep-Compact) 标记清除、标记压缩的结合使用 原理java培训GC 算法总结 2.算法总结 内存效率:复制算法>标记清除算法>标记整理算法(此处的效率只是简单的对比时间复杂度,实际情况不一定如此)。 内…

城市云灾备,为业务连续性保驾护航

摘要:华为云作为中国政务云基础设施领域领导者,基于华为公有云技术架构的政务云平台,具备领先的云灾备技术实力,支持IaaS、PaaS等云服务云原生灾备能力。本文分享自华为云社区《城市云灾备,为业务连续性保驾护航》&…

Delphi Base64 的“坑”

使用 Delphi 原生的Base64编码(System.NetEncoding 单元) ,编码后的字符串每隔76个字符会增加一个回车换行(#13#10),这样就导致和其他语言对接的时候出现问题,特别是Base64以后再进行签名&#…

元学习:IVIF:输入不同分辨率,输出任意分辨率

Different Input Resolutions and Arbitrary Output Resolution: A Meta Learning-Based Deep Framework for Infrared and Visible Image Fusion (不同的输入分辨率和任意输出分辨率: 基于元学习的红外和可见光图像融合深度框架) 在本文中&#xff0c…

Web大学生网页作业成品——城市环卫管理系统后台模板(HTML+CSS+JavaScript)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

浏览器中的音视频知识总结v1.0(工作中需要和视频打交道必看)

视频是什么 视频,其实就是一系列连续播放的图片,如果1s钟播放24张图片,那么人眼看到的就不再是一张张独立的图片,而是动起来的画面。其中一张图片称为一帧,1s播放的图片数称为帧率。常见的帧率有24帧/s,30帧…

[附源码]JAVA毕业设计西安市城市绿地管理系统(系统+LW)

[附源码]JAVA毕业设计西安市城市绿地管理系统(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项…

Linux网络原理及编程(3)——第十三节 HTTPS

我们本文主要来介绍https,主要来介绍https的加密原理。 大家应该都知道http和https的区别,区别很简单,主要就是在https是采用了加密协议的,而http完全是在网络上裸奔的。而我们现在几乎所有的连接都用的是https 我们首先需要明白…

Flink学习26:触发器

触发器 作用:决定何时,触发窗口计算函数,开始计算 每个窗口都有一个默认触发器,也可以自定义触发器。 自定义触发器 示例1: 当流中元素达到5个以后,触发窗口计算。 import org.apache.flink.api.common.fu…

基于数据挖掘算法的服装销售平台的设计与实现(spring+spring mvc+mybatis+mysql+maven)

目 录 摘 要 I Abstract II 目 录 III 1 绪论 1 1.1 研究背景 1 1.2 研究意义 2 1.3 国内外研究现状 2 2 相关理论和开发工具 4 2.1 数据挖掘简述 4 2.2 相关数据挖掘算法概述 4 2.2.1关联规则 4 2.2.2 聚类算法 5 2.2.3 分类算法 5 2.3 文本挖掘概述 6 2.4 开发工具 7 3系统需…

5-10人的创业团队,怎么在半个月内上线一款新产品?

5~10 人的小微型创业团队,需不需要专业的研发协作工具? 随着生产力工具的价值获得更广泛的认可,越来越多观点认为,组织结构精简、业务尚未成熟的小微型团队应该尽早引入专业研发协作工具,完成核心竞争力的蜕变。 猴子…

2022 计网复习应用题【太原理工大学】

最后一道大题 —— 应用题&#xff0c;有以下几个考点&#xff0c;原理无需懂会算就行&#xff0c;15 分 拿 10 分不难&#xff0c;建议看一下。>_< 目录 1. 判断 IP 地址类型 2. 通过 IP 地址求子网掩码 3. 求网络地址和广播地址 4. 求主机号和可用 IP 5. 双绞线的…

【Spring】一文带你搞懂Spring IOC容器

前言 本文为 【Spring】Spring IOC容器 相关知识&#xff0c;首先为大家介绍Spring IOC相关的名词概念&#xff0c;对Spring IOC进行概述&#xff0c;然后具体为大家介绍配置元数据&#xff0c;容器实例化与使用等Spring IOC相关详尽内容~ &#x1f4cc;博主主页&#xff1a;小…

【Python毕业设计】Python基于面向对象+tkinter打造学生信息管理系统 | 附源码

前言 halo&#xff0c;包子们上午好 很多学计算机的小伙伴应该都知道&#xff0c;毕业设计是一个头疼的东西 今天的话小编这边给大家准备好了一个Python基于面向对象tkinter打造学生信息管理系统 这不是毕业设计必备项目 说实话操作起来还是有那么一点点的难度的&#xff0c;但…

2023年天津医科大学临床医学院专升本专业课考试报名缴费考试安排

天津医科大学临床医学院2023年高职升本科专业课考试报考须知 一、报名条件&#xff1a; 报考2023年天津医科大学临床医学院高职升本科专业课考试的考生应符合以下条件&#xff1a; 1、符合《2023年天津市高职升本科招生工作规定》中规定的报考资格。 2、我院高职升本科专业课考…

scViewerX ActiveX 多功能文件查看器控件

scViewerX ActiveX 控件 scViewerX是一个功能强大的 ActiveX 控件&#xff0c;允许您查看、打印和转换 PLT、Adobe PDF、Autodesk DWF、CGM、Calcomp、HPGL/2、Gerber、TIF、CALS 和其他几种格式。 ScViewerX 可以将您的文件转换为多种不同的输出文件格式&#xff0c;包括 PDF、…

软件测试题库怎么样 这个刷题小程序很适合临时抱佛脚

考试刷题&#xff0c;面试找工作也要刷题&#xff1f;说到这&#xff0c;可能很多都觉得不可思议&#xff0c;这找工作&#xff0c;还得提前刷题做准备&#xff1f;其实这个现象一个都有的&#xff0c;尤其是对于技术岗来说&#xff0c;由于面试官会着重询问技术相关问题&#…

结合邻域连接法的蚁群优化(NACO)求解TSP问题附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …