Prometheus & Grafana:算力中心的“ICU 监控系统”

Prometheus & Grafana:算力中心的"ICU 监控系统"

在管理大规模的算力中心(有很多 CPU/GPU 服务器)时,怎么知道哪台机器发烧了(过热)?哪台机器在偷懒(空闲)?

我们需要一套监控系统,而 Prometheus + Grafana 就是业界的黄金搭档。


1. 通俗比喻:ICU 病房监控

我们可以把算力中心的每一台服务器 想象成 ICU 病房里的病人

角色 1:Exporter ------ "贴在身上的传感器"

  • 是什么:一个小软件,装在被监控的服务器上。
  • 干什么 :它负责实时采集机器的生命体征。
    • Node Exporter:采集 CPU 使用率、内存剩余、硬盘读写等(就像测心率、血压)。
    • DCGM Exporter:专门采集 NVIDIA GPU 的显存占用、GPU 利用率、温度(就像测脑电波)。
  • 特点:它只负责采集并把数据暴露在通过一个 HTTP 接口上,它不知道谁来看数据。

角色 2:Prometheus ------ "负责查房的护士(数据库)"

  • 是什么:一个开源的时序数据库和监控系统。
  • 干什么 :它非常勤快,默认每隔 15 秒(可配置)就去访问所有 Exporter 的接口,问:"现在数据是多少?"。
  • 动作 :这叫 Pull(拉取)模式 。不仅记录数据,还记录时间
    • "10:00:00,机器A,GPU温度 60度"
    • "10:00:15,机器A,GPU温度 62度"
    • "10:00:30,机器A,GPU温度 85度 (危险!)"

角色 3:Grafana ------ "床头的电子显示屏(可视化)"

  • 是什么:一个超级酷炫的看图工具。
  • 干什么:Prometheus 存的都是冷冰冰的数字和时间戳,人看不懂。Grafana 负责连接 Prometheus,把这些数据画成折线图、仪表盘、热力图。
  • 效果:管理员坐在办公室,看着大屏幕,一眼就能看出哪条曲线飙升了。

2. 应用场景实战:算力中心监控

假设你运营一个拥有 100 张 H800 计算卡的算力集群,这套系统能帮你解决什么问题?

场景一:防止矿机"烧卡" ------ 硬件健康监控

  • 配置:我们在 Grafana 上画一条红线(阈值),比如 GPU 温度 > 80℃。
  • Prometheus 报警 :一旦 Prometheus 抓取的数据连续 1 分钟超过 80℃,它会立刻触发 Alertmanager,给你发钉钉、邮件或者打电话。
  • 结果:运维立刻去检查风扇或空调,避免价值几十万的显卡烧毁。

场景二:抓出"占着茅坑不拉屎"的租户 ------ 利用率分析

  • 问题:由于算力很贵,你把机器租给客户 A,但他好像没在跑任务?
  • 查看 Grafana :调出过去 24 小时的 GPU Utilization(利用率) 曲线。
  • 发现:利用率长期是一条直线的 0%,或者一直在波动但平均只有 10%。
  • 决策:你可以联系客户 A 释放资源,或者根据利用率来动态计费。

场景三:排查"卡顿"原因 ------ 性能瓶颈分析

  • 问题:客户抱怨训练模型特别慢。
  • 排查 :看监控面板。
    • CPU 跑满了? -> 可能是数据预处理太慢,卡住 GPU 了。
    • PCIe 带宽跑满了? -> 可能是数据传输这是瓶颈。
    • GPU 显存满了? -> 模型太大,需要优化 Batch Size。
  • 结果:用数据说话,快速定位是软件问题还是硬件瓶颈。

3. 为什么是"Pull"模式?(Prometheus 的一大特点)

传统的监控往往是 Agent 主动推 (Push) 数据给服务器。但 Prometheus 选择拉 (Pull)

  • 好处 :Prometheus 掌握主动权。如果某台机器宕机了(挂了),Prometheus 拉不到数据,它立刻就知道这台机器掉线了(Up 状态变为 0)。
  • 像极了:护士去病房喊病人,病人不答应,护士马上知道出事了;而不是等病人自己跑来护士站汇报(万一晕倒了怎么汇报?)。

总结

  • Exporter: 这里的传感器(生产数据)。
  • Prometheus: 勤劳的查房记录员(存储数据)。
  • Grafana: 漂亮的大屏展示(展示数据)。
相关推荐
牛奶咖啡1311 小时前
Prometheus+Grafana构建云原生分布式监控系统(六)
云原生·grafana·prometheus·prometheus黑盒监控·黑盒监控的数据可视化·黑盒监控的安装配置
噎住佩奇1 天前
单节点K8s上安装Prometheus
prometheus
我爱娃哈哈1 天前
SpringBoot + SkyWalking + Prometheus:微服务全链路监控与性能压测闭环方案
spring boot·prometheus·skywalking
牛奶咖啡131 天前
Prometheus+Grafana构建云原生分布式监控系统(四)
云原生·grafana·prometheus·redis_exporter·监控redis数据库·redis需要监控的重要指标·redis监控可视化
牛奶咖啡131 天前
Prometheus+Grafana构建云原生分布式监控系统(五)
云原生·grafana·prometheus·监控nginx·两种监控nginx方法·nginx源码编译参数解析·编译nginx源码实操
AC赳赳老秦2 天前
Prometheus + DeepSeek:自动生成巡检脚本与告警规则配置实战
前端·javascript·爬虫·搜索引擎·prometheus·easyui·deepseek
A-刘晨阳2 天前
【Linux】Prometheus + Grafana的使用
linux·运维·grafana·prometheus·监控
牛奶咖啡132 天前
Prometheus+Grafana构建云原生分布式监控系统(三)
grafana·prometheus·云原生监控·监控linux主机状态·node_exporter安装·监控mysql数据库实践·mysql_exporter
Java程序员威哥2 天前
Java微服务可观测性实战:Prometheus+Grafana+SkyWalking全链路监控落地
java·开发语言·python·docker·微服务·grafana·prometheus