TutorialAI Translated Content

Dashboard Pemantauan GPU

Pasukan Float16
3 min read
Dashboard Pemantauan GPU

Dalam artikel ini, saya akan membimbing semua orang melalui penciptaan dashboard pemantauan GPU dengan Grafana, bermula dari cara memasang Grafana sehingga mengkonfigurasinya untuk menerima metrik prestasi GPU menggunakan dcgm-exporter melalui Prometheus sehingga kita boleh mencipta dashboard untuk melihat pelbagai operasi GPU. Kita akan demo semuanya dengan Docker.

Jika semua orang sudah menyediakan mesin mereka, mari kita mulakan!

Mencipta Docker Network

Kita akan membuat setiap container dalam contoh ini berada di network yang sama supaya mereka boleh memanggil antara satu sama lain melalui nama container.

docker network create monitor

Memasang Grafana

Cipta folder untuk menyimpan data Grafana dan tetapkan kebenaran

mkdir grafana-data
chown -R 472:472 grafana-data

Jalankan Grafana dengan Docker

docker run -d -p 3000:3000 --name=grafana --network monitor \
      -v "./grafana-data:/var/lib/grafana" \
      --user 472 \
      grafana/grafana-enterprise

Kita boleh mengaksesnya melalui http://localhost:3000 dengan user: admin dan password: admin. Selepas itu, tetapkan password baru.

Memasang DCGM Exporter

DCGM Exporter (singkatan daripada Data Center GPU Manager Exporter) adalah alat daripada NVIDIA yang digunakan untuk mengekstrak maklumat status GPU dan mengeksportnya dalam format yang boleh dengan mudah digunakan dengan sistem pemantauan seperti Prometheus.

Pemasangan boleh dilakukan dengan menjalankan melalui Docker.

docker run -itd --name dcgm-exporter \
--gpus all \
--runtime=nvidia \
--cap-add SYS_ADMIN \
--network monitor \
-p 9400:9400 nvcr.io/nvidia/k8s/dcgm-exporter:4.2.3-4.1.1-ubuntu22.04

Service ini adalah API yang mengembalikan data GPU. Test dengan:

curl http://localhost:9400/metrics

respons dcgm-exporter

Memasang Prometheus

Cipta folder untuk menyimpan fail konfigurasi

mkdir prometheus

Cipta prometheus.yml di folder yang baru dicipta

global:
  scrape_interval:     15s # By default, scrape targets every 15 seconds.

  # Attach these labels to any time series or alerts when communicating with
  # external systems (federation, remote storage, Alertmanager).
  external_labels:
    monitor: 'codelab-monitor'

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # Override the global default and scrape targets from this job every 5 seconds.
    scrape_interval: 5s
    static_configs:
      - targets: ['dcgm-exporter:9400']

Cipta Prometheus dengan Docker

docker run -itd \
--name=prometheus \
--network monitor \
-p 9090:9090 \
-v ./prometheus:/etc/prometheus \
--user root \
prom/prometheus

Konfigurasi Grafana Datasource

Di Grafana UI, buka Connections > Add new connection dan pilih Data source sebagai Prometheus

Kemudian pilih Add new data source

Setelah di halaman settings, di Connection, masukkan Prometheus server URL sebagai http://prometheus:9090 kemudian klik save & test untuk mencipta data source.

Mencipta Grafana Dashboard

Di langkah ini, kita tidak akan mencipta Dashboard sendiri tetapi akan menggunakan template yang dicipta Nvidia daripada https://grafana.com/grafana/dashboards/12239-nvidia-dcgm-exporter-dashboard/

Di Grafana, buka Dashboard, pilih Create Dashboard, kemudian pilih Import dashboard

Di field dashboard URL atau ID, masukkan 12239 yang merupakan id nvidia dashboard, kemudian klik load dan anda akan tiba di halaman Import dashboard

Di field Prometheus di bahagian bawah, pilih prometheus data source yang kita cipta, kemudian klik Import

GPU Dashboard

Dan itu sahaja! Kita sekarang mempunyai GPU Dashboard untuk pemantauan pelbagai metrik.

Ringkasan

Artikel ini untuk mereka yang sudah menggunakan alat-alat ini - saya percaya anda boleh dengan mudah menyesuaikannya untuk menerima data daripada DCGM-Exporter. Tetapi untuk pemula, saya percaya anda boleh mengikuti contoh-contoh ini dan menggunakannya dengan jayanya. Terutamanya, saya hanya ingin memperkenalkan alat DCGM-Exporter yang membantu mengekstrak pelbagai GPU Metrics yang cukup komprehensif, jadi ia adalah service yang ingin saya syorkan untuk tujuan ini.