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

机器指标监控技术方案

文章目录

  • 机器指标监控技术方案
    • 架构图
      • 组件简介
        • 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 对告警进行分组、去重,并发送通知(邮件/钉钉等)。

相关文章:

  • FreeBSD升级到14.2后启动的时候提示BOOT LOADER IS TOO OLD. PLEASE UPGRADE.
  • 利用v0与Cursor优化开发流程和效率
  • 六.割草机技术总结--6.RTK定位精度分析
  • Arduino程序结构详解与嵌入式开发对比指南
  • 7.软考高项(信息系统项目管理师)-资源管理
  • 中国1km分辨率1901-2023年均气温降水数据
  • DotNet 入门:(二) 项目运行
  • 分组密码算法ShengLooog设计原理详解
  • Kubernetes 配置中的 Selector 详解
  • 验证加密与数字签名实验
  • 英语四级听力疑难知识点详解
  • WebGL图形编程实战【5】:层次构建 × Shader初始化深度剖析
  • 可视化网页自动化流程管理工具
  • 实验-单总线温度采集与显示(汇编语言与接口技术)
  • 拒绝侥幸,拥抱变化
  • TCL中环深化全球布局,技术迭代应对行业调整
  • 机器学习——特征选择
  • MCU片上存储器的类型与特性
  • 自创天炎十二戟算法设计,禁止抄袭
  • transformers库里model.generate和model.forward的区别 generate函数里不同的解码方式
  • 北部艳阳高照、南部下冰雹,五一长假首日上海天气很“热闹”
  • 经营业绩持续稳中向好,国铁集团2024年度和2025年一季度财务决算公布
  • 江西德安回应“义门陈遗址建筑被没收”:将交由规范的义门陈相关社会组织管理
  • 原国家有色金属工业局副局长黄春萼逝世,享年86岁
  • 媒体:黑话烂梗包围小学生,“有话好好说”很难吗?
  • 辽宁辽阳火灾事故饭店经营者已被控制,善后处置全面展开