当前位置: 首页 > web >正文

机器指标监控技术方案

文章目录

  • 机器指标监控技术方案
    • 架构图
      • 组件简介
        • 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.xdnf.cn/news/3253.html

相关文章:

  • 基于5G AIOT技术的未来社区解决方案PPT(45页)
  • ubuntu22.04 qemu arm64 环境搭建
  • 数据编码(Encoding)
  • vllm部署--Qwen2.5VL-7B
  • SpringMVC框架(一)
  • Tomcat 服务频繁崩溃的排查与解决方法
  • 【人工智能】解锁边缘智能:Ollama 模型压缩技术与 DeepSeek 边缘部署深度解析
  • Excel 数组功能及应用示例
  • SQL实战:05之间隔连续数问题求解
  • 安全企业内部im,BeeWorks即时通讯
  • boost 编译(windows10 + mingw7.3.0)
  • EWM 流程全自动化实现方法
  • 华为发布全球首个L3商用智驾ADS4.0
  • SpringBoot 设置HTTP代理访问
  • Wartales 战争传说 [DLC 解锁] [Steam] [Windows SteamOS]
  • transformers库里model.generate和model.forward的区别 generate函数里不同的解码方式
  • 【MyBatis-Plus】禁用某个方法里面查询语句的逻辑删除标记
  • Java 中的 设计模式详解
  • errorno 和WSAGetlasterror的区别
  • 潇洒郎: 100% 成功搭建Docker私有镜像仓库并管理、删除镜像
  • Pytorch深度学习框架60天进阶学习计划 - 第55天:3D视觉基础(一)
  • 【人工智能】释放本地AI潜能:LM Studio用户脚本自动化DeepSeek的实战指南
  • (A2A Agent通信故障诊断体系)
  • Spring Boot 数据库最佳实践:从自动配置到高性能优化
  • 腾讯云CodeBuddy初体验
  • 从边缘到云端:边缘计算与云计算的协同未来
  • OpenCV-Python (官方)中文教程(部分一)_Day20
  • Elastic Security 8.18 和 9.0 中的新功能
  • Vue 3 动态组件
  • PostgreSQL可串行化快照隔离和冻结处理