阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

VictoriaMetrics如何运用?

60次阅读
没有评论

共计 1929 个字符,预计需要花费 5 分钟才能阅读完成。

导读 上次说到我们不用 docker,而是使用 containerd 作为 CRI 了。没想到,连监控告警这一块也换了。以前我们使用的 prometheus 进行监控数据的采集、存储和提供查询,alertmanager 进行告警推送,同时使用了 grafana 做数据展示。那么现在呢,我们选择使用 OpenTelemetry 和 VictoriaMetrics。那么这两者究竟是何方神圣呢? 请允许我慢慢道来。考虑到我也是刚接触,所以今天先给大家介绍一下 VictoriaMetrics。OpenTelemetry 后续再做介绍。

上次说到我们不用 docker,而是使用 containerd 作为 CRI 了。没想到,连监控告警这一块也换了。以前我们使用的 prometheus 进行监控数据的采集、存储和提供查询,alertmanager 进行告警推送,同时使用了 grafana 做数据展示。那么现在呢,我们选择使用 OpenTelemetry 和 VictoriaMetrics。那么这两者究竟是何方神圣呢? 请允许我慢慢道来。考虑到我也是刚接触,所以今天先给大家介绍一下 VictoriaMetrics。OpenTelemetry 后续再做介绍。

注:后续 VictoriaMetrics 简称为 vm

什么是 VM

这里我们看官网的描述。如下:

  1. VictoriaMetrics is a fast, cost-effective and scalable monitoring solution
  2. and time series database

翻译过来就是说,vm 是一个快速、实用和可扩展的监控方案和时序数据库。思考一下:prometheus 也是时序数据库,两者会不会有什么不一样呢?

VM 特性

要说 vm 的特性,可太多了。举几个例子:

  1. 可以作为 prometheus 长期存储的一个方案。我们知道 prometheus 默认只会保留最近 15 天的数据,如果要保留更长时间的数据,需要把数据写到远端存储中去
  2. 当使用 grafana 时,可以把其数据源 prometheus 可以被替换为 vm,因为 vm 也支持 prometheus 查询 APi
  3. 它实现了基于 PromQL 的查询语言,即 MetricsQL,并且在 PromQL 基础上做了改进
  4. 在处理百万比别数据时,使用内存资源比 Thanos、Promtheus 更少
VM 组件

那么 vm 有哪些组件呢,(cluster) 架构又是怎么样的呢?

VictoriaMetrics 如何运用?

主要组件说明:

  • vmstorage 负责存储时序数据以及提供查询
  • vmselect 从 vmstorage 获取数据返回给查询数据的客户端,支持 PromeQL
  • vminsert 通过 remote write API 将数据存储到 vmstorage

其他组件说明:

  • vmui 提供了一个 UI 供查询数据和问题排查
  • vmalert 用户告警
  • vmagent 用户数据采集
  • vmbackup 用于数据备份
  • vmrestore 用于数据恢复
VM 安装注意事项

vm 可以通过多种方式安装,如二进制、docker 镜像以及源码。可根据场景进行选择。如果在 k8s 中进行安装,我们可以直接使用 operator 来进行安装。下面重点说一下安装过程中的一些注意事项。

一个最小的集群必须包含以下节点:

  • 一个 vmstorage 单节点,另外要指定 -retentionPeriod 和 -storageDataPath 两个参数
  • 一个 vminsert 单节点,要指定 -storageNode=
  • 一个 vmselect 单节点,要指定 -storageNode=

注:高可用情况下,建议每个服务至少有个两个节点

在 vmselect 和 vminsert 前面需要一个负载均衡,比如 vmauth、nginx,同时要求:

  • 以 /insert 开头的请求必须要被路由到 vminsert 节点的 8480 端口
  • 以 /select 开头的请求必须要被路由到 vmselect 节点的 8481 端口

注:各服务的端口可以通过 -httpListenAddr 进行指定

建议为集群安装监控

如果是在一个主机上进行安装测试集群,vminsert、vmselect 和 vmstorage 各自的 -httpListenAddr 参数必须唯一,vmstorage 的 -storageDataPath、-vminsertAddr、-vmselectAddr 这几个参数必须有唯一的值。

当 vmstorage 通过 -storageDataPath 目录大小小于通过 -storage.minFreeDiskSpaceBytes 指定的可用空间时,会切换到只读模式;vminsert 停止向这类节点发送数据,转而将数据发送到其他可用 vmstorage 节点。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1929字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中