VictoriaMetrics快速入门

news2024/12/22 9:07:33

文章目录

      • Multitenancy
      • 集群部署
        • 启动`vmstorage`服务
        • 启动`vminsert`服务
        • 启动 `vmselect`服务
      • 配置使用
      • 集群大小调整和可伸缩性
      • grafana展示
      • 参考资料

VictoriaMetrics是快速,经济高效且可扩展的时间序列数据库。它可以用作Prometheus的长期远程存储。

VictoriaMetrics集群包含以下服务:

  • vmstorage -存储数据
  • vminsert- vmstorage使用一致的哈希将摄取的数据代理为分片
  • vmselect -使用来自以下位置的数据执行传入查询 vmstorage
图片发布
图片发布

Multitenancy

VictoriaMetrics集群支持多个隔离的租户(又名命名空间)。租户用accountID或标识accountID:projectID,将其放置在请求url中。

  • 每个accountIDprojectID由范围内的任意32位整数标识[0 .. 2^32)。如果projectID缺少,则会自动分配给0。预计有关租户的其他信息(例如身份验证令牌,租户名称,限制,记帐等)将存储在单独的关系数据库中。该数据库必须由位于VictoriaMetrics群集前面的单独服务。
  • 将第一个数据点写入给定租户时,将自动创建租户。
  • 所有租户的数据平均分布在可用vmstorage节点之间。vmstorage当不同的租户具有不同的数据量和不同的查询负载时,这保证了节点之间的均匀负载。
  • VictoriaMetrics不支持在单个请求中查询多个租户。

集群部署

集群采用两个节点部署,并且保证每个服务部署两个。

启动vmstorage服务

./vmstorage-prod -memory.allowedPercent 60 -httpListenAddr :8482 -retentionPeriod 120 -search.maxTagKeys 100000 -search.maxTagValues 100000 -search.maxUniqueTimeseries 300000 -smallMergeConcurrency 1 -snapshotAuthKey helei123456 -storageDataPath /opt/data/vmstorage -vminsertAddr :8400 -vmselectAddr :8401

  • -memory.allowedPercent:缓存占用内存百分比
  • -httpListenAddr:vmstorage服务端口
  • -retentionPeriod:保存时长,日为单位
  • -search.maxTagKeys:查询返回tag key的最大数量
  • -search.maxTagValues: 查询返回tag value的最大数量
  • -search.maxUniqueTimeseries:每次搜索可以扫描最大唯一时间序列大最大数量
  • -smallMergeConcurrency:使用cpu的核数
  • -snapshotAuthKey:快照接口认证key
  • -storageDataPath:数据存储路径
  • -vminsertAddr:insert服务监听地址
  • -vmselectAddr:select服务监听地址
启动vminsert服务

./vminsert-prod -replicationFactor 2 -storageNode 10.30.9.52:8400 -memory.allowedPercent 10 -insert.maxQueueDuration 1m -maxConcurrentInserts 8 -maxInsertRequestSize 33554432 -maxLabelsPerTimeseries 30

  • -replicationFactor:副本个数
  • -storageNode:存储节点地址,可以使用逗号分隔指定多个地址或使用多个-storageNode参数指定
  • -memory.allowedPercent:缓存占用内存百分比
  • -insert.maxQueueDuration:插入请求在队列中等待的最大时间
  • -maxConcurrentInserts:并发插入的最大数目
  • -maxInsertRequestSize:单个Prometheus remote_write API请求的最大字节数
  • -maxLabelsPerTimeseries:每个时间序列可接受的最大标签数
启动 vmselect服务

./vmselect-prod -cacheDataPath /opt/app/vmselect-cache/ -dedup.minScrapeInterval=0 -httpListenAddr :8481 -memory.allowedPercent 10 -search.maxConcurrentRequests 4 -search.maxPointsPerTimeseries 30000 -search.maxQueryDuration 30s -search.maxQueryLen 16384 -search.maxQueueDuration 10s -selectNode 10.30.9.52:8481 -storageNode 10.30.9.52:8401

  • -cacheDataPath:cache数据目录
  • -dedup.minScrapeInterval:如果superflouos样本的位置比这个时间间隔更近,则从时间序列中删除它们。0表示禁用
  • -httpListenAddr:http服务监听地址
  • -memory.allowedPercent:缓存占用内存百分比
  • -search.maxConcurrentRequests:并发
  • -search.maxPointsPerTimeseries:从搜索中返回的每个timeseries的最大值
  • -search.maxQueryDuration:搜索查询执行的最大持续时间
  • -search.maxQueryLen:最大搜索查询长度
  • -search.maxQueueDuration:搜索时请求等待执行的最大时间,达到maxConcurrentRequests时限制。
  • -storageNode:存储节点地址
  • -selectNode:select节点地址

配置使用

  • 数据提取的网址:http://<vminsert>:8480/insert/<accountID>/<suffix>,其中:

    • <accountID>是一个任意的32位整数,用于标识数据摄取的名称空间(又名租户)。可以将其设置为accountID:projectID,其中projectID也是任意的32位整数。如果projectID未设置,则等于0
    • <suffix> 可能具有以下值:
      • prometheusprometheus/api/v1/write-用于使用[Prometheus远程写入API]插入数据
      • influx/writeinflux/api/v2/write-用于使用[Influx线路协议]插入数据。
      • opentsdb/api/put-用于接受[OpenTSDB HTTP / api / put请求]。默认情况下,此处理程序处于禁用状态。它通过-opentsdbHTTPListenAddr命令行标志设置在不同的TCP地址上。有关详细信息,请参见[这些文档]。
      • prometheus/api/v1/import-用于导入通过api/v1/exporton 获得的数据vmselect(请参见下文)。
      • prometheus/api/v1/import/csv-用于导入任意CSV数据。有关详细信息,请参见[这些文档]。
      • prometheus/api/v1/import/prometheus-用于以Prometheus展示格式导入数据。有关详细信息,请参见[这些文档]。
  • 查询网址:http://<vmselect>:8481/select/<accountID>/prometheus/<suffix>,其中:

    • <accountID> 是标识查询(又名租户)的任意数字标识数据名称空间
    • <suffix>可能具有以下值:
      • api/v1/query-执行[PromQL即时查询]。
      • api/v1/query_range-执行[PromQL范围查询]。
      • api/v1/series-执行[系列查询]。
      • api/v1/labels-返回[标签名称列表]。
      • `api/v1/label/values- <label_name>根据[API]返回给定值。
      • federate-返回[联合指标]。
      • api/v1/export-导出原始数据。有关详细信息,请参见[本文]。
      • api/v1/status/tsdb-用于时间序列统计。有关详细信息,请参见[这些文档]。
      • api/v1/status/active_queries-用于当前执行的活动查询。注意,每个vmselect维护一个独立的活动查询列表,该列表在响应中返回。
  • 删除时间序列的网址:http://<vmselect>:8481/delete/<accountID>/prometheus/api/v1/admin/tsdb/delete_series?match[]=<timeseries_selector_for_delete>。请注意,delete_series仅在特殊情况下才应使用处理程序,例如删除意外摄取的错误时间序列。不应定期使用它,因为它会带来非零的开销。

  • vmstorage节点在8482端口上提供以下HTTP端点:

    • /snapshot/create-创建[即时快照],可用于后台备份。在/snapshots文件夹中创建快照,其中<storageDataPath>/snapshots是相应的命令行标志值。
    • /snapshot/list -列出可用的快照。
    • /snapshot/delete?snapshot= -删除给定的快照。
    • /snapshot/delete_all -删除所有快照。

    可以在每个vmstorage节点上独立创建快照。无需在vmstorage节点之间同步快照的创建。

集群大小调整和可伸缩性

群集性能和容量可通过添加新节点来扩展。

  • vminsert并且vmselect节点是无状态的,可以随时添加/删除。不要忘记在http负载均衡器上更新这些节点的列表。添加更多vminsert节点可扩展数据摄取率。请参阅 有关摄取速率可伸缩性的[评论]。添加更多vmselect节点可扩展选择查询速率。
  • vmstorage节点拥有提取的数据,因此无法删除它们而不会丢失数据。添加更多vmstorage节点可扩展群集容量。

添加vmstorage节点的步骤:

  1. 以与集群中现有节点vmstorage相同的方式启动新节点-retentionPeriod
  2. vmselect使用-storageNode包含的新arg 逐步重新启动所有节点:8401
  3. vminsert使用-storageNode包含的新arg 逐步重新启动所有节点:8400

grafana展示

导入dashboard,dashboardID:1117610229

Insert:11040

Select:11039

Storage:11038

参考资料

性能分析对比:https://medium.com/@valyala/measuring-vertical-scalability-for-time-series-databases-in-google-cloud-92550d78d8ae

官网:https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/README.md#deduplication

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

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

相关文章

鸿蒙开发5.0【同页面内的点击操作响应时延问题】分析思路案例

1. 场景导入 同页面内点击操作时延是指&#xff0c;应用内手指点击从离开屏幕开始&#xff0c;到页面发生变化的时间。常见场景包括点击后界面元素变化&#xff0c;弹出弹窗或者loading动画等场景。 2. 性能指标 2.1 性能衡量起始点介绍 1.点击操作响应时延的性能衡量的起点…

GitLab-CI/CD指南

由于公司没有运维&#xff0c;写go服务时各个环境编译部署还是略显麻烦&#xff0c;由于代码管理使用的是 gitlab&#xff0c;所以决定使用 gitlab 自带的 CI/CD 来做自动编译和部署&#xff0c;这样每次提交代码以后就可以自动部署到服务器上了。 gitlab 本身只有 CI/CD 的接…

金蝶云星辰V1与旺店通·企业版对接集成采购入库单查询(列表+详情)连通创建其他入库单(其他)

金蝶云星辰V1与旺店通企业版对接集成采购入库单查询&#xff08;列表详情&#xff09;连通创建其他入库单(其他) 接入系统&#xff1a;金蝶云星辰V1 金蝶云星辰基于金蝶云苍穹云原生PaaS平台构建&#xff0c;聚焦小型企业在线经营和数字化管理&#xff0c;提供财务云、税务云、…

操作系统中的进程:深入解析与理解

文章目录 一、什么是进程&#xff1f;&#x1f914;二、进程的特性 &#x1f31f;三、进程的组成 &#x1f9e9;四、进程的状态与转换 &#x1f504;&#x1f500;五、进程的调度与管理 &#x1f527;&#x1f500;六、代码示例&#xff08;C&#xff09;创建进程进程等待&…

scanf中%c前加不加空格的区别

%c前加空格可以让scanf跳过空白字符&#xff08;如空格、制表符、换行符等&#xff09;&#xff0c;直接读取非空白字符。如果不加空格就会读取空白字符。 可以用两段测试客官有无慧根的程序来说明这个问题&#xff0c;测试代码如下&#xff1a; #include <stdio.h> in…

Ubuntu22.04安卓编译环境搭建及so库编译

1.配置Android-ARM64开发环境工具链: vim ~/.profile 或者 ~/.bashrc 或者 /etc/profile 编辑环境变量文件 输入下面内容 export CROSS_TRIPLE=aarch64-linux-android export CROSS_ROOT=/usr/${CROSS_TRIPLE} export ANDROID_NDK=${CROSS_ROOT} export AS=${CROSS_ROOT}…

【人工智能】数据集合集!

本文将为您介绍10个经典、热门的数据集&#xff0c;希望对您在选择适合的数据集时有所帮助。 点击蓝字 关注我们 1 Habitat Platform 发布方&#xff1a; Facebook AI Research西蒙菲莎大学佐治亚理工学院Facebook Reality LabsIntel LabsUniversity of California, Berkeley…

1- 关键字static

文章目录 1 前言2 static修饰局部变量2.1 局部变量无static修饰2.2 局部变量有static修饰 3 static修饰全局变量 1 前言 在C语言中&#xff0c;static是用来修饰变量和函数的&#xff1a; 修饰局部变量 - 称为静态局部变量修饰全局变量 - 称为静态全局变量修饰函数 - 称为静态…

django空巢老人志愿服务系统-计算机毕业设计源码58726

摘 要 随着社会老龄化问题日益突出&#xff0c;空巢老人群体的关注和关怀日益重要。本研究设计并实现了基于Python的空巢老人志愿服务系统&#xff0c;旨在利用技术手段提供更多关爱和支持给空巢老人群体。 该系统结合Python编程语言的灵活性和易用性&#xff0c;实现了慈善捐赠…

HCIE杭州考试分享

考试过程&#xff1a; 首先提醒大家关注一下天气&#xff0c;我去杭州没看天气&#xff0c;去了一直下雨&#xff0c;鞋子也湿了&#xff1b;27号早上七点多到的杭州&#xff0c;雨一直下&#xff0c;去了直奔网吧上机&#xff0c;最后的机时&#xff0c;早饭和晚饭都在网吧吃…

Linux多线程间通信机制(互斥锁、条件变量、信号量,读写锁)同步与异步(二)

原文链接&#xff1a;https://blog.csdn.net/weixin_55796564/article/details/119699146 一、概述 本章介绍了线程同步的几种不同的方法&#xff0c;包括互斥锁、条件变量、自旋锁以及读写锁&#xff0c;当然&#xff0c;除此之外&#xff0c;线程同步的方法其实还有很多&…

如何获取设备消息?

一、什么是消息&#xff1f; 消息是设备向萤石云平台传输的带有特定内容的信息&#xff0c;大部分消息由设备端主动产生&#xff0c;并且上报到平台。举个例子&#xff0c;设备开启画面变化检测&#xff0c;当设备画面产生变化&#xff0c;设备就会产生报警&#xff08;画面…

Adobe Premiere Pro 2023-23.6.7.1 解锁版下载与安装教程 (一款专业的视频编辑软件)

前言 Adobe Premiere Pro&#xff08;简称PR&#xff09;是一款知名的专业视频编辑软件&#xff0c;数字视频剪辑软件。主要用来编辑视频和音频&#xff0c;可以在RGB和YUV色彩空间中以高达32位色彩的视频分辨率对4K和更高质量的视频文件进行编辑&#xff0c;支持VST音频插件和…

windows 10/11禁用更新

一、操作 获取“禁用更新”文件。将“禁用更新”文件从百度网盘中下载到电脑桌面。 百度网盘:链接:https://pan.baidu.com/s/1eGEtJYgN3MR4qGoUpnP7xw?pwd=ccrc提取码:ccrc 双击运行“禁用更新”。 弹出如下对话框,点击“是”。 弹出如下对话框,点击“是”。 确…

中仕公考:大四还没毕业能考公吗?

应届大学生是否可以报考公务员? 对于尚未获得毕业证书的应届大学生&#xff0c;有资格报名参与公务员考试。具体到学历和学位的要求&#xff0c;截止日期定于2024年7月底。在报名过程中&#xff0c;考生必须填写《报名登记表》和《报名推荐表》&#xff0c;确保提供的信息真实…

【手眼标定】使用kalibr对imu和双目摄像头进行联合标定

使用kalibr对imu和双目摄像头进行联合标定 前言 方式一&#xff1a;ros2消息格式通过ros1_bridge转为ros1消息格式&#xff0c;在ros1环境下录制bag进行标定。一、IMU标定二、双目摄像头标定三、手眼标定&#xff08;imu和双目摄像头的联合标定&#xff09; 方式二&#xff1a;…

Python轻量级 NoSQL 数据库之tinydb使用详解

概要 在现代应用开发中,使用数据库来存储和管理数据是非常常见的需求。对于简单的数据存储需求,关系型数据库可能显得过于复杂。TinyDB 是一个纯 Python 实现的轻量级 NoSQL 数据库,专为嵌入式场景设计,适用于小型项目、原型开发和教学等场景。本文将详细介绍 TinyDB 库,…

SPAW7000高精度功率分析记录仪,测试方案

测试目标 评估双电机四驱系统中前后电机的性能。 分析前后电机之间的实时联动情况。 测量并分析电机控制器的输入与输出功率。 计算功率转换效率和损耗。 验证电机系统的谐波特性。 测试设备 SPAW7000高精度功率分析记录仪&#xff1a;用于测量功率、电压、电流等参数&am…

这个tiktok短视频才发布了一天,就能卖货1.6w美金

这个tiktok短视频才发布了一天&#xff0c;就能卖货1.6w美金&#xff01; 今天的讨论课上&#xff0c; 我的学员们问我 TikTok上的一条带货短视频的结构是怎样的&#xff1f; 我们一起看了这个案例。 一、案例分析 这是TikTok上的一位达人“moreco1in" 他拥有862K粉丝…

LeetCode.3152.特殊数组II

题目描述&#xff1a; 如果数组的每一对相邻元素都是两个奇偶性不同的数字&#xff0c;则该数组被认为是一个 特殊数组 。 你有一个整数数组 nums 和一个二维整数矩阵 queries&#xff0c;对于 queries[i] [fromi, toi]&#xff0c;请你帮助你检查 子数组 nums[fromi..toi…