실시간 현황과 데이터 신선도
첫 화면은 “누가, 어느 망에서, 얼마나 사용 중인지”에 답합니다. 망·Hub·부서·프로젝트 필터가 현재 KPI와 실행 서버 사용자 표에 적용되고, 사용자 행과 Top 사용자에서 360도 상세로 이동할 수 있습니다. 사용자 수는 브라우저 접속 수가 아니라 최신 JupyterHub snapshot에서 실행 서버가 있는 사용자 수입니다.
현재 사용 현황
- 실행 서버 사용자와 실행 Notebook Server
- CPU core와 메모리 byte, 실행시간
- Hub·부서·프로젝트별 실시간 필터
- 선택형 GPU Util·VRAM과 Idle·장기 세션
신선도 상태
- Fresh: 최신 수집 자료
- Stale: 기준 시각이 오래된 자료
- 마지막 갱신 시각과 SSE 연결 상태
- 수집 실패 Hub의 Degraded 상태
Stale 데이터는 현재값처럼 표시하지 않습니다. 중앙 서비스는 마지막 성공 데이터를 보존하되 상태 배지와 기준 시각을 모든 관련 KPI·표·차트에 함께 노출합니다.
일·주·월 이용 통계와 드릴다운
API가 제공하는 기간별 집계와 보존된 메트릭으로 전체 이용 추세와 사용자별 흐름을 확인합니다. 대시보드의 전체 DAU·WAU·MAU는 실시간 필터와 구분해 표시합니다.
| 관점 | 대표 지표 | 확인 위치 |
|---|---|---|
| 실시간 | 실행 서버 사용자, 실행 서버, CPU·메모리 | 대시보드 사용자 표 |
| 일·주·월 | 로그인, 서버 시작 수·실행시간, CPU·메모리 평균/최대 | 사용자 상세 이용 통계 |
| 선택 기능 | GPU 평균/최대, LLM calls·성공률·P95·token·비용 | GPU 및 AI 운영 분석 |
사용자 상세에서는 Hub 계정, 현재·과거 서버, 기간 통계, 선택형 LLM 사용량과 감사·서버·활동 Timeline을 확인합니다. Notebook 소스 코드와 셀 내용은 수집하지 않습니다.
멀티 Hub와 서버 통합 제어
Hub
URL·버전·상태·마지막 통신·수집 주기·활성 여부를 관리하고 수동 동기화를 실행합니다.
사용자
중앙 계정과 Hub별 identity, 서버·CPU·메모리·선택형 GPU를 통합 조회합니다.
서버
Start·Stop·Restart를 실행하고 서버의 Pod·Node·Image 메타데이터를 확인합니다.
관리자가 서버 동작 승인 Workflow를 켜면 요청→선택적 검토→승인/반려→실행 흐름을 적용합니다. Workflow가 꺼져 있으면 권한이 있는 서버 동작은 바로 실행됩니다.
저장 전 즉시 연동 진단
Keycloak, Prometheus, Kubernetes, AI Provider, Webhook은 관리자 설정에서, JupyterHub는 Hub 등록·수정 Drawer에서 현재 폼값으로 “연결 테스트”를 실행합니다.
- 연결 정보 입력
비밀값은 마스킹하고 저장 뒤 브라우저에 다시 노출하지 않습니다. - 연동별 실제 호출
OIDC discovery, Hub info·사용자 조회, Prometheus query, Kubernetes version·Pod 조회, AI models, Webhook 시험 POST를 실행합니다. - 결과 확인 후 저장
시스템 신뢰 저장소 기반 TLS 검증, 전체 응답시간, 단계별 결과와 해결 방향을 확인합니다. - 실제 흐름 별도 확인
OIDC 로그인과 AI SSE 응답처럼 연결 테스트 밖의 동작은 저장 후 별도로 검증합니다.
선택형 GPU·LLM 관측
두 기능의 초기값은 OFF입니다. OFF이면 관련 collector, Prometheus query, 메뉴, KPI가 비활성화되고 이미 쌓인 데이터는 보존됩니다. 실패하더라도 Hub 관리와 로그인 등 핵심 기능에 영향을 주지 않습니다.
GPU
Prometheus와 NVIDIA DCGM Exporter가 메트릭을 제공할 때 관리자가 켭니다. 현재 버전은 Pod별 할당 GPU 수·GPU Util·VRAM 사용량과 최신성을 사용자·Hub 문맥으로 표시합니다.
LLM Chat Completions
Prometheus가 pod·model·상태와 calls, latency, 선택적인 input/output token counter를 제공해야 합니다. 관리자 정규식을 통과하고 현재 서버 인벤토리의 pod_name과 정확히 일치하는 샘플만 해당 서버 사용자에게 연결합니다. 알 수 없거나 망 간 중복된 Pod는 추측하지 않고 제외합니다. 토큰 메트릭이 없으면 “수집 불가”로 표시하며 프롬프트와 응답 본문은 수집하지 않습니다.
운영 카탈로그, 승인, 감사
- 정책·Profile·Image·프로젝트 CRUD 카탈로그
- Incident·알림·비용 항목의 조회·등록·수정·삭제
- 서버 시작·중지·재시작의 선택적 검토·승인·반려
- 설정 변경, 서버 동작, 키 작업과 승인 결과의 감사로그
- OpenAI-compatible AI API로 메시지를 전달하는 기본 SSE 스트리밍 proxy
- REST API와 대시보드·Hub·서버·이용량용 읽기 전용 MCP 4개 도구
현재 카탈로그는 자동 자원 집행 엔진이 아닙니다. Quota enforcement, Idle 자동 종료, Configuration Drift, GPU 예약·Fair Share, 비용·용량 예측과 AI 변경 Preview/실행은 향후 확장 범위입니다.