VictoriaMetrics

概念

介绍

VictoriaMetrics,是一个快速高效、经济并且可扩展的监控解决方案和时序数据库

本文均用VM简称VictoriaMetric

作用

用于作为prometheus的长期储存方案,代替prometheus存储监控采集的数据

优点
  • 远程存储:可作为单一或多个Prometheus的远程存储
  • 安装简单:单节点架构一条命令就可以部署完毕
  • Grafana兼容:VM可替换Grafana的Prometheus数据源(Grafana:一款用于prometheus的图形界面)
  • 低内存:更低的内存占用
  • 高压缩比:提供存储数据高压缩
  • 高性能:查询性能比Prometheus更快
缺点
  • 图形界面简陋,功能少
  • 告警功能需要单独配置vmalert,而且vmalert只有api管理和查看,暂时没用图形界面
  • 没有类似Prometheus的WAL日志,突然故障可能会丢失部分数据
分类

分为单机版和集群版

  • 单节点版:直接运行二进制文件即可启动,简单容易维护,但不支持告警
  • 集群版:支持数据水平拆分,把功能拆分为vmstorage、 vminsert、vmselect,如果要替换Prometheus,还需要vmagent、vmalert
官网

https://victoriametrics.com 

术语

在时间序列(time-series)中的每一个点称为一个样本(sample),样本(sample)由以下三部分

  • 指标(metric):指标名和一组描述当前样本特征的labelsets唯一标识
  • 时间戳(timestamp):一个精确的时间戳,一般由采集时间决定(VM为秒,Prometheus为毫秒)
  • 样本值(value):当前样本的值

关于target:

每一个监控目标称为一个target,如:单个node-exporter、mysqld-exporter等等。

VM单节点版本

本文着重使用单节点方式

结构

服务名称        IPPORT
node- exporter        172.16.12.145        9100        
prometheus        172.16.12.1449090
VM8428        
Grafana3000

 

VM单节点版本有两种使用方式,一种是作为prometheus的监控数据数据库,另一种是直接代替prometheus自己工作 

prometheus部署

配置prometheus和node- exporter节点

配置node- exporter服务器
#将压缩包文件传入到/usr路径下
tar -xvf node_exporter-1.8.0.linux-arm64.tar -C /usr
#更改文件夹名
mv node_exporter-1.8.0.linux-arm64 node_exporter
#进入文件夹
cd node_exporter
#启动服务并输入到日志文件中
nohup ./node_exporter &  #开头nohup为往日志文件nohup中输入
配置prometheus服务器

为什么要部署prometheus

先部署好prometheus和监控节点后,才能安装VM使其为prometheus工作或者代替

1.解压安装包
tar -xvf prometheus-2.51.2.linux-arm64.tar -C /usr
 2.更改文件夹名
mv prometheus-2.51.2.linux-arm64 prometheus
3.进入文件夹
cd prometheus
4.修改配置文件
vim prometheus.xml

修改为以下内容

global:scrape_interval:     15s
scrape_configs:- job_name: 'linux'static_configs:- targets: ['192.168.1.100:9100']- targets: ['192.168.1.101:9100']# 通过relabeling替换从__address__中提取IP信息,主要是为了后面验证VM是否兼容relabelingrelabel_configs: - source_labels:  ['__address__']regex: '(.*):(.*)'action: replacetarget_label: 'ip'replacement: '\${1}'
5.检查配置文件格式
#必须在prometheus文件夹下运行
./promtool check config prometheus.yml
6.启动prometheus服务并存入日志文件
nohup ./prometheus --config.file="prometheus.yml" --storage.tsdb.retention=30d --web.enable-lifecycle &
7.进入浏览器查看prometheus运行情况

http://172.16.12.144:9090/targets

Garfana部署
1.下载安装

官网下载地址

https://grafana.com/grafana/download/9.2.3?edition=oss&pg=graf&platform=linux&plcm
t=deploy-box-1

ARM64 for Centos7 

sudo yum install -y https://dl.grafana.com/oss/release/grafana-9.2.3-1.armhfp.rpm
2.启动服务
systemctl start grafana-server
3.浏览器访问

http://172.16.12.144:3000

账号密码默认:admin/admin

4.添加界面

添加数据并填入http://172.16.12.144:9090

VM单节点作为远程部署 

配置VM服务器

安装在prometheus所在的服务器上

1.解压安装包
tar -xvf victoria-metrics-linux-arm64-v1.101.0.tar -C /usr
 2.更改文件夹名
mv victoria-metrics-linux-arm64-v1.101.0 victoria-metrics
3.进入文件夹
cd victoria-metrics
4.启动服务
nohup ./victoria-metrics-prod -retentionPeriod=30d -storageDataPath=data &
5.修改prometheus的配置文件
global:scrape_interval:     15s
scrape_configs:- job_name: 'linux'static_configs:- targets: ['192.168.1.100:9100']- targets: ['192.168.1.101:9100']relabel_configs:   # 通过relabeling替换从__address__中提取IP信息- source_labels:  ['__address__']regex: '(.*):(.*)'action: replacetarget_label: 'ip'replacement: '\${1}'
remote_write:    # 存储到远程VM存储(这里只是示例,所以Prometheus和VM在一台机子上)- url: http://127.0.0.1:8428/api/v1/writequeue_config:    # 如果Prometheus抓取指标很大,可以加调整queue,但是会提高内存占用max_samples_per_send: 10000capacity: 20000max_shards: 30  
6.重启prometheus服务
kill -HUP `pidof prometheus`
7.修改Grafana数据源

将http://172.16.12.144:9090端口修改为8428

正常显示

 VM直接代替prometheus
1.将prometheus的配置文件复制到VM文件夹下
 cp /usr/prometheus/prometheus.yml /usr/victoria-metrics/
2.编辑配置文件
vim /usr/victoria-metrics/prometheus.xml

可以直接使用prometheus的文件,有的版本可能需要注释掉部分内容

# my global config
global:scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
scrape_configs:- job_name: 'linux'static_configs:- targets: ['172.16.12.145:9100']- targets: ['172.16.12.146:9100']relabel_configs:- source_labels: ['__address__']regex: '(.*):(.*)'action: replacetarget_label: 'ip'replacement: '\${1}'
#以下内容有的版本需要注释
#remote_write:
#  - url: http://172.16.12.144:8428/api/v1/write
#    queue_config:
#      max_samples_per_send: 10000
#      capacity: 20000
#      max_shards: 30
 3.关闭prometheus
kill `pidof victoria-metrics-prod`
4.启动VM服务
nohup ./victoria-metrics-prod -retentionPeriod=30d -storageDataPath=data -promscrape.config=prometheus.yml

此时查看VM日志文件nohup 

已经运行并显示有两个监控节点

进入Gragana界面正常运行,此时VM已经彻底代替prometheus 

VM存储目录

图形界面

VM单节点版自带一个web的图形界面,叫vmui,目前还是Beta版本,功能比较简单,只能针

对当前节点执行样本数据查询

vmui已经集成在VM单节点版的二进制文件里,直接访问即可

http://172.16.12.144:8428

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python中tkinter编程入门4

在Python中tkinter编程入门3-CSDN博客中创建了Button控件,点击该控件就会产生一个点击事件,在创建Button控件时指定该点击事件的处理程序后,按键控件就会对用户的点击事件产生响应。 1 定义事件处理器 定义事件处理器就是一个自定义的函数。…

matlab使用1-基础

matlab使用1-基础 文章目录 matlab使用1-基础1. 界面介绍2. matlab变量3. matlab数据类型4. matlab矩阵操作5. matlab程序结构5.1 顺序结构5.2 循环结构5.3 分支结构 1. 界面介绍 命令行窗口输入:clc 可清除命令行窗口command window的内容 clc命令行窗口输入&…

【知识拓展】大白话说清楚:IP地址、子网掩码、网关、DNS等

前言 工作中常听别人说的本地网络是什么意思?同一网段又是什么意思?它俩有关系吗? 在工作中内经常会遇到相关的网络问题,涉及网络通信中一些常见的词汇,如IP地址、子网掩码、网关和DNS等。具体一点:经常会…

添砖Java之路(其八)——继承,final关键字

目录 继承: super关键字: 方法重写: 继承特点: 继承构造方法: final关键字: 继承: 意义:让类于类之间产生父类于子类的关系,子类可以直接使用父类中的非私有成员(包…

基准电流源电路仿真

1.补全电路 2.更改vpluse属性 3.添加tran仿真,因为加入启动电路主要看的就是tran仿真 4.启动仿真 5.看电路曲线 先点这个main form 不用选择ok,直接点中四条线,中间第2条曲线如果出现那样一个小波动后面没有起伏就说明成功了。

国产分布式数据库高可用故障检测实现

在分布式数据库架构下,当数据库节点异常时,数据库管理组件能够自动感知到异常并触发节点隔离或者自动切换,是数据库高可用容灾的基本能力。在节点服务器异常、网络异常或进程异常等场景下,各数据库产品本身已经具备了可靠的检测能…

jmeter中java请求,解决不支持协议和元件,实现自定义元件

目录 java请求 作用场景 JavaTest类源码分析 编写java请求样例 新建java工程,导入jmeter主要依赖。 编写java请求类,继承AbstractJavaSamplerClient, 导入工程为jar包,放置jmeter安装目录下lib/ext目录 重启jmeter,添加ja…

03 Linux编程-进程

1、进程的相关概念 1.1 程序与进程 程序是静态的概念,进程是程序的一次运行活动。 1.2 查看系统中有哪些进程 ps #只显示一小部分进程 ps -aux #会打印当前所有进程 ps -aux|grep init #使用grep筛选出只含有init的进程top #运行显示的进程有点类似windows…

服务攻防——应用协议ssh,rsync,proftpd,openssh,libssh

1.口令猜解 ftp-拿来文件传输的 rdp-windows远程连接 3389 ssh-linux远程连接 工具hydra 口令 1.windows 这就爆破成功了,现在,我们就可以ftp爆破,爆破出ftp的密码 爆破出来后 访问 2.ssh Rsync(配置不当,未授权…

云服务器和主机的区别

在今天的数字化时代,对于个人和企业来说,选择适当的服务器托管解决方案至关重要。然而,很多人对于云服务器和传统主机之间的区别不太清楚。本文将为您提供一个详细的指南,帮助您理解云服务器与主机之间的区别,以便您能…

【vue+el-upload】当action=“#“,代表不使用默认上传,使用自定义上传,http-request获取文件流

el-upload有多种上传行为: 1、立即上传: 当 action 属性被赋予一个有效的 URL 时,一旦用户选择了文件,el-upload 组件会立即自动将文件上传到指定的服务器地址。 2、不立即上传(自定义触发): 如…

第9章 负载均衡集群日常维护

一个设计良好的高可用负载均衡集群,交付使用以后并不能一劳永逸。欲使其高效、稳定、持续对外服务,日常维护必不可少。 对于高可用负载均衡集群来说,有两种类型的维护形式:常规性维护与突发性维护。突发性维护一般指故障处理&…