utkuozdemir/nvidia_gpu_exporter

Nvidia GPU exporter for prometheus using nvidia-smi binary

解決する課題

複雑なデータセンター用ツールや NVIDIA GPU Operator スタックを必要とせずに、異なるオペレーティングシステムやハードウェア構成にわたって NVIDIA GPU を監視する方法を提供します。特に、ディープ GPU カウンターが利用できないことが多いコンシューマ向け GPU (GeForce/RTX)、小規模な Kubernetes クラスター、エッジボックス、および仮想化環境において非常に有用です。

仕組み

このエクスポーターは、nvidia-smi バイナリの出力を解析することでメトリクスを収集します。また、XID エラーカウンターや MIG インスタンスごとのメトリクスなどのより高度なデータについては、NVIDIA Management Library (NVML) から直接メトリクスを読み取ることもオプションで可能です。収集されたデータは Prometheus と互換性のある形式でエクスポートされ、提供されている Grafana ダッシュボードを使用して可視化できます。

対象ユーザー

  • NVIDIA GPU の混在したフリートを管理するシステム管理者および開発者。
  • ダッシュボードで GPU ステータスを追跡したい Homelab 愛好家やゲーマー。
  • Windows、Linux、または MacOS で GPU を実行しており、軽量なシングルバイナリのエクスポーターを必要とするユーザー。
  • 小規模な Kubernetes クラスターまたはエッジデバイスのオペレーター。

ハイライト

  • クロスプラットフォーム対応: nvidia-smi が存在すれば、Windows、Linux、MacOS で動作します。
  • リモート実行: リモートマシン上で nvidia-smi を実行するように構成できます。
  • 柔軟な収集: スレイピングのオーバーヘッドを避けるため、タイマーによるバックグラウンド収集をサポートしています。
  • 自動検出: 将来の互換性のために、nvidia-smi によって公開されるメトリクスフィールドを自動的に検出します。
  • プロセスレベルの監視: どの特定のプロセスが GPU メモリを消費しているかを追跡できます。
  • 組み込みの可視化: 個別の GPU 詳細およびマルチ GPU の概要の両方に対応する公式の Grafana ダッシュボードが含まれています。