Aspectow AppMon은 노드 그룹, 서버 노드, 애플리케이션 인스턴스의 가동 상태를 한눈에 파악하고 직관적으로 관찰할 수 있는 강력한 실시간 대시보드를 제공합니다. 단순한 지표 나열을 넘어, 시스템 내부에서 발생하는 활동을 시각적이고 역동적으로 표현하는 AppMon 대시보드의 주요 구성 요소와 활용 방법을 소개합니다.

1. 3계층 지능형 탭 내비게이션 (Group - Node - App)
AppMon은 대규모 분산 환경과 마이크로서비스 아키텍처를 원활하게 관제할 수 있도록 그룹, 노드, 애플리케이션의 3단계 계층형 탭 내비게이션 구조를 제공합니다.
- 노드 그룹 탭 (Group Tabs):
- 서버 클러스터나 논리적 서비스 단위(예: Web 그룹, API 그룹 등)로 시스템을 분리하여 관리합니다.
- 각 그룹 탭 우측에는 실시간 연결 상태를 나타내는 번개 모양 인디케이터가 배치되어 있어, 정상 연결(초록), 일시 단락(주황), 통신 장애(빨강) 등의 상태를 즉시 감지할 수 있습니다.
- 그룹 탭 선택 시 해당 그룹에 속한 모든 노드의 데이터를 취합(Aggregation)하여 전체 클러스터의 상태를 한눈에 파악하는 그룹 뷰(Group View)로 자동 진입합니다.
- 노드 탭 (Node Tabs):
- 특정 그룹 내에 소속된 물리적/논리적 서버 노드(
Node-1,Node-2등)를 전환합니다. - 각 노드 탭에는 해당 인스턴스의 리소스 상태 요약과 하트비트 생존 상태가 실시간으로 반영됩니다.
- 그룹 전체를 관제하는 그룹 뷰(Group View)와 개별 서버 인스턴스를 심층 감시하는 단일 노드 뷰(Node View) 사이를 탭 클릭 한 번으로 자유롭게 오갈 수 있습니다.
- 특정 그룹 내에 소속된 물리적/논리적 서버 노드(
- 애플리케이션 탭 (App Tabs):
- 선택된 노드 또는 그룹 뷰 내에서 구동되는 개별 애플리케이션 컨텍스트(
App 1,App 2등)를 전환합니다. - 탭 전환 시에도 백그라운드 데이터 수신과 클라이언트 캐싱이 유지되는 심리스(Seamless) 동기화 아키텍처가 적용되어 있어, 탭을 이동해도 이전 관제 화면의 데이터가 유실되지 않고 즉시 이어서 표시됩니다.
- 선택된 노드 또는 그룹 뷰 내에서 구동되는 개별 애플리케이션 컨텍스트(
2. 클러스터 통합 관제를 위한 그룹 뷰 (Group View)
그룹 뷰는 다중 서버 노드로 구성된 분산 클러스터 환경에서 개별 노드를 일일이 이동하며 확인할 필요 없이, 그룹 전체의 트래픽, 세션, 차트, 로그를 하나의 통합된 화면에서 실시간으로 조망할 수 있는 강력한 엔터프라이즈 관제 모드입니다.
단일 노드 뷰(Node View)와의 차이점
- 단일 노드 뷰 (Node View): 특정 물리/가상 서버 1대의 CPU, 힙 메모리, 스레드 풀, 로컬 세션, 해당 노드에 유입된 요청 트래픽을 독립적으로 정밀 관제합니다.
- 그룹 뷰 (Group View): 그룹 내에 가동 중인 모든 활성 노드의 실시간 메트릭 스트림을 클라이언트 엔진이 자동으로 취합(Aggregation)하여, 시스템 전체의 처리량과 사용자 분포를 총체적으로 파악합니다.
그룹 뷰에서의 주요 컴포넌트 동작 방식
- 통합 트래픽 캔버스 (Aggregated Traffic Flow):
- 그룹에 속한 모든 노드에서 처리되는 요청 총알들이 단일 트래픽 트랙으로 유입되어 실시간으로 비행합니다.
- 중앙의 블랙박스(처리 영역)는 그룹 전체 노드에서 동시에 처리 중인 요청들을 포괄하여 체류시키며, 클러스터 전체의 총체적인 처리 병목 여부를 한눈에 시각화합니다.
Active Activity(동시 활성 요청),Current Period Count(5분 누적 요청),Cumulative Total(총 요청) 카운터가 그룹 전체 노드의 합산 수치로 실시간 자동 집계됩니다.
- 중복 제거된 통합 세션 통계 & 노드 필터링 (Unified Session & Node Filter):
- 글로벌 활성 사용자 집계: 여러 노드로 요청이 분산되더라도 사용자 고유 키(User Key)를 기준으로 클라이언트에서 중복을 자동 제거하여, 클러스터 전체의 실제 고유 활성 사용자 수(
Active Users)를 정확하게 산출합니다. - 세션 노드 필터 (Session Node Filter): 그룹 뷰의 세션 목록 상단에는
All,Node-1,Node-2등의 노드 선택 버튼이 자동으로 노출됩니다.All을 선택하면 클러스터 전체 세션이 표시되며, 특정 노드 버튼을 누르면 해당 물리 노드가 세션 스토리지에 유지하고 있는 세션만 즉각 격리하여 관제할 수 있습니다.
- 글로벌 활성 사용자 집계: 여러 노드로 요청이 분산되더라도 사용자 고유 키(User Key)를 기준으로 클라이언트에서 중복을 자동 제거하여, 클러스터 전체의 실제 고유 활성 사용자 수(
- 그룹 스코프 시계열 분석 차트 (Cluster-wide Chart):
- 차트 엔진은 개별 노드의 수치가 아닌, 그룹 전체의 활동량(Activities)과 활성 세션(Sessions) 합산 데이터를 시계열로 렌더링합니다.
- 5분 라이브 스트리밍뿐만 아니라 1D, 1W, 1M, 1Y 등의 장기 이력 조회 시에도 서버의 그룹 롤업 데이터(
scope: group)와 연동되어 클러스터 차원의 트래픽 패턴과 피크 타임을 완벽하게 분석합니다.
- 인터리빙 로그 콘솔 및 노드 식별 뱃지 (Interleaved Logs with Node Badges):
- 그룹에 속한 모든 노드의 로그 스트림이 단일 콘솔 창으로 통합되어 실시간 출력됩니다.
- 각 로그 라인 앞에는
[Node-1],[Node-2]와 같은 노드 식별 뱃지가 부착되어, 분산 환경에서 특정 장애나 예외가 어느 인스턴스에서 발생했는지 즉각적으로 추적할 수 있습니다.
- 동적 노드 가입 및 이탈 실시간 감지 (Dynamic Membership & Heartbeat):
- 오토스케일링(Auto-scaling)이나 서버 재시작으로 인해 새로운 노드가 그룹에 참여(
Node Joined)하거나 비정상 종료(Node Left)되는 경우, 그룹 뷰는 이를 즉시 감지합니다. - 이탈한 노드의 세션과 트래픽은 그룹 집계에서 안전하게 정리되고 노드 필터 버튼이 실시간 갱신되어, 운영자의 수동 조작 없이도 클러스터 형상의 변화를 실시간으로 반영합니다.
- 오토스케일링(Auto-scaling)이나 서버 재시작으로 인해 새로운 노드가 그룹에 참여(
3. 서버 리소스 및 성능 모니터링 (Metrics Bar)
시스템 자원 사용량과 처리 능력을 실시간으로 감시하는 고정밀 메트릭 관제 영역입니다.
- 실시간 리소스 지표:
- CPU Usage: 프로세스(JVM)가 점유하는 CPU 사용률과 호스트 운영체제 전체 CPU 사용률, 가용 프로세서 코어 수, 시스템 부하(System Load Average)를 실시간으로 계측합니다 (
CpuUsageReader). - Heap Status: JVM 힙 메모리의 현재 사용량과 최대 할당 한도를 추적하여 가비지 컬렉션(GC) 거동과 잠재적 메모리 누수 징후를 감지합니다 (
HeapMemoryUsageReader). - Thread Pool Status: Undertow 또는 Netty 기반 서버의 워커 스레드 풀 자원을 모니터링합니다 (
UndertowThreadPoolMetricsReader,NettyThreadPoolMetricsReader). 실행 중인 활성 스레드(Java 가상 스레드 환경 포함)와 전체 스레드 풀 용량, 작업 대기 큐(Queued Tasks)의 크기를 실시간으로 계측하여 동시 처리 부하를 관찰합니다. - 단위(Unit) 분리 표기: 메트릭 수치와 측정 단위(
%,MB,ms등)를 시각적으로 분리하고 단위를 작고 은은하게 표시하여 수치 자체의 판독성과 가독성을 극대화합니다.
- CPU Usage: 프로세스(JVM)가 점유하는 CPU 사용률과 호스트 운영체제 전체 CPU 사용률, 가용 프로세서 코어 수, 시스템 부하(System Load Average)를 실시간으로 계측합니다 (
- Activity Status (실시간 활동 수치): 서버 애플리케이션별로 Activity(요청) 처리 현황을 정량적 수치로 제공합니다.
- Active Activity: 현재 서버 내부에서 동시에 처리 중인 실시간 활성 요청 수입니다.
- Current Period Count: 현재 5분 샘플링 주기 동안 유입되어 처리된 누적 요청 수입니다.
- Cumulative Total: 시스템 기동 이후 현재까지 누적 기록된 총 요청 처리 수입니다.
- 5분 주기 집계 관리:
- 수치 하단에 배치된 타이머 바(예:
280/300)는 5분(300초) 단위 데이터 샘플링의 진행 경과를 나타냅니다. - 진행률이 300초에 도달하면 해당 주기의 집계 데이터를 분석 데이터베이스에 영구 보관하고 시계열 분석 차트에 자동 반영한 후, 다음 샘플링 주기를 시작합니다.
- 수치 하단에 배치된 타이머 바(예:
- 통계 요약 및 영구 기록: 주기적으로 저장된 데이터는 서버 저장소에 안전하게 기록되어 단기적인 부하 모니터링뿐만 아니라 과거 이력과의 시계열 비교 분석을 가능하게 합니다.
4. 메트릭 변화 추이 시각화 (인라인 스파크라인 및 상세 팝오버 차트)

대시보드 상단 및 각 애플리케이션 카드에 배치된 메트릭 바(Metrics Bar)는 단순한 현재 수치 표시에 그치지 않고, 대시보드가 열려 있는 동안 수신된 최근 60개 시점의 실시간 변화 추이를 직관적으로 파악할 수 있는 동적 시각화 기능을 제공합니다.
- 인라인 스파크라인 (Inline Sparkline):
- 실시간 미니 트렌드: 각 지표 수치 우측에 콤팩트한 트렌드 라인과 영역, 최신 지점 도트를 표시하여 시스템 리소스의 실시간 상승 및 하강세를 한눈에 식별할 수 있습니다.
- 임계치 경고 시각화: CPU 사용률이 85% 이상으로 치솟는 등 고부하 상태가 감지되면 스파크라인의 색상이 기본 파란색에서 붉은색 경고 색상으로 자동 전환되어 위험 징후를 즉각적으로 알립니다.
- 클릭 상세 팝오버 미니 차트 (Interactive Detail Popover):
- 원클릭 상세 분석: 관심 있는 메트릭 항목을 클릭하면 해당 위치에 플로팅 팝오버 카드가 나타나 정밀한 변화 추이를 보여줍니다 (외부 영역 클릭, 닫기 버튼,
ESC키 입력 시 자동 종료). - 정밀 시계열 차트 & 눈금선: 최근 60개 시점의 데이터 흐름을 정밀한 그리드 눈금선 및 수치 라벨과 함께 렌더링하여 정확한 값의 등락 폭을 시각적으로 파악할 수 있습니다.
- 복합 지표(Primary / Secondary) 듀얼 시각화:
- CPU Usage: 프로세스 CPU 사용률(실선)과 시스템 전체 CPU 사용률(점선)을 동시에 표시.
- Heap Memory: 현재 사용 중인 메모리(실선)와 최대 할당 한도(점선)를 함께 표현.
- Thread Pool: 실행 중인 활성 스레드 수(실선)와 전체 스레드 풀 크기(점선)를 비교 표시.
- 실시간 통계 요약 (Min / Max / Avg): 대시보드가 열려 있는 동안 수집된 데이터의 최솟값(Min), 최댓값(Max), 평균값(Avg)을 실시간으로 계산하여 요약 카드로 제공합니다.
- 상세 스펙 Breakdown: CPU 코어 수(Cores) 및 시스템 부하(System Load), 힙 메모리 정밀 KB 수치, 스레드 풀 큐(Queued) 대기 작업 수 및 워커(Worker) 명칭 등 전달된 심층 속성을 하단 칩 태그 형태로 제공합니다.
- 원클릭 상세 분석: 관심 있는 메트릭 항목을 클릭하면 해당 위치에 플로팅 팝오버 카드가 나타나 정밀한 변화 추이를 보여줍니다 (외부 영역 클릭, 닫기 버튼,
5. Canvas 기반 트래픽 시각화 (Traffic Flow)
모든 사용자 요청(Request/Activity)은 화면 왼쪽에서 오른쪽으로 날아가는 ‘총알(Bullet)’ 애니메이션으로 실시간 시각화됩니다. 초당 수천 건의 트래픽이 집중되는 환경에서도 프레임 저하 없이 매끄럽게 동작하도록 고성능 델타 타임(Delta-time) 기반 HTML5 Canvas 렌더링 엔진으로 설계되었습니다.
- 동역학적 시각화 및 블랙박스 체류 로직:
- 블랙박스(처리 영역) 진입: 클라이언트에서 발생한 모든 요청 총알은 트랙 왼쪽에서 출발하여 중앙의 블랙박스(처리 영역)로 빨려 들어갑니다.
- 처리 시간 비례 체류: 총알은 서버에서 해당 요청을 실제로 처리하는 데 소요된 처리 시간(Elapsed Time)만큼 블랙박스 내부에 머뭅니다. 요청 처리가 지연될수록 블랙박스 안에 머무는 총알이 누적되며, 처리 중인 요청이 많아질수록 블랙박스 주변의 오라(Aura)와 회전 에너지가 역동적으로 고조되어 시스템의 동시 처리 부하를 직관적으로 체감할 수 있습니다.
- 사출(Ejection) 및 도착: 서버 내부에서 처리가 완료된 요청은 블랙박스에서 사출(Ejection)되어 우측 종착 벽면으로 비행하여 최종 도달합니다.
- 핫스팟(Hotspot) 및 하얀 핵(Hot Core): 활동 지수(Activity Intensity)가 높은 헤비 유저나 과도한 반복 요청은 블랙박스 사출 시 총알 중심부에 밝은 하얀 핵(Hot Core)이 형성되어 일반 트래픽과 시각적으로 명확히 구분됩니다.
- 상태별 색상 코드:
- 초록색 (Normal): 정상적인 응답 시간 내에 성공적으로 처리된 요청.
- 노란색 (Warning): 임계 응답 시간(500ms 이상)을 초과하여 주의가 필요한 지연 요청.
- 빨간색 (Error): HTTP 5xx 오류나 애플리케이션 예외가 발생한 실패 요청.
- 백그라운드 리소스 절약:
- 브라우저 탭이 비활성화되거나 최소화되었을 때는 Page Visibility API와 연동하여 캔버스 애니메이션 연산을 즉시 중단함으로써 불필요한 클라이언트 CPU 및 배터리 소모를 방지합니다.
6. 세션 상태 및 사용자 활동 관리 (Session Management)
서버에 연결된 사용자 세션의 수명 주기와 활동 상태를 실시간으로 추적하는 전문 관제 패널입니다. 공간 효율을 극대화하기 위해 좌측 통계 패널과 우측 실시간 세션 카드 목록으로 균형 있게 분할되어 있습니다.
- 핵심 지표 하이라이트 (KPI Cards):
- Active Users: 현재 시스템에 접속 중인 고유 사용자(Unique Active Users)의 실시간 수를 대형 볼드 카드로 강조합니다.
- Active Sessions: 현재 살아있는 전체 활성 세션 수를 나란히 배치하여 동시 접속 규모를 한눈에 파악합니다.
- 피크 대비 활성 비율 게이지 바 (Peak Ratio Progress Bar):
- 시스템 부팅 이후 기록된 최고 활성 세션 수(Peak) 대비 현재 활성 세션의 점유율을 실시간 백분율(
%)과 부드러운 애니메이션 바(ProgressBar)로 표현합니다. - 현재 서버가 역대 최고 부하 대비 어느 정도 수준으로 가동 중인지 직관적인 게이지 형태로 확인할 수 있습니다.
- 시스템 부팅 이후 기록된 최고 활성 세션 수(Peak) 대비 현재 활성 세션의 점유율을 실시간 백분율(
- 반응형 서브 메트릭 그리드 (Sub-metrics Grid):
- 유연한 반응형 레이아웃: 화면 너비와 뷰포트에 따라 1행 4열(1x4) 또는 2행 2열(2x2) 그리드로 자동 재배치되어 다양한 해상도에서 공간을 최적화합니다.
- Peak: 시스템 기동 이후 동시에 활성화되었던 최대 세션 수(Highest Number of Actives).
- Created: 시스템 부팅 이후 현재까지 새롭게 생성된 누적 세션 수.
- Expired: 유효 시간이 만료되어 안전하게 파기된 누적 세션 수.
- Rejected: 최대 세션 허용 한도 초과 등으로 인해 연결이 거부된 세션 수.
- 거부 세션 이상 징후 자동 경고: 거부된 세션 수(
Rejected)가 1 이상 발생하면 해당 카드가 즉시 붉은색 경고 뱃지 스타일(.has-rejected)로 자동 전환되어 인가 거부나 세션 고갈 장애를 즉시 알려줍니다.
- 인터랙티브 가동 시간(Uptime) 및 시작 일시 토글:
- 세션 패널 하단에는 시계 아이콘과 함께 시스템 연속 가동 시간(Uptime)이 출력됩니다 (예:
up 5 days, 3 hours,up 25 mins). - 원클릭 토글(Toggle): Uptime 영역을 클릭하면 실제 시스템 부팅 시작 일시(예:
Since October 30, 2026 11:11 AM)로 표시 형식이 즉시 전환됩니다. - 지능형 툴팁 & 자동 갱신: 마우스를 올리면 반대쪽 정보가 툴팁으로 자동 안내되며, 30초 주기의 경량 백그라운드 타이머를 통해 화면을 새로고침하지 않아도 가동 시간이 실시간으로 자동 갱신됩니다.
- 세션 패널 하단에는 시계 아이콘과 함께 시스템 연속 가동 시간(Uptime)이 출력됩니다 (예:
- 모바일 최적화 & 스마트 탭 접기/펼치기 (Knob Bar):
- 모바일 화면(스마트폰 및 좁은 화면)에서는 통계 패널이 컴팩트한 기본 높이(
91px)로 접혀 최상단 2열 핵심 KPI 카드(Active Users / Active Sessions)와 Uptime만 깔끔하게 노출됩니다. - 하단에는 쉐브론 화살표 아이콘을 포함한 도톰한 알약 핸들(Pill Handle)이 제공되며, 펼침 시 화살표가 180도 회전합니다.
- 스마트 탭(Smart Tap): 모바일 환경에서는 작은 핸들을 정밀하게 조준할 필요 없이 통계 패널 영역 아무 곳이나 터치하면 즉시 전체 세션 통계가 펼쳐지며, 펼쳐진 상태에서는 하단 핸들을 터치하여 손쉽게 다시 접을 수 있습니다.
- 모바일 화면(스마트폰 및 좁은 화면)에서는 통계 패널이 컴팩트한 기본 높이(
- 실시간 세션 목록 & 사용자 추적:
- 현재 접속 중인 사용자들의 세션 카드가 격자 형태로 실시간 나열됩니다.
- 국가 식별: 접속자 IP 주소를 지리 정보와 매핑하여 국가별 국기 아이콘을 표시함으로써 글로벌 사용자 분포를 파악합니다.
- 활동 카운터 애니메이션: 각 세션 카드 내부의 숫자 뱃지는 해당 사용자가 요청을 보낼 때마다 녹색 불빛과 함께 실시간으로 카운트가 올라가 헤비 유저의 활동량을 즉각 추적할 수 있습니다.
- 세션 비활성화 및 만료 시각화: 사용자의 마지막 활동 이후 시간이 경과하면 카드가 점진적으로 비활성(Inactive) 상태로 전환되며, 세션 타임아웃 도달 시 부드럽게 목록에서 제거됩니다.
- 클러스터 그룹 뷰 노드 필터 (Session Node Filter):
- 여러 서버 노드가 묶인 그룹 뷰에서는 세션 카드 상단에
All,Node-1,Node-2등의 노드 선택 필터 버튼이 제공됩니다. - 특정 노드 버튼을 클릭하여 해당 물리 노드에 분산 처리되고 있는 세션만 선별적으로 격리 관제할 수 있습니다.
- 여러 서버 노드가 묶인 그룹 뷰에서는 세션 카드 상단에
7. 다차원 분석 차트 및 스마트 날짜 내비게이션 (Charts Box)
실시간 요청량 추이와 세션 수 변화를 정밀한 시계열 그래프로 시각화하여 단기 트래픽 스파이크부터 장기 사용 패턴까지 분석할 수 있는 차트 엔진입니다.
- Activities & Sessions 시계열 차트:
- 요청 처리 건수와 활성 세션 수의 상관관계를 동일한 시간 축 위에서 복합 차트 형태로 렌더링합니다.
- 실시간 테마 감지 엔진(
MutationObserver)이 내장되어 있어, 사용자가 라이트 모드 또는 다크 모드로 전환할 때 차트 툴팁, 크로스헤어, 그리드 라인 색상이 실시간으로 자동 동기화되어 눈의 피로를 줄이고 가독성을 극대화합니다.
- 네이티브 줌 컨트롤 및 제스처 인터랙션 (Native Zoom & Gestures):
- 외부 플러그인 의존성을 배제하고 브라우저 네이티브 방식으로 경량화된 고성능 줌 엔진을 구축했습니다.
- 미니 줌 툴바: 마우스 호버 또는 첫 탭 시 차트 우측 상단에 콤팩트한 줌 컨트롤 툴바가 나타나며, 확대(
+), 축소(-), 전체 뷰 리셋(Fullscreen Exit) 버튼을 직관적으로 조작할 수 있습니다. - 더블 클릭 / 더블 탭 확대: 특정 시점을 더블 클릭(모바일 터치 환경에서는 더블 탭)하면 해당 데이터 포인트를 중심으로 시간 축을 단계별로 정밀 확대(Zoom-in)합니다.
- 스마트 리셋 토글: 최대 확대 배율 상태에서 다시 더블 클릭하면 원래의 전체 기간 뷰로 한 번에 리셋 복귀합니다.
- 반응형 폰트 크기 자동 조절 (
getResponsiveFontSize): 차트 컨테이너의 픽셀 너비를 감지하여 X축/Y축 눈금 라벨(9px~12px), Y축 타이틀(10px~12px), 툴팁 본문 폰트 크기를 반응형으로 자동 스케일링함으로써, 모바일 기기나 좁은 화면에서도 텍스트가 겹치거나 잘리지 않고 최적의 판독성을 유지합니다.
- 유연한 기간 단위 프리셋 (Date Unit Options):
5m(Live): 5분 단위의 실시간 슬라이딩 윈도우 모드로, 최신 트래픽 변화를 초단위로 생생하게 관찰합니다.1D(Day): 하루(24시간) 동안의 시간대별 트래픽 분포 및 피크 타임을 분석합니다.1W(Week): 월요일부터 일요일까지 1주일간의 주간 요일별 트래픽 추세를 비교합니다.1M(Month): 한 달 동안의 일자별 사용량 추이를 확인합니다.1Y(Year): 12개월 단위로 장기적인 서비스 성장세와 월별 계절성을 파악합니다.
- 라이브 오프셋 내비게이션 (Date Offset Options):
- Live(
5m) 모드에서는Previous (<<)및Latest (>>)오프셋 버튼이 활성화되어, 실시간 스트리밍 모드와 직전 5분 샘플링 구간 사이를 간편하게 전환하며 즉시 비교할 수 있습니다.
- Live(
- 스마트 날짜 내비게이터 (Date Navigator):
1D,1W,1M,1Y모드 선택 시 활성화되는 전문 날짜 이동 도구입니다.- 단계별 이동: 이전(
‹), 다음(›) 버튼을 클릭하여 선택된 기간 단위(하루, 일주일, 한 달, 일 년) 단위로 시간을 앞뒤로 건너뜁니다. - 오늘 바로가기 (
Today): 과거 데이터를 탐색하던 중 클릭 한 번으로 현재 시점으로 즉각 복귀합니다. - 미래 탐색 방지: 현재 시점 이후의 미래 데이터가 존재하지 않는 경우 다음(
›) 버튼이 자동으로 비활성화(Disabled)되어 잘못된 조회를 방지합니다.
- 크로스 플랫폼 네이티브 날짜 선택기 (Date Picker):
- 날짜 라벨 버튼을 클릭하면 캘린더 모달이 팝업되어 원하는 과거 시점을 직접 지정할 수 있습니다.
- 데스크톱 브라우저는 물론, 모바일(iOS Safari, Android Chrome 등) 터치 환경에서도 브라우저 고유의 네이티브 휠/캘린더 피커가 즉시 열리도록 투명 오버레이 기술과 WebKit 호환 처리가 적용되어 있습니다.
차트 옵션 메뉴 및 데이터 내보내기 (Chart Options Menu)
차트 우측 상단의 더보기(...) 버튼을 클릭하면 차트 데이터를 다각도로 활용할 수 있는 드롭다운 메뉴가 열리며, 시계열 데이터를 표 형태로 즉시 조회하거나 파일로 내보낼 수 있습니다.


- View as table (인터랙티브 테이블 뷰):
- 시계열 차트 데이터를 직관적인 스프레드시트 형태의 표(Table)로 즉시 전환하여 조회합니다.
- 고정 헤더(Sticky Header)와 우측 상단 닫기(
×) 버튼이 적용되어 있어, 데이터 양이 많은 긴 기간을 조회할 때도 헤더 컬럼을 유지한 채 부드럽게 세로 스크롤하며 정밀 수치를 대조할 수 있습니다. - 선택된 조회 단위(일, 주, 월, 년 등)에 맞춰 일시(Date/Time) 형식이 지능적으로 포맷팅되며, 모든 메트릭 수치에 천 단위 쉼표가 적용되어 일목요연하게 비교 분석할 수 있습니다.
- Download CSV (스프레드시트 데이터 내보내기):
- 현재 화면에 렌더링된 시계열 데이터(일시, 요청 수, 활성 세션 수)를 표준 CSV 파일로 즉시 추출하여 다운로드합니다.
- Microsoft Excel 및 다양한 스프레드시트 도구에서 한글이나 특수문자가 깨지지 않도록 UTF-8 BOM 인코딩(
\uFEFF)이 기본 적용됩니다. - 파일명에는 이벤트 ID와 다운로드 타임스탬프(예:
activities-chart-20261101-152000.csv)가 자동으로 부여되어 운영 데이터 보관 및 외부 리포팅 작업에 즉시 활용할 수 있습니다.
- Download PNG (테마 배경색 보정 고해상도 이미지 내보내기):
- 현재 차트 캔버스 이미지를 고화질 PNG 파일로 저장합니다.
- HTML5 캔버스를 단순 저장할 때 발생하는 투명 배경 문제를 해결하기 위해, 현재 활성화된 테마(다크 모드: 검정색, 라이트 모드: 흰색)의 배경색을 오프스크린 캔버스에 합성하여 어디서나 깨끗하게 렌더링되는 이미지 파일을 생성합니다.
- 장애 보고서, 서비스 주간 보고서, 성능 발표 자료 등에 별도의 화면 캡처 및 편집 작업 없이 고품질 차트 그래픽을 바로 삽입할 수 있습니다.
8. 전문 로그 콘솔 및 역방향 이력 탐색 (Console Box)
서버 애플리케이션의 런타임 로그를 지연 없이 실시간으로 스트리밍하는 고성능 터미널 콘솔입니다.
- 실시간 스트리밍 & 테일링 제어:
- 웹소켓 기반의 경량 프로토콜을 통해 서버에서 발생하는 로그 라인을 지체 없이 화면에 밀어냅니다.
- Tailing Switch: 실시간 자동 스크롤(Tailing)을 켜고 끌 수 있어, 로그가 빠르게 쏟아지는 도중에도 특정 로그 라인을 멈춰 세워 정밀하게 분석할 수 있습니다.
- 콘솔 제어 도구: 화면 지우기(Clear), 콘솔 창 최대화/최소화(Maximize/Restore) 기능을 지원합니다.
- 다중 로그 분할 렌더링 (Multi-log Box):
- 애플리케이션이 여러 개의 로그 파일(예: 시스템 로그, 액세스 로그, 에러 전용 로그 등)을 기록하는 경우, 각 로그 파일별로 독립된 콘솔 박스가 자동으로 생성되어 병렬로 관제할 수 있습니다.
- 너비 조절 스위치 (Wide Switch):
- 다중 콘솔 환경에서 개별 콘솔 박스의 우측 상단 너비 버튼을 클릭하면 기본 반폭(
col-lg-6)에서 화면 전체 너비(col-lg-12)로 자유롭게 전환됩니다. - 긴 스택 트레이스(Stack Trace)나 복잡한 JSON/SQL 쿼리 로그를 줄바꿈 왜곡 없이 넓고 쾌적한 화면에서 검토할 수 있습니다.
- 다중 콘솔 환경에서 개별 콘솔 박스의 우측 상단 너비 버튼을 클릭하면 기본 반폭(
- 이전 로그 더 보기 (역방향 무한 스크롤):
- 콘솔 창의 스크롤을 최상단으로 끌어올리면 상단에 ‘이전 로그 더 보기’ 버튼이 나타납니다.
- 버튼 클릭 시 서버로부터 직전 과거 로그 청크를 역방향으로 안전하게 가져와 현재 콘솔 상단에 자연스럽게 이어붙임으로써, 실시간 스트리밍을 중단하지 않고도 문제 발생 전후의 맥락을 완벽하게 추적할 수 있습니다.