※ 이전 글: On-Prem AI 서비스-(1) dcgm-exporter 구성
개인 장비에서 다양한 AI 모델을 시험하다 보니 GPU 자원을 얼마나 사용하는지 소비 전력이나 온도 상승은 어느 정도인지 GPU 모니터링 필요성이 느껴졌습니다. 이에 간단히 구성 가능한 방식으로 NVIDIA 공식 + 오픈소스 기반으로 GPU 사용량 모니터링을 하는 시스템을 구성해 보았습니다. nvidia의 DCGM(DataCenter GPU Manager), Prometheus (GPU Metric 수집), Grafana (Dashboard) 구성입니다. ChatGPT 이용하여 시험/설정한 내용을 기술하였습니다.
AD

모니터링 서버 설정
작업 폴더 생성
$ sudo mkdir -p /opt/gpu-monitoring/prometheus
$ sudo mkdir -p /opt/gpu-monitoring/grafana
$ cd /opt/gpu-monitoringprometheus/prometheus.yml 생성
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
# Prometheus 자기 자신
- job_name: 'prometheus'
static_configs:
- targets: ['prometheus:9090']
# GPU 서버의 DCGM Exporter
- job_name: 'gpu-dcgm'
metrics_path: /metrics
static_configs:
- targets:
- '<GPU_SERVER_IP>:9400' # <-- 여기 GPU 서버 IP로 변경
prometheus data와 grafana data를 위한 docker volume 생성
$ docker volume create prometheus_data
$ docker volume create grafana_datadocker-compose.yml (Prometheus + Grafana) 작성
prometheus:
image: prom/prometheus:latest
container_name: prometheus
restart: unless-stopped
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
- prometheus_data:/prometheus
command:
- "--config.file=/etc/prometheus/prometheus.yml"
- "--storage.tsdb.path=/prometheus"
- "--web.enable-lifecycle"
ports:
- "9090:9090"
networks:
- monitoring
grafana:
image: grafana/grafana:latest
container_name: grafana
restart: unless-stopped
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=admin
volumes:
- grafana_data:/var/lib/grafana
ports:
- "3000:3000"
depends_on:
- prometheus
networks:
- monitoring
networks:
monitoring:
driver: bridge
volumes:
prometheus_data:
grafana_data:Prometheus에서 GPU metric 데이터가 보이는지 확인하기 위해 browser에서 localhost:9090 접속해 봅니다. DCGM_FI_DEV_GPU_UTIL 을 검색했을 때, GPU 장비 목록이 보이면 성공입니다.

Grafana GPU 대시보드 구성
Prometheus data source 추가
- Data sources > Add data source > Prometheus 선택
- URL 에 http://prometheus:9090 입력
- Safe & test
NVIDIA DCGM Exporter용 Grafana dashboard import
- 좌측 Dashboards → + Import
- “Import via grafana.com”에 ID 입력 (예:
12239또는15117) - Prometheus 데이터소스 선택
- Import

AD
















