본문으로 건너뛰기

비용 대시보드

GenD의 비용 대시보드 기능은 Trino 쿼리 실행에 따른 리소스 비용을 추적하고, 팀/사용자별 예산을 설정하여 비용을 통제합니다.

비용 대시보드

:::info 쿼리 비용은 자동으로 적재됩니다 (v1.2+) SQL 편집기나 POST /api/v1/query/execute 로 실행한 쿼리는 성공 시 자동으로 query_costs 에 기록됩니다. cpu_time_ms·wall_time_ms·scanned_bytes 는 Trino 코디네이터가 보고한 실측값입니다.

그 전에는 QueryCost 를 쓰는 코드가 POST /api/v1/cost/record 핸들러뿐이고 이를 호출하는 프로덕션 코드가 없어, 대시보드가 영구히 비어 있었습니다 (#3087, 2026-08-07 prod 실측). :::

cost_units 는 어떻게 계산되나

측정값 3종과 달리 cost_units유일한 파생값이라, 가격 모델을 코드에 박지 않고 설정으로 노출합니다.

cost_units = CPU초 × GEND_QUERY_COST_CPU_SECOND_WEIGHT
+ 스캔GB × GEND_QUERY_COST_SCANNED_GB_WEIGHT
설정기본값의미
GEND_QUERY_COST_RECORDING_ENABLEDtrue적재 자체를 끄려면 false
GEND_QUERY_COST_CPU_SECOND_WEIGHT1.0CPU 1초당 단위
GEND_QUERY_COST_SCANNED_GB_WEIGHT1.0스캔 1GB당 단위

기본값은 "1 단위 ≈ CPU 1초 또는 스캔 1GB" 라는 중립적 출발점입니다. 예산을 이 값에 연결하기 전에 실제 청구액과 대조해 보정하세요 — 기본 가중치는 실제 요금제를 반영한 값이 아닙니다.

:::note 「사용자」 열이 UUID 로 보이는 이유 비용 행의 사용자 식별자는 JWT sub(UUID) 입니다. 이 realm 의 사용자명 클레임은 이메일이라, 그대로 저장하면 비용 테이블에 PII 가 영구 적재됩니다 — trino_identity.bind_user 가 같은 이유로 그 값을 금지합니다. 읽기 쉬운 이름이 필요하면 표시 시점에 사용자 디렉터리로 해석하는 것이 맞고, 저장 값을 바꾸는 것은 아닙니다. :::

:::note 기록 실패는 쿼리를 실패시키지 않습니다 비용 적재는 쿼리가 이미 성공·커밋된 뒤에 수행되며, 실패해도 로그만 남기고 삼킵니다. 장부 기록 문제가 정상 완료된 쿼리를 에러로 바꾸지 않도록 한 설계입니다. :::

주요 기능

  • 쿼리 비용 기록: 실행된 쿼리의 스캔 바이트, CPU 시간, 예상 비용을 자동 보관합니다 (외부 적재가 필요하면 POST /api/v1/cost/record 도 그대로 사용 가능)
  • 비용 요약: 기간별, 사용자별, 카탈로그별 비용 집계를 조회합니다
  • 예산 관리: 팀 또는 사용자별 월간 예산을 설정하고 사용률을 모니터링합니다
  • 예산 초과 경고: 예산의 80%/100% 도달 시 알림을 발송합니다

비용 추적 항목

항목설명
scanned_bytes쿼리가 스캔한 데이터 크기
cpu_time_msCPU 소모 시간 (밀리초)
estimated_cost산정된 비용 (단가 x 스캔량)
catalog쿼리 대상 카탈로그
user쿼리 실행 사용자

사용 방법

  1. ⚙ 관리 콘솔 → 운영 & 모니터링 → 비용 대시보드 메뉴에서 비용 대시보드를 확인합니다
  2. 기간과 필터를 설정하여 비용 추이를 분석합니다
  3. 예산 설정 메뉴에서 팀별 월간 예산을 설정합니다
  4. 예산 사용률이 임계치를 초과하면 알림이 발송됩니다

API 엔드포인트

MethodPathDescription
POST/api/v1/cost/record쿼리 비용 기록
GET/api/v1/cost/queries쿼리 비용 목록 조회
GET/api/v1/cost/summary비용 요약 조회
GET/api/v1/cost/budget예산 상태 조회
POST/api/v1/cost/budget예산 설정/수정
AI Agent Chat으로 수행하기

이 페이지의 작업을 AI에게 자연어로 요청할 수 있습니다. 페이지 상단의 AI에게 요청 버튼을 클릭하거나, AI 에이전트 채팅에서 직접 질문하세요.

예시:

  • "현재 비용 현황 알려줘"
  • "이번 달 예산 사용량 보여줘"

자세한 내용은 AI Agent Chat 가이드를 참조하세요.

관련 문서