utkuozdemir/nvidia_gpu_exporter
Nvidia GPU exporter for prometheus using nvidia-smi binary
What it solves
It provides a way to monitor NVIDIA GPUs across different operating systems and hardware configurations without requiring complex datacenter tooling or the NVIDIA GPU Operator stack. It is particularly useful for consumer GPUs (GeForce/RTX), small Kubernetes clusters, edge boxes, and virtualized environments where deep GPU counters are often unavailable.
How it works
The exporter collects metrics by parsing the output of the nvidia-smi binary. It can also optionally read metrics directly from the NVIDIA Management Library (NVML) for more advanced data like XID error counters and per-MIG-instance metrics. The collected data is then exported in a format compatible with Prometheus and can be visualized using provided Grafana dashboards.
Who it’s for
- System administrators and developers managing mixed fleets of NVIDIA GPUs.
- Homelab enthusiasts and gamers who want to track GPU stats on a dashboard.
- Users running GPUs on Windows, Linux, or MacOS who need a lightweight, single-binary exporter.
- Operators of small Kubernetes clusters or edge devices.
Highlights
- Cross-platform support: Works on Windows, Linux, and MacOS as long as
nvidia-smiis present. - Remote execution: Can be configured to run
nvidia-smion a remote machine. - Flexible collection: Supports background collection on a timer to avoid scraping overhead.
- Auto-discovery: Automatically detects metric fields exposed by
nvidia-smifor future compatibility. - Process-level monitoring: Can track which specific processes are consuming GPU memory.
- Built-in visualization: Includes official Grafana dashboards for both individual GPU details and multi-GPU overviews.