Grafana, Prometheus, node-exporter, GPU
これで十分かわからないが、とりあえず
dcgm-exporterとnode-exporterの確認
すでに起動しているかをみてみる、
その1
ss -natp | grep LISTEN
9100 (node-exporter)
9400 (dcgm-exporter)
その2、いかのどれかでプロセスがうごいていれば、いけるかもしれない。
ps aux | grep node
ps aux | grep dcgm
ps aux | grep exporter
stress,dstat をインストール、grafana確認用
apt-get install stress dstat
CPU に負荷
112コアあるので、いかのようにして、だいたい50%くらいつかわれることを確認した。
stress -c 50
メモリに負荷
2TB積んでいるようだったので、
stress -m 1 --vm-bytes 512G --vm-hang 0 -v
ディスクに負荷
stress -d 56
上のコマンドだとわかりにくかったので、
以下で計測
/dev/nvme0n1
は、不調なようだったので、実行していない
sudo hdparm -tT /dev/nvme1n1
sudo hdparm -tT /dev/nvme2n1
sudo hdparm -tT /dev/nvme3n1
gpu負荷テストdockerをつかう
git clone https://github.com/wilicc/gpu-burn
cd gpu-burn
docker build -t gpu_burn .
docker run --rm --gpus all gpu_burn
その後以下の方法で計測をした。
make
./gpu_burn -i 2 60
./gpu_burn -i 6 60
grafanaとprometheus
そもそも参考にしたページ
docker-compose.yamlで、dcgm-exporterのバージョンを更新している
mkdir grafana
cd grafana
mkdir grafana-data
chmod 777 grafana-data
mkdir prom-data
chmod 777 prom-data
docker-compose.yaml
同じマシンにgrafanaがもともとあったので、3001でうけるように変更した。
prometheusも同様の理由で9091に変更した。
version: "3.7"
services:
#dcgm-exporter:
# image: nvcr.io/nvidia/k8s/dcgm-exporter:3.3.6-3.4.2-ubuntu22.04
# ports:
# - "9400:9400"
# cap_add:
# - SYS_ADMIN
# deploy:
# resources:
# reservations:
# devices:
# - driver: nvidia
# count: 8
# capabilities: [gpu]
#node-exporter:
# image: prom/node-exporter
# ports:
# - "9100:9100"
prometheus:
image: prom/prometheus
command:
- '--config.file=/prometheus-data/prometheus.yaml'
- '--storage.tsdb.path=/prometheus-data'
- '--storage.tsdb.retention.time=3y' ### to save data 3years
ports:
- "9091:9090"
volumes:
- ./prom-data:/prometheus-data
grafana:
image: grafana/grafana
ports:
#- "3000:3000"
- "3001:3000"
volumes:
- ./grafana-data:/var/lib/grafana
prom-data/prometheus.yaml
global:
scrape_interval: 10s
evaluation_interval: 10s
scrape_configs:
- job_name: 'dcgm'
static_configs:
- targets:
- xxx.xxx.xxx.xxx:9400
- xxx.xxx.xxx.xxx:9100
nvidia
Nvidia Fabric Managerがきいていることの確認
nvidia-smi -q -i 0 | grep -i -A 2 Fabric
$ nvidia-smi -q -i 0 | grep -i -A 2 Fabric
Fabric
State : Completed
Status : Success
nvidia-smi
の結果
$ nvidia-smi
Sun Jun 16 07:52:12 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 555.42.02 Driver Version: 555.42.02 CUDA Version: 12.5 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA H100 80GB HBM3 On | 00000000:18:00.0 Off | 0 |
| N/A 26C P0 68W / 700W | 1MiB / 81559MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 1 NVIDIA H100 80GB HBM3 On | 00000000:2A:00.0 Off | 0 |
| N/A 26C P0 70W / 700W | 1MiB / 81559MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 2 NVIDIA H100 80GB HBM3 On | 00000000:3A:00.0 Off | 0 |
| N/A 28C P0 68W / 700W | 1MiB / 81559MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 3 NVIDIA H100 80GB HBM3 On | 00000000:5D:00.0 Off | 0 |
| N/A 25C P0 70W / 700W | 1MiB / 81559MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 4 NVIDIA H100 80GB HBM3 On | 00000000:9A:00.0 Off | 0 |
| N/A 28C P0 69W / 700W | 1MiB / 81559MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 5 NVIDIA H100 80GB HBM3 On | 00000000:AB:00.0 Off | 0 |
| N/A 28C P0 69W / 700W | 1MiB / 81559MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 6 NVIDIA H100 80GB HBM3 On | 00000000:BA:00.0 Off | 0 |
| N/A 26C P0 69W / 700W | 1MiB / 81559MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 7 NVIDIA H100 80GB HBM3 On | 00000000:DB:00.0 Off | 0 |
| N/A 25C P0 70W / 700W | 1MiB / 81559MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
$
nvccの確認、あるかないか
入れてない可能性があるが、バージョン確認
$ nvcc -V
Command 'nvcc' not found, but can be installed with:
sudo apt install nvidia-cuda-toolkit
$
node-exporter はすでにはいっていた
node-exporter 設定変更箇所
node-exporter
systemctl配下だったので、statusなどで動作を確認した
sudo systemctl status node-exporter
sudo systemctl stop node-exporter
sudo systemctl status node-exporter
sudo systemctl start node-exporter
sudo systemctl status node-exporter
/etc/default/node-exporter
globalから受けられるようにした
xxx.xxx.xxx.xxx
ARGS="--web.listen-address=xxx.xxx.xxx.xxx:9100 --web.listen-address=xxx.xxx.xxx.xxx:9100 --collector.systemd --log.format=json --collector.textfile.directory=/opt/node_exporter/textfile"
以前のメモ
仮想マシン自体のCPU、メモリ、ネットワークなどを監視する
参考
Prometheus×Node Exporter×Grafanaでサーバー監視ダッシュボードを構築する
GrafanaのDashboardはこれが使用されている数がおおいのでまずはこれをいれてみる
Node Exporter Full | Grafana Labs
node-exporter自体
GitHub - prometheus/node_exporter: Exporter for machine metrics
Prometheus
singularity pull docker://prom/prometheus
singularity run -B ./prom-data:/prometheus-data prometheus_latest.sif --config.file=/prometheus-data/prometheus.yaml --storage.tsdb.retention.time=3y
Node exporter
singularity pull docker://prom/node-exporter
singularity run node-exporter_latest.sif
DCGM exporter
singularity pull docker://nvcr.io/nvidia/k8s/dcgm-exporter:3.3.6-3.4.2-ubuntu22.04
singularity run --nv dcgm-exporter_3.3.6-3.4.2-ubuntu22.04.sif
Grafana
singularity pull docker://grafana/grafana
singularity run -B ./grafana-data:/var/lib/grafana docker://grafana/grafana
dashboardのimport
12239
1860