我们不用Prometheus了?

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
简介: 我们不用Prometheus了?

引言


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


注:后续VictoriaMetrics简称为vm


引言


什么是VM


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


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


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


VM特性


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


  1. VM组件
  2. 当使用grafana时,可以把其数据源prometheus可以被替换为vm,因为vm也支持prometheus查询APi
  3. 它实现了基于PromQL的查询语言,即MetricsQL,并且在PromQL基础上做了改进
  4. 在处理百万比别数据时,使用内存资源比Thanos、Promtheus更少
  5. ...


VM组件


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


640.png


主要组件说明:


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


其他组件说明:


  • vmui提供了一个UI供查询数据和问题排查
  • vmalert用户告警
  • vmagent用户数据采集
  • vmbackup用于数据备份
  • vmrestore用于数据恢复
  • ...


VM安装注意事项


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


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


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


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


  1. 在vmselect和vminsert前面需要一个负载均衡,比如vmauth、nginx,同时要求:
  • 以/insert开头的请求必须要被路由到vminsert节点的8480端口
  • 以/select开头的请求必须要被路由到vmselect节点的8481端口


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


  1. 建议为集群安装监控


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


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


相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
相关文章
|
1月前
|
存储 Prometheus Cloud Native
|
1月前
|
Prometheus 监控 Cloud Native
Prometheus中的Exporter详解
【10月更文挑战第25天】Prometheus Exporter分为直接采集(如cAdvisor, Kubernetes)和间接采集(如Node Exporter)两类。
|
5月前
|
JSON Prometheus 监控
Prometheus+Grafana 部署
Prometheus 和 Grafana 组成监控解决方案。Prometheus 是开源系统监控工具,Grafana 则用于数据可视化。要连接 Prometheus 数据源,登录 Grafana,点击设置,选择“连接”,添加新数据源,选择 Prometheus 类型,并填入 Prometheus 服务器的 HTTP 地址,如 `http://192.168.1.1:9090`,验证连接。之后,从 Grafana 官方仪表板库导入监控面板,如主机监控模板,以可视化系统状态。完成这些步骤后,便建立了有效的监控系统。
178 1
|
7月前
|
Prometheus 监控 Cloud Native
应用监控(Prometheus + Grafana)
应用监控(Prometheus + Grafana)
359 2
|
存储 Prometheus 监控
【Prometheus】什么是prometheus?prometheus简介
【Prometheus】什么是prometheus?prometheus简介
131 0
|
Prometheus Kubernetes 监控
Prometheus + Grafana on k8s部署
Prometheus + Grafana on k8s部署
1296 0
Prometheus + Grafana on k8s部署
|
Prometheus 监控 Cloud Native
Prometheus的使用总结
Prometheus的使用总结
183 0
|
Prometheus Kubernetes Cloud Native
k8s安装prometheus
##### 安装 在目标集群上,执行如下命令: ```shell kubectl apply -f https://github.com/512team/dhorse/raw/main/conf/kubernetes-prometheus.yml ``` ##### 使用 1.在浏览器访问地址:http://master_ip:30000,如下图所示: 2.查看k8s自带的指标数据,如下图所示:
k8s安装prometheus
|
存储 Prometheus 监控
今天聊聊Prometheus
今天聊聊Prometheus
75 0
|
Prometheus 监控 Cloud Native
【2023】Prometheus-Blackbox_exporter使用
【2023】Prometheus-Blackbox_exporter使用
400 0

热门文章

最新文章