我们不用Prometheus了?

简介: 我们不用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节点


相关文章
|
存储 Prometheus Kubernetes
K8s + prometheus + vm(VictoriaMetrics)
K8s + prometheus + vm(VictoriaMetrics)
1267 1
|
Kubernetes API 容器
loki日志收集全网最全教程(强推)
loki日志收集全网最全教程(强推)
|
7月前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
52359 73
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
9月前
|
人工智能 监控 API
Claude Code终于有仪表盘了:3条命令装个HUD,上下文用了多少一眼就知道
老金我最近用Claude Code,遇到一个特别烦的事。 写着写着,突然蹦出来一句"context window is getting full"。 然后AI就开始犯傻了——回答变短、逻辑变乱、之前说好的方案全忘了。 每次遇到这种情况,老金我都想骂人。 问题出在哪? Claude Code的终端界面,压根看不到上下文用了多少。 你只能输入 /context手动查,但谁写代码的时候
13333 10
|
10月前
|
人工智能 JavaScript 应用服务中间件
零门槛部署本地AI助手:Windows系统Moltbot(Clawdbot)保姆级教程
Moltbot(原Clawdbot)是一款功能全面的智能体AI助手,不仅能通过聊天互动响应需求,还具备“动手”和“跑腿”能力——“手”可读写本地文件、执行代码、操控命令行,“脚”能联网搜索、访问网页并分析内容,“大脑”则可接入Qwen、OpenAI等云端API,或利用本地GPU运行模型。本教程专为Windows系统用户打造,从环境搭建到问题排查,详细拆解全流程,即使无技术基础也能顺利部署本地AI助理。
9783 18
|
11月前
|
人工智能 JavaScript 机器人
Coze vs Dify vs n8n:三大AI智能体开发平台全面对比
2025年三大AI智能体平台深度对比:Coze零代码快速搭建,适合个人与轻量应用;Dify专注企业级大模型应用,平衡易用与灵活;n8n强在自动化集成,支持高度定制。根据需求选型,助力高效开发。
|
存储 Prometheus 监控
当 OpenTelemetry 遇上阿里云 Prometheus
本文以构建系统可观测为切入点,对比 OpenTelemetry 与 Prometheus 的相同与差异,重点介绍如何将应用的 OpenTelemetry 指标接入 Prometheus 及背后原理以及介绍阿里云可观测监控 Prometheus 版拥抱 OpenTelemetry及相关落地实践案例。
95460 122