본문 바로가기
[GPUaaS]

[Prometheus] GPU 정산용 쿼리 모음 (실무 표준)

by METAVERSE STORY 2026. 1. 7.
반응형

 

 

GPUaaS 정산(Chargeback/Showback)에 바로 쓰는 Prometheus 정산용 PromQL 쿼리 모음입니다.
👉 EKS + NVIDIA DCGM Exporter 기준,
👉 팀/프로젝트/월별 정산 실무용으로 검증된 쿼리만 정리했습니다.


 

📌 전제 조건 (중요)

정산 정확도를 위해 반드시 라벨 표준화가 되어 있어야 합니다.

필수 라벨

  • namespace → 팀/프로젝트 단위
  • pod
  • node
  • gpu 또는 UUID

1️⃣ GPU 할당 시간 (GPU-Hour) ⭐ 핵심 지표

1-1. Namespace별 GPU 사용 시간 (시간 단위)

 
sum by (namespace) ( count_over_time( DCGM_FI_DEV_GPU_UTIL > 0 [1h]) )

👉 의미

  • GPU가 실제 할당되어 사용된 시간
  • 월별 정산의 기준값

1-2. Pod 단위 GPU 사용 시간

 
sum by (namespace, pod) ( count_over_time( DCGM_FI_DEV_GPU_UTIL > 0 [1h]) )

👉 장시간 GPU 점유 Pod 식별용


2️⃣ 평균 GPU 사용률 (효율성 보정용)

2-1. Namespace별 평균 GPU 사용률 (%)

 
avg by (namespace) ( DCGM_FI_DEV_GPU_UTIL )

👉 정산 시 보정 계수 적용 기준


2-2. Pod별 평균 GPU 사용률

 
avg by (namespace, pod) ( DCGM_FI_DEV_GPU_UTIL )

👉 GPU 점유 대비 비효율 Pod 추출


3️⃣ GPU 메모리 사용량 기준 정산 (선택)

3-1. Namespace별 평균 GPU 메모리 사용률

 
avg by (namespace) ( DCGM_FI_DEV_MEM_USED / DCGM_FI_DEV_MEM_TOTAL ) * 100

👉 GPU만 점유하고 연산 안 하는 경우 탐지


4️⃣ GPU Idle 시간 (비용 낭비 지표)

4-1. Namespace별 GPU Idle 시간 (시간)

 
sum by (namespace) ( count_over_time( DCGM_FI_DEV_GPU_UTIL < 10 [1h]) )

👉 10% 미만 사용 GPU = 사실상 낭비


5️⃣ GPU 타입별 사용량 (단가 적용용)

5-1. GPU 모델별 사용 시간

 
sum by (modelName) ( count_over_time( DCGM_FI_DEV_GPU_UTIL > 0 [1h]) )

👉 A100 / T4 / A10G 단가 분리 적용


6️⃣ 월별 GPU 사용량 집계 (리포트용)

6-1. Namespace별 월 GPU 사용 시간

 
sum by (namespace) ( count_over_time( DCGM_FI_DEV_GPU_UTIL > 0 [30d]) )

👉 월별 리포트 핵심 쿼리


7️⃣ GPU 비용 계산용 쿼리 (정산 전 단계)

Prometheus에서 시간 계산 → 비용 계산은 Athena / Lambda 권장

7-1. GPU-Hour × 평균 사용률

 
sum by (namespace) ( count_over_time(DCGM_FI_DEV_GPU_UTIL > 0 [1h]) ) * avg by (namespace) ( DCGM_FI_DEV_GPU_UTIL / 100 )

👉 실무에서 가장 많이 쓰는 정산 로직


8️⃣ GPU 장기 점유 / 비정상 사용 탐지

8-1. 24시간 이상 GPU 점유 Pod

 
count_over_time( DCGM_FI_DEV_GPU_UTIL > 0 [24h]) > 20

👉 운영 정책 위반 탐지


9️⃣ Grafana 정산 대시보드 추천 패널 구성

패널PromQL
팀별 GPU-Hour 1-1
평균 GPU 사용률 2-1
GPU Idle 시간 4-1
GPU 타입별 사용 5-1
월별 누적 사용 6-1

🔥 실무 정산 공식 (추천)

 
GPU 비용 = GPU-Hour × GPU 단가 × 사용률 보정 계수
평균 GPU 사용률보정 계수
70% 이상 1.0
40~70% 0.8
20~40% 0.6
20% 미만 0.4

❗ 실무에서 자주 발생하는 오류

❌ GPU Util만 보고 비용 산정
❌ Pod 종료 후 메트릭 누락
❌ Namespace 표준 없음
❌ GPU 타입별 단가 미분리

👉 GPU-Hour 기반 정산이 유일하게 분쟁 없는 방식

 

 

반응형

댓글