机器指标监控技术方案

文章目录

  • 机器指标监控技术方案
    • 架构图
      • 组件简介
        • Prometheus 简介
          • 核心特性
          • 适用场景
        • Grafana 简介
          • 核心特性
          • 适用场景
        • Alertmanager 简介
          • 核心特性
          • 适用场景
    • 数据采集
      • 机器Node Exporter
      • MySQL Exporter
      • Redis Exporter
      • ES Exporter
      • RocketMQ Exporter
      • Springcloud Exporter
      • Nacos
    • 数据存储
      • 短期存储
      • 长期存储
        • 方案 1:Thanos(推荐)​
        • 方案 2:VictoriaMetrics
        • 方案 3:M3DB(Uber 开源)​
    • 数据查询展示
      • 快速导入模板​
      • 机器指标监控模板
      • MySQL 指标监控模板
      • Redis 指标监控模板
      • ES 指标监控模板
      • RocketMQ 指标监控模板
      • Springcloud 指标监控模板
    • 指标异常告警
      • AlertManager
        • 核心特性
        • 适用场景
        • 协作流程

机器指标监控技术方案

架构图

[图片]

组件简介

Prometheus 简介

Prometheus 是一款开源的 监控和告警工具,由 Cloud Native Computing Foundation (CNCF) 托管,专为云原生环境设计。它采用 Pull(拉取) 模式采集指标数据,并支持强大的 PromQL 查询语言,适用于 微服务、容器、中间件和基础设施 的监控。

核心特性

✅ 多维度数据模型​:基于 metric_name{labels}=value 的键值对存储,支持灵活查询。
✅ 高效存储​:采用时间序列数据库(TSDB),支持高效查询和压缩存储。
✅ 服务发现​:支持 Kubernetes、Consul、Nacos 等动态发现监控目标。
✅ 告警规则​:可定义灵活的告警条件(如 CPU > 90%),并推送至 Alertmanager。
✅ 丰富的 Exporter 生态​:支持 Node Exporter(机器监控)、MySQL Exporter(数据库监控)等。

适用场景

📌 监控 Spring Cloud 微服务(JVM、HTTP 请求、线程池)
📌 监控 中间件(RocketMQ、MySQL、Redis、Elasticsearch)
📌 监控 服务器资源(CPU、内存、磁盘、网络)

Grafana 简介

Grafana 是一款开源的 数据可视化和监控分析平台,支持多种数据源(如 Prometheus、MySQL、Elasticsearch),能够将复杂的监控数据转化为 直观的仪表盘,帮助团队快速发现和诊断问题。

核心特性

✅ 多数据源支持:可集成 Prometheus、InfluxDB、Elasticsearch、Loki 等。
✅ 丰富的可视化组件:折线图、柱状图、仪表盘、热力图、日志面板等。
✅ 动态仪表盘:支持变量过滤(如按服务名、实例筛选数据)。
✅ 告警可视化:可在仪表盘直接查看告警状态。
✅ 团队协作:支持共享仪表盘、权限管理、版本回滚。

适用场景

📊 可视化 Prometheus 监控数据(如机器指标、微服务性能)
📊 日志分析(结合 Elasticsearch 或 Loki)
📊 业务数据监控(如订单量、API 成功率)

Alertmanager 简介

Alertmanager 是 Prometheus 生态中的 告警管理组件,负责对 Prometheus 触发的告警进行 去重、分组、路由和通知,确保告警信息能高效、准确地送达相关人员。

核心特性

🔔 告警分组(Grouping)​​:合并同类告警(如多台机器高 CPU 告警合并为一条)。
🔔 告警抑制(Inhibition)​​:避免冗余告警(如机器宕机时,忽略该机器上的服务告警)。
🔔 多通知渠道:支持邮件、Slack、钉钉、企业微信、Webhook 等。
🔔 静默(Silence)​​:临时屏蔽特定告警(如维护期间)。
🔔 高可用:支持多实例集群部署,避免单点故障。

适用场景

🚨 微服务异常告警(如 HTTP 错误率飙升、JVM OOM)
🚨 中间件告警(如 RocketMQ 消息堆积、MySQL 慢查询)
🚨 服务器告警(如磁盘空间不足、CPU 过载)

数据采集

exporter list https://prometheus.io/docs/instrumenting/exporters/

机器Node Exporter

https://github.com/prometheus/node_exporter

MySQL Exporter

https://github.com/prometheus/mysqld_exporter

Redis Exporter

https://github.com/oliver006/redis_exporter

ES Exporter

https://github.com/prometheus-community/elasticsearch_exporter

RocketMQ Exporter

https://github.com/apache/rocketmq-exporter

Springcloud Exporter

https://micrometer.io/docs/registry/prometheus

Nacos

使用动态服务发现
https://blog.csdn.net/qaknar826/article/details/147055927

scrape_configs:

  • job_name: ‘spring-cloud-apps’
    nacos_sd_configs:
    • server: ‘nacos-server-ip:8848’ # Nacos 地址
      group_name: ‘DEFAULT_GROUP’
      namespace_id: ‘your-namespace-id’
      metrics_path: ‘/actuator/prometheus’
      relabel_configs:
    • source_labels: [__meta_nacos_service_name]
      target_label: application

数据存储

短期存储

Prometheus 默认使用 本地时间序列数据库(TSDB)​ 存储数据,默认保留 15天​
(storage.tsdb.retention.time=15d)
数据存储在 --storage.tsdb.path 指定的目录(默认 data/)
一个月内的短期存储推荐默认的本地时序数据库

长期存储

方案 1:Thanos(推荐)​
  • 基于 Prometheus TSDB,支持无限扩展存储。
  • 支持全局查询、数据压缩、降采样(Downsampling)。
  • 集成对象存储(如 S3、MinIO、阿里云 OSS)。
方案 2:VictoriaMetrics
  • 高性能时序数据库,兼容 PromQL。
  • 存储效率比 Prometheus TSDB 高 10 倍。
  • 支持单机版和集群版。
方案 3:M3DB(Uber 开源)​
  • 分布式时序数据库,适合大规模监控。
  • 需要额外部署集群管理组件(如 etcd)。
    方案对比
    暂时无法在飞书文档外展示此内容
    推荐选择:
  • 中小规模​:VictoriaMetrics(简单高效)。
  • 大规模/云原生​:Thanos + 对象存储(如 S3)。

数据查询展示

使用Grafana展示,Grafana支持使用模板。
模板库:https://grafana.com/grafana/dashboards/

[图片]

快速导入模板​

  1. 左侧菜单 → Dashboards → New → Import。
  2. 输入模板 ID 1860​(Node Exporter 官方模板)。
  3. 选择 Prometheus 数据源,点击 Import。

机器指标监控模板

https://grafana.com/grafana/dashboards/1860-node-exporter-full/
[图片]

MySQL 指标监控模板

https://grafana.com/grafana/dashboards/7362-mysql-overview/
[图片]

[图片]

[图片]

Redis 指标监控模板

Redis官方出的
https://grafana.com/grafana/dashboards/12776-redis/
[图片]

Prometheus官方出的
https://grafana.com/grafana/dashboards/11835-redis-dashboard-for-prometheus-redis-exporter-helm-stable-redis-ha/
[图片]

ES 指标监控模板

https://grafana.com/grafana/dashboards/9746-elasticsearch-example/
在这里插入图片描述

[图片]

RocketMQ 指标监控模板

https://grafana.com/grafana/dashboards/14612-rocketmq/
[图片]

Springcloud 指标监控模板

https://grafana.com/grafana/dashboards/4701-jvm-micrometer/
[图片]

[图片]

指标异常告警

AlertManager

Alertmanager 是 Prometheus 生态中的 告警管理组件,负责对 Prometheus 触发的告警进行 去重、分组、路由和通知,确保告警信息能高效、准确地送达相关人员。

核心特性

🔔 告警分组(Grouping)​​:合并同类告警(如多台机器高 CPU 告警合并为一条)。
🔔 告警抑制(Inhibition)​​:避免冗余告警(如机器宕机时,忽略该机器上的服务告警)。
🔔 多通知渠道:支持邮件、Slack、钉钉、企业微信、Webhook 等。
🔔 静默(Silence)​​:临时屏蔽特定告警(如维护期间)。
🔔 高可用:支持多实例集群部署,避免单点故障。

适用场景

🚨 微服务异常告警(如 HTTP 错误率飙升、JVM OOM)
🚨 中间件告警(如 RocketMQ 消息堆积、MySQL 慢查询)
🚨 服务器告警(如磁盘空间不足、CPU 过载)

协作流程
  1. Prometheus 采集指标(如机器、微服务、中间件数据)。
  2. Grafana 可视化 Prometheus 数据,提供实时监控仪表盘。
  3. Prometheus 触发告警规则,推送至 Alertmanager。
  4. Alertmanager 对告警进行分组、去重,并发送通知(邮件/钉钉等)。

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

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

相关文章

【Office-Excel】单元格输入数据后自动填充单位

1.自定义设置单元格格式 例如我想输入数字10,回车确认后自动显示10kg。 右击单元格或者快捷键(Ctrl1),选择设置单元格格式,自定义格式输入: 0"kg"格式仍是数字,但是显示是10kg&…

JavaScript的3D库有哪些?

JavaScript的3D库有哪些? 在3D开发领域,JavaScript提供了多种库和框架,使开发者能够在浏览器中创建丰富的3D体验。以下是一些流行的3D方面的JavaScript库: Three.js:这是最著名的用于创建3D图形的JavaScript库之一。它…

中央网信办部署开展“清朗·整治AI技术滥用”专项行动

为规范AI服务和应用,促进行业健康有序发展,保障公民合法权益,近日,中央网信办印发通知,在全国范围内部署开展为期3个月的“清朗整治AI技术滥用”专项行动。 中央网信办有关负责人表示,本次专项行动分两个阶…

论文阅读:2024 arxiv Jailbreaking Black Box Large Language Models in Twenty Queries

总目录 大模型安全相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 Jailbreaking Black Box Large Language Models in Twenty Queries https://www.doubao.com/chat/4008882391220226 https://arxiv.org/pdf/2310.08419 速览 这篇论文是来…

零基础学指针2

零基础学指针---大端和小端 零基础学指针---什么是指针 零基础学指针---取值运算符*和地址运算符& 零基础学指针---结构体大小 零基础学指针5---数据类型转换 零基础学指针6---指针数组和数组指针 零基础学指针7---指针函数和函数指针 零基础学指针8---函数指针数组…

《Python实战进阶》 No46:CPython的GIL与多线程优化

Python实战进阶 No46:CPython的GIL与多线程优化 摘要 全局解释器锁(GIL)是CPython的核心机制,它保证了线程安全却限制了多核性能。本节通过concurrent.futures、C扩展优化和多进程架构,实战演示如何突破GIL限制&#…

Golang实现函数默认参数

golang原生不支持默认参数 在日常开发中,我们有时候需要使用默认设置,但有时候需要提供自定义设置 结构体/类,在Java我们可以使用无参、有参构造函数来实现,在PHP中我们也可以实现(如 public function xxx($isCName false, $sec…

Chrome 136 H265 WebRTC 支持 正式版本已包含

时间过的真快,去年8月份写过一篇文章介绍如何加参数方式启动Chrome H265 硬件解码器, 现在的136版本已经包含在内,至此WebRTC已经完整包含了H264和H265解码器,这个事情应该从2015年开始,Google强推VP9 AV1&#xff0c…

12.SpringDoc OpenAPI 功能介绍(用于生成API接口文档)

12.SpringDoc OpenAPI 功能介绍(用于生成API接口文档) SpringDoc OpenAPI 是一个基于 OpenAPI 3.0/3.1 规范的工具,用于为 Spring Boot 应用生成 API 文档。它是 springfox(Swagger 2.x)的现代替代方案,完全支持 Spring Boot 3.x…

CentOS Linux 环境二进制方式安装 MySQL 5.7.32

文章目录 安装依赖包新建用户解压初始化配置文件启动服务登录MySQL修改密码停止数据库 安装依赖包 yum -y install libaio perl perl-devel libncurses* autoconf numactl新建用户 useradd mysql解压 tar xf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.32-l…

Webug4.0通关笔记06- 第8关CSV注入

目录 CSV注入漏洞 1.CSV漏洞简介 2.漏洞原理 (1)公式执行 (2)DDE机制 (3)OS命令执行 3.漏洞防御 第08关 CSV注入 1.打开靶场 2.修改源码 3.注入命令 4.导出excel表 5.打开excel表 CSV注入漏洞…

Windows和 macOS 上安装 `nvm` 和 Node.js 16.16.0 的详细教程。

Windows和 macOS 上安装 nvm 和 Node.js 16.16.0 的详细教程。 --- ### 1. 安装 nvm(Node Version Manager) nvm 是一个 Node.js 版本管理工具,可以轻松安装和切换不同版本的 Node.js。 #### Windows 安装 nvm 1. **下载 nvm 安装包**&#x…

[特殊字符] 蓝桥杯省赛全解析:含金量、获奖难度、参赛意义与发展价值全面剖析

蓝桥杯省赛刚刚落幕,不论你是刚参加完比赛的同学,还是还在观望是否值得投入时间去准备蓝桥杯的学生,相信你都关心: 蓝桥杯到底值不值得参加? 获奖难不难?含金量如何? 和其它算法竞赛相比有什么…

ASP.NET MVC后端控制器用模型 接收前端ajax数据为空

1、前端js代码 如下: const formData {DeptName: D001,Phone: 12345678900 };$.ajax({url: "/Phone/SavePhone1",type: "POST",contentType: "application/json",data: JSON.stringify(formData), //必须要JSON.stringifysuccess:…

拥抱 Kotlin Flow

1. 引言 Kotlin Flow 是 Kotlin 协程生态中处理异步数据流的核心工具,它提供了一种声明式、轻量级且与协程深度集成的响应式编程模型。与传统的 RxJava 相比,Flow 更简洁、更易于维护,尤其在 Android 开发中已成为主流选择。本文将从基础概念…

精益数据分析(34/126):深挖电商运营关键要点与指标

精益数据分析(34/126):深挖电商运营关键要点与指标 在创业和数据分析的学习之旅中,我们都在不断探寻如何让业务更上一层楼。今天,我依旧带着和大家共同进步的想法,深入解读《精益数据分析》中电商运营的关…

Learning vtkjs之ImageCropFilter

过滤器 图片数据体积裁剪 介绍 vtkImageCropFilter可以裁剪vtkImageData。这只适用于IJK对齐的平面。 请注意,由于CPU限制的裁剪,这在大型数据集上会很慢。 效果 核心代码 需要实现这个代码主要逻辑 1、设定的crop的包围盒 其实主要是IMax IMin JM…

深入理解 C++11 delete 关键字:禁用函数的艺术

一、什么是 delete 关键字 C11 引入的 delete 关键字是一种​​显式禁用函数​​的语法机制。它允许开发者主动阻止特定函数的使用,比传统的私有化声明更直观、更安全,且能在编译期捕获更多潜在错误。 二、为什么需要 delete? 1. 传统方式…

深度剖析!GPT-image-1 API 开放对 AI 绘画技术生态的冲击!

4月24日凌晨,OpenAI正式发布了全新的图像生成模型“gpt-image-1”,并通过API向全球开发者开放使用,这意味着其GPT-4o的图像生成能力正式向开发者开放! 在这之前,GPT-4o的图像生成功能于今年3月25日由 OpenAI 创始人兼 …

扣子流程图批量导入飞书多维表格

文章目录 整体结构分步骤进行处理1. 程序代码处理2. 多维表格配置 整体结构 整个代码块结构如下: 首先,我们从其他流程中拿到一个数据列表,通过一个循环体,将每一个部分的内容都通过python代码整理后,使用【插件】的…