nvidia_gpu_exporter GPU监控快速上手

📅 2026/8/23 16:22:18
nvidia_gpu_exporter GPU监控快速上手
nvidia_gpu_exporter GPU监控快速上手【免费下载链接】nvidia_gpu_exporterNvidia GPU exporter for prometheus using nvidia-smi binary OR using NVML项目地址: https://gitcode.com/gh_mirrors/nv/nvidia_gpu_exporterAI 训练把 GPU 打满之后你想看温度、显存还剩多少、哪个进程在吃显存却发现nvidia-smi只能手动刷一下历史数据全无再或者机器在机房/家里的弱电箱里根本没人过去敲键盘。nvidia_gpu_exporter 就是为这类场景做的 Prometheus 采集器它调用nvidia-smi收集 GPU 指标并暴露成标准 metrics 端点适合有基础 Linux 经验、想搭一套 Prometheus Grafana 的 GPU 监控Prometheus GPU 监控的新手消费级显卡GeForce/RTX和数据中心卡都支持。训练时 GPU 飙高你却只能干瞪眼典型的难受时刻loss 曲线正常但你不知道哪张卡在过热降频也不知道是不是某进程泄漏了显存。手工执行nvidia-smi -l盯屏显然不可持续——没人会 24 小时盯着终端指标也不该只活在此刻。你要的是指标入库、可以回溯、超阈值能告警。这正是 exporter 的分工——它不生产监控只负责把 GPU 状态翻译成 Prometheus 能抓的格式。30 秒看懂数据流从 nvidia-smi 到 Grafana整条链路只有四段没有中间件nvidia-smiexporter 周期性执行它或直读 NVML 驱动库拿原始字段nvidia_gpu_exporter把输出解析、翻译成带标签的指标序列在:9835/metrics上等着被拉取Prometheus按 scrape interval 抓取并存储为时间序列Grafana读 Prometheus 数据源画成仪表盘。可以把它类比成翻译官nvidia-smi 说的是命令行表格语言Prometheus 只认指标序列语言exporter 夹在中间做转译两边的工具都不用改。一条 Docker 命令跑通 GPU 监控最省事的路径是容器部署。以官方 NVML 版镜像为例直接读驱动无需 nvidia-smidocker run -d \ --name nvidia_gpu_exporter \ --restart unless-stopped \ --gpus all \ -e NVIDIA_DRIVER_CAPABILITIESutility \ -p 9835:9835 \ utkuozdemir/nvidia_gpu_exporter:latest-nvml验证是否生效很简单curl -s localhost:9835/metrics | head能看到nvidia_gpu_*开头的指标名说明链路已通接着在 Prometheus 加一个抓取目标http://主机IP:9835/metrics即可。高频参数速查表先说每个参数解决什么问题再给默认值。完整清单以--help输出和 docs/CONFIGURE.md 为准参数默认值用途--web.listen-address:9835监听地址换端口就改它--web.telemetry-path/metrics指标暴露路径--nvidia-smi-commandnvidia-smi可执行路径或完整命令首词为可执行文件、其余为参数因此可以塞sudo、ssh包装--query-field-namesAUTO指定采集字段逗号分隔AUTO自动检测当前 nvidia-smi 支持哪些字段--query-field-names-exclude空排除字段*可作通配如remapped_rows.histogram.*--collect.compute-appsfalse额外输出每进程 GPU 占用容器内需共享 host PID 命名空间--log.level/--log.formatinfo/logfmt日志级别与格式json想裁剪字段时先跑nvidia-smi --help-query-gpu查可用字段名再写进--query-field-names。三种落地姿势常驻、远程、集群本机常驻服务。结论用 systemd 托管开机自启、崩溃自动拉起。仓库自带服务文件 install/systemd/nvidia_gpu_exporter.service专用用户nvidia_gpu_exporter、Restartalwayssudo cp install/systemd/nvidia_gpu_exporter.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable --now nvidia_gpu_exporterSSH 远程采集多卡机器。结论exporter 不需要装在 GPU 机器上把--nvidia-smi-command指向一条 ssh 命令即可适合家里/机房的无人值守机器nvidia_gpu_exporter --nvidia-smi-command ssh -o StrictHostKeyCheckingno usergpu-host nvidia-smi注意远程机器上的命令必须是单命令形式多词时首个词会被当作可执行文件。K8s 集群。结论用官方 Helm chart 以 DaemonSet 铺到每个 GPU 节点比手工装轻得多。chart 在 charts/nvidia-gpu-exporter默认还带了 ServiceMonitor/PodMonitor 和仪表盘 ConfigMap接入已有 Prometheus 基本零配置。若集群已装 NVIDIA GPU Operator 且全是数据中心卡DCGM exporter 可能更合适这是定位差异不是缺陷。导入官方 Grafana GPU 仪表盘仓库里直接放了两套仪表盘 JSON单卡明细版 docs/grafana/dashboard.json 和多卡总览版 docs/grafana/dashboard-overview.json。Grafana 里Dashboards → New → Import上传 JSON或按 ID 导入 14574 / 25547选你的 Prometheus 数据源即可。重点盯四类指标温度与功耗判断是否热降频的最直接信号显存用量泄漏问题的第一现场配合--collect.compute-apps可看到是哪个进程利用率曲线训练/推理负载的形态对照时钟频率与性能状态降频时这里先于温度异常。这四个坑提前绕开权限exporter 只能看到运行用户能看到的东西。若/metrics报 nvidia-smi 执行失败先切到该用户下手动跑一次nvidia-smi专用系统用户通常要把用户加进video/render组。防火墙Prometheus 抓不到但本机 curl 正常。几乎都是端口没放通。sudo ufw allow 9835/tcp放行后再抓一次。字段太慢导致采集超时。多卡节点上某些字段如remapped_rows可能拖慢整个周期用--query-field-names-exclude remapped_rows.histogram.*剔除比手动全量指定字段省心。没有 GPU 也想验证链路。nvidia_gpu_exporter --collect.backend demo用模拟数据起服务可先把 Prometheus、Grafana、告警规则整条链路调通再上真卡。适用边界与下一步一句话定位家用/边缘/中小集群里有 nvidia-smi 就有监控的轻量方案大规模数据中心集群且已上 GPU Operator 时优先评估 DCGM exporter。下一步建议给温度、显存、掉卡exporter 自身指标各配一条告警规则再决定要不要切到 NVML 后端解锁 XID、PCIe 吞吐等额外指标。【免费下载链接】nvidia_gpu_exporterNvidia GPU exporter for prometheus using nvidia-smi binary OR using NVML项目地址: https://gitcode.com/gh_mirrors/nv/nvidia_gpu_exporter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考