utkuozdemir/nvidia_gpu_exporter

Nvidia GPU exporter for prometheus using nvidia-smi binary

解决的问题

它提供了一种在不同的操作系统和硬件配置下监控 NVIDIA GPU 的方法,而无需复杂的 datacenter 工具或 NVIDIA GPU Operator 堆栈。对于通常无法获取深度 GPU 计数器的消费级 GPU (GeForce/RTX)、小型 Kubernetes 集群、边缘盒以及虚拟化环境,它特别有用。

工作原理

该导出器通过解析 nvidia-smi 二进制文件的输出来收集指标。它还可以选择直接从 NVIDIA Management Library (NVML) 读取指标,以获取更高级的数据,如 XID 错误计数器和每个 MIG 实例的指标。收集到的数据以与 Prometheus 兼容的格式导出,并可以使用提供的 Grafana 仪表板进行可视化。

适用对象

  • 管理混合 NVIDIA GPU 舰队的系统管理员和开发人员。
  • 希望在仪表板上跟踪 GPU 统计数据的 Homelab 爱好者和游戏玩家。
  • 在 Windows、Linux 或 MacOS 上运行 GPU 并需要轻量级单二进制导出器的用户。
  • 小型 Kubernetes 集群或边缘设备的运营者。

亮点

  • 跨平台支持:只要存在 nvidia-smi,即可在 Windows、Linux 和 MacOS 上运行。
  • 远程执行:可以配置为在远程机器上运行 nvidia-smi
  • 灵活的采集:支持定时后台采集,以避免 scraping 开销。
  • 自动发现:自动检测 nvidia-smi 暴露的指标字段,以实现未来的兼容性。
  • 进程级监控:可以跟踪哪些特定进程正在消耗 GPU 内存。
  • 内置可视化:包含用于单个 GPU 详情和多 GPU 概览的官方 Grafana 仪表板。