AI服务器AIOps配置:从指标采集到告警落地的实操路径

AIOps不是买一套平台就能自动生效,它的前提是把AI服务器的关键指标稳定采集上来,再让告警规则替你盯住异常。
对一台跑推理或训练的AI服务器来说,最值得先接管的指标是GPU利用率、显存占用、GPU温度、系统负载和推理服务延迟。
下面按“装采集器—接Prometheus—写告警—验证”的顺序走一遍,环境以常见的Ubuntu 22.04 + Docker + NVIDIA驱动为例,其他发行版命令自行替换。

先确认采集前提

动手前需要满足三个条件:服务器已装好NVIDIA驱动,nvidia-smi能正常输出;
Docker已安装并配置好nvidia-container-runtime;
服务器能访问Prometheus所在网络。
可以先跑一条命令确认GPU可见:

nvidia-smi -L

输出中能看到GPU型号和UUID,说明驱动层正常。
如果这里报错,先解决驱动问题,不要继续往下配,否则后续Exporter会拿不到数据。

用DCGM Exporter采集GPU指标

NVIDIA官方提供的DCGM Exporter能把GPU利用率、显存、温度、功耗等指标以Prometheus格式暴露出来。
用Docker启动最省事:

docker run -d --gpus all --rm \
  --name dcgm-exporter \
  -p 9400:9400 \
  nvcr.io/nvidia/k8s/dcgm-exporter:3.3.0-3.2.0-ubuntu22.04

启动后访问 http://服务器IP:9400/metrics,能看到 DCGM_FI_DEV_GPU_UTIL、DCGM_FI_DEV_MEM_COPY_UTIL、DCGM_FI_DEV_GPU_TEMP 这类指标行,就说明GPU指标已经暴露。
端口9400只在内网使用,不建议直接暴露到公网;
如果必须跨网访问,用防火墙限制来源IP。

系统层指标用node_exporter补上:

docker run -d --rm --name node-exporter \
  -p 9100:9100 \
  -v /proc:/host/proc:ro \
  -v /sys:/host/sys:ro \
  -v /:/rootfs:ro \
  prom/node-exporter:v1.7.0 \
  --path.procfs=/host/proc --path.sysfs=/host/sys

把指标接进Prometheus

在Prometheus的 prometheus.yml 中增加两个抓取任务,targets换成你服务器的内网IP:

scrape_configs:
  - job_name: 'ai-node'
    static_configs:
      - targets: ['192.168.1.10:9100']
  - job_name: 'ai-gpu'
    static_configs:
      - targets: ['192.168.1.10:9400']

改完配置后重载Prometheus:

curl -X POST http://localhost:9090/-/reload

然后在Prometheus界面的Status > Targets里确认两个任务都是UP。
如果显示DOWN,优先检查端口是否被防火墙拦截、容器是否在运行,以及targets里的IP是否写成了公网地址而实际走内网。

写几条真正有用的告警规则

AIOps配置里最容易出问题的是告警规则写得太泛,导致要么天天误报、要么真出事不响。
建议先落三条和AI服务器强相关的规则:

groups:
  - name: ai-server-alerts
    rules:
      - alert: GPUMemoryHigh
        expr: DCGM_FI_DEV_FB_USED / (DCGM_FI_DEV_FB_USED + DCGM_FI_DEV_FB_FREE) > 0.9
        for: 5m
        labels:
          severity: warning
        annotations:
          summary: "GPU显存占用超过90%,持续5分钟"
      - alert: GPUTempHigh
        expr: DCGM_FI_DEV_GPU_TEMP > 85
        for: 3m
        labels:
          severity: critical
        annotations:
          summary: "GPU温度超过85摄氏度"
      - alert: NodeDown
        expr: up{job="ai-node"} == 0
        for: 1m
        labels:
          severity: critical
        annotations:
          summary: "AI服务器指标采集中断"

把规则文件放到Prometheus的 rules/ 目录,并在主配置中通过 rule_files 引用,重载后到Alerts页面确认规则已加载。
阈值不要照抄,按你的卡型和业务调整:训练卡长时间80度以上可能正常,推理卡则要更敏感。

验证告警是否真的能触达

规则加载成功不等于告警能送到人。
先手动制造一次触发:把 GPUTempHigh 的阈值临时改成低于当前温度的值,等 for 时间过去,看Prometheus的Alerts页面是否进入Pending再转Firing。
确认触发后,再检查Alertmanager或你接的通知渠道是否收到消息。
验证完记得把阈值改回去,避免留下误报规则。

几个容易踩的坑

  • 只看GPU不看进程:显存涨满但不知道是哪个容器占的,排查会非常慢。建议同时采集容器指标,或在推理服务侧暴露请求队列长度。
  • 告警没有分级:所有告警都发同一个群,久了就没人看。至少分成warning和critical两档,critical才走电话或短信。
  • 采集器重启后指标断档:用Docker的--restart unless-stopped保证Exporter随系统启动,否则服务器重启后监控会静默失效。
  • 把监控端口暴露公网:9400和9100都不需要公网访问,用安全组或防火墙限制内网来源。

整套配下来,你得到的不是“AIOps平台”,而是可解释、可验证的监控底座:指标从哪来、告警为什么响、去哪查,都有明确路径。
后续再叠加日志分析和自动化处置,才有可靠的数据基础。

分享到:
上一篇
AI服务器SRE日常巡检要做哪些配置检查
下一篇
AI服务器MLOps配置:用Docker和MLflow管好训练环境
1
系统公告

关于香港云优质服务器IP地址更换的通知

尊敬的客户: 因原IP运营商大幅涨价,为避免成本转嫁至用户,我司决定更换IP服务商。本次更换后,您的续费价格将保持不变,且新IP网络质量与服务标准不受影响。新IP已分配至后台,即刻生效(更换的新IP都是香港原生IPv4)。 涉及 IP 段: 45.192.x.x 旧 IP 停用时间: 2026 年 12 月 1 日
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意