오프라인망을 위한 통합 운영 플랫폼

누가, 어디서, 얼마나 쓰는지
지금 바로 보세요.

분리된 JupyterHub의 사용자·서버와 Pod·자원 메트릭을 한 화면으로 연결합니다. 실시간 상태, 일·주·월 통계, 감사 가능한 서버 동작과 선택형 GPU·LLM 관측을 제공합니다.

Go + ReactKeycloak OIDCPostgreSQL단일 Docker 이미지
통합 사용 현황 · 지금12초 전 수집
87실행 중 사용자
103실행 서버
62%선택 GPU Util
업무망42명 · 서버 48Fresh
개발망31명 · 서버 39Fresh
분석망마지막 수집 8분 전Stale
Agentless 우선Hub REST API 중심
망 단절 내성마지막 데이터 유지
4개 환경변수나머지는 관리자 UI
기본 한국어가시성 높은 운영 UI

Operational clarity

숫자보다 먼저, 운영 맥락을 보여줍니다

수집 시각과 연결 상태를 숨기지 않고, 요약에서 원인까지 자연스럽게 내려갈 수 있게 설계했습니다.

실

실시간 이용 현황

최신 Hub snapshot의 실행 서버 사용자, 실행 서버, CPU·메모리·선택형 GPU 사용량을 망·부서·사용자 기준으로 즉시 파악합니다.

시

신선도와 Hub 상태

Fresh·Stale 자료와 healthy·degraded Hub 상태, 마지막 갱신 시각을 함께 보여 오래된 값을 현재값으로 오해하지 않게 합니다.

추

일·주·월 상세

전체 DAU·WAU·MAU와 사용자별 로그인·서버 실행시간·CPU·메모리 평균/최대를 확인합니다.

Usage intelligence

실시간 현황과 기간별 통계를 함께

SSE 실시간 snapshot과 일·주·월 집계를 구분해 보여주고, 사용자 상세에서 Hub·서버·이용 통계·Timeline을 확인합니다.

  • 전체 DAU·WAU·MAU와 서버 실행시간
  • 실시간 망·Hub·부서·프로젝트 필터
  • CPU core·메모리 byte와 선택형 GPU Util·VRAM
  • REST API와 읽기 전용 MCP 4개 도구
일주월사용자
전체 412명개발망 160명AI플랫폼팀 34명user01서버·Timeline

Integration diagnostics

저장하기 전에, 연동 가능성을 먼저 진단합니다

Keycloak·JupyterHub·Prometheus·Kubernetes·AI·Webhook 설정마다 현재 폼값으로 연동별 실제 HTTP 호출을 실행하고 단계 결과와 응답시간을 보여줍니다.

주소·TLSURL 형식과 시스템 CA 기반 TLS
실제 endpointDiscovery · info · query · version · models
단계 결과HTTP 상태 · 소요시간 · 실패 조치 안내

테스트 결과는 저장 전 확인할 수 있고, 저장·변경·실패 이력은 감사로그에 남습니다.

Control plane

모니터링과 서버 동작을 하나의 운영 흐름으로

실시간 조회, 운영 카탈로그, permission 기반 제어와 조건부 서버 동작 승인을 한 화면에 연결합니다.

허

멀티 Hub 통합

사용자·서버·버전을 동기화하고 시작·중지·재시작을 중앙에서 제어합니다.

자

Pod와 자원

Kubernetes Pod·NodeName과 Prometheus CPU·메모리, 선택형 GPU Util·VRAM을 연결합니다.

정

카탈로그와 승인

정책·Profile·Image·프로젝트를 CRUD로 관리하고 설정 시 서버 동작에 검토·승인을 적용합니다.

키

키 수명주기

연동 비밀은 암호화·마스킹하고 개인 API 키는 scope·만료·즉시 회전을 관리합니다.

감

감사와 Timeline

설정·서버 동작·승인·키 작업과 사용자 서버 이벤트의 결과를 추적합니다.

AI

스트리밍 AI proxy

최대 256K 토큰 설정을 지원하고 OpenAI-compatible upstream SSE를 브라우저로 전달합니다.

Product gallery

운영자가 매일 보는 화면

검증된 실제 제품 캡처에는 비식별 데모 데이터만 사용하며 개인정보와 내부 주소를 포함하지 않습니다.

망별 데이터 신선도와 Hub 상태
2. 신선도와 Hub 상태오래된 자료와 수집 실패 Hub를 구분하고 마지막 성공 snapshot을 유지합니다.
일주월 이용 통계와 드릴다운
3. 이용 추세와 드릴다운집계 숫자에서 실제 세션 근거까지 자연스럽게 내려갑니다.
통합 KPI 대시보드
통합 대시보드운영 우선순위를 한눈에 파악합니다.
GPU 효율 분석 화면
GPU 효율관리자가 켠 환경에서만 수집·메뉴·KPI가 활성화됩니다.
JupyterHub 등록 및 연결 진단 화면
Hub 관리와 즉시 진단저장 전에 실제 연결과 최소 권한을 단계별로 확인합니다.
JupyterHub 사용자 통합 목록과 필터 화면
통합 사용자 관리망별 사용자를 검색·필터링하고 서버 상태와 최근 활동을 비교합니다.
사용자 Hub 서버 프로젝트 통합 검색 결과 화면
권한 기반 통합 검색권한 범위 안의 사용자·Hub·Notebook 서버·프로젝트 결과를 한 번에 찾습니다.
사용자 360도 상세 화면
사용자 상세망을 넘나드는 사용 현황과 관리자 조치를 하나로 연결합니다.
Notebook 서버 통합 제어 화면
Notebook 서버 제어위험 동작은 대상과 사유를 확인하고 결과를 감사로 남깁니다.
서비스 관리자 설정 화면
관리자 설정네 필수 환경변수 외 운영 설정을 permission으로 보호된 관리자 페이지에서 관리합니다.
Keycloak SSO 로그인과 서비스 버전 화면
로그인과 버전로그인 전에도 현재 서비스 버전을 확인할 수 있습니다.
개인화 프로필 컨텍스트 메뉴
프로필과 개인화서비스 관리와 분리된 개인 설정에서 키 회전과 버전을 확인합니다.
스트리밍 AI proxy 화면
스트리밍 AI입력 메시지를 설정된 Provider로 전달하고 upstream SSE 응답을 실시간 표시합니다.

Optional by design

필요한 관측만 켜고, 나머지는 조용히 둡니다

GPU와 LLM Chat Completions 사용량 모니터링은 기본 OFF입니다. 꺼져 있을 때 관련 수집·쿼리·메뉴·KPI를 만들지 않으며 기존 데이터는 보존합니다.

선택형 모니터링 설정
기본 OFF

GPU 모니터링

Prometheus와 NVIDIA DCGM Exporter가 준비된 경우에만 활성화합니다.

기본 OFF

LLM 사용량

프롬프트·응답 본문은 수집하지 않고 token metric이 없으면 calls·bytes만 집계합니다.

Architecture

망 분리를 유지하는 Agentless 중앙 관리

Hub별 장애를 격리하고 중앙 DB의 최근 성공 데이터를 기반으로 UI와 API가 안정적으로 응답합니다.

JupyterHub · K8sREST API · Prometheus · DCGM
→
jupiqGo API · Collector · Policy · MCP
→
PostgreSQL상태 · 집계 · 설정 · 감사로그

FAQ

자주 묻는 질문

인터넷이 없는 망에서도 운영할 수 있나요?

네. 릴리스의 jupiq-v1.8.7.tar.gz를 반입해 docker load로 설치합니다. 런타임에는 접근 가능한 PostgreSQL과 네 환경변수만 필요하며 외부 CDN이나 SaaS에 의존하지 않습니다.

망이 끊기면 중앙 화면도 멈추나요?

아닙니다. 해당 Hub를 Degraded로 표시하고 마지막 성공 snapshot을 유지합니다. 다음 고정 수집 주기에 다시 시도하며 다른 Hub 수집은 별도 goroutine에서 계속됩니다.

Notebook 코드나 프롬프트를 수집하나요?

Hub·자원 수집기는 코드·셀 내용·출력·LLM 프롬프트·응답 본문을 수집하지 않습니다. 다만 AI 채팅에 직접 입력한 메시지는 응답 생성을 위해 설정된 Provider로 전달됩니다.

GPU 모니터링 없이도 쓸 수 있나요?

네. GPU 모니터링은 초기 기본 OFF이며 JupyterHub 사용자·서버·카탈로그·감사 기능과 독립적입니다. ON 전에는 Prometheus와 DCGM 지표를 확인하세요.

Keycloak이 장애 나면 어떻게 하나요?

OIDC 상태를 진단하고 감사 가능한 Bootstrap 관리자 계정으로 긴급 접근할 수 있습니다. 운영에서는 강한 초기 비밀번호, 제한된 접근 경로, 즉시 비밀번호 변경 정책을 적용하세요.

Get started

첫 번째 Hub를 연결할 준비가 되셨나요?

단일 이미지를 반입하고 관리자 설정에서 Keycloak을, Hub 관리에서 JupyterHub 연결을 각각 진단한 뒤 저장하세요.