본문으로 건너뛰기

진단

목차


개요

진단 화면은 플랫폼 내부에서 발생한 모든 진단 이벤트(정보·경고·심각)를 시간순 타임라인 + 표 + 통계 차트 3가지 시점으로 함께 보여 줍니다. 시스템 관리자나 운영자가 장애 원인을 파악할 때 가장 먼저 들어오는 화면입니다.

이 화면은 다음 동작을 하나로 묶고 있습니다.

  • 타임라인 — 시간 흐름에서 어디에 무슨 일이 있었는지 한눈에
  • 로그 표 — 정확한 시각·애플리케이션·레벨·메시지 내용
  • 통계 패널 — 레벨 비율·시간대 분포·애플리케이션 분포

경로: 왼쪽 메뉴 > System > 진단 (내부 URL /diagnostic/index)


화면 구성

┌───────────────────────────────────────────────────────────────────────────────┐
│ 🩺 진단 │
│ [기간] [애플리케이션] [레벨] [건수] [조회] [전체 출력] [↻] │ ← ① 검색 영역
├───────────────────────────────────────────────────────────────────────────────┤
│ 타임라인 + 빠른 시간 범위 │ ← ② 타임라인
├──────────────────────────────────────────────────────────┬────────────────────┤
│ │ 🥧 통계 │
│ 진단 로그 테이블 │ 검색된 진단 N건 │
│ 애플리케이션 │ 레벨 │ 시간 │ 메세지 │ 정보·경고·심각 뱃지│ ← ③
│ ... │ 레벨 비율 차트 │
│ ├────────────────────┤
│ │ 📊 시간별 발생 추이 │
│ ├────────────────────┤
│ │ 🖥 애플리케이션별 │
│ │ 분포 │
└──────────────────────────────────────────────────────────┴────────────────────┘
영역위치표시
① 검색 영역우상단 form기간·애플리케이션·레벨·표시건수 + 조회/전체 출력/새로고침
② 타임라인전체 폭시간 흐름 위에 진단 마커 + 빠른 시간 범위 6 버튼
③ 좌측col-lg-8진단 로그 테이블(고정 4컬럼)
③ 우측col-lg-4통계 3개 패널(레벨 비율·시간 추이·애플리케이션 분포)

상단 검색 영역

페이지 우상단의 검색 폼은 한 줄로 배치되어 있고, 좌→우 순서로 다음 컨트롤이 있습니다.

입력 필드와 버튼

컨트롤형태기본값·옵션설명
기간 (search_time)280px텍스트 입력(가운데 정렬, 굵은 글씨)비어 있음클릭하면 날짜·시간 범위 선택기가 열려 시작/종료 시각을 설정. 폼 내부에는 hidden 필드 search_date_from / search_date_to 로 전달됨
애플리케이션 (app_name)120px드롭다운서버 (SERVER), 에이전트 (AGENT), 배치 (BATCH), 엣지 게이트웨이 (EDGE)진단을 발행한 모듈
레벨 (level)100px드롭다운전체 레벨, 정보 (INFO), 경고 (WARN), 심각 (ERROR)진단 레벨 필터. 빈 값이면 전체
메세지 검색 (message)250px (숨김)텍스트 입력비어 있음메시지 본문 키워드 검색. 기본은 숨김 상태이며 운영 환경에 따라 노출
건수 (limit)130px드롭다운100, 200, 300, 500, 1,000표시할 최근 진단 건수
조회(자동)빨강 버튼 + 🔍위 조건으로 진단 데이터를 조회
전체 출력(자동)빨강 버튼 + 📄현재 조건의 진단 결과를 CSV 파일로 일괄 내려받기
새로고침 (realtime_icon)(자동)빨강 버튼 + ↻직전 조건 그대로 다시 조회 — 대시보드 형태로 활용할 수 있음

애플리케이션 드롭다운 의미

라벨설명
SERVER서버웹 서버·관리 콘솔·도메인 서비스
AGENT에이전트데이터 수집 에이전트(파이프라인)
BATCH배치배치 처리·집계·보고서 생성
EDGE엣지 게이트웨이엣지 디바이스(현장에 설치된 게이트웨이)

레벨 드롭다운 의미

라벨색상의미권장 조치
`` (빈 값)전체 레벨모든 레벨
INFO정보파랑정상 동작 정보·시작/종료 알림 등별도 조치 불필요
WARN경고주황잠재적 문제·소프트 임계 초과추이 확인, 동시간대 다른 모듈 점검
ERROR심각빨강오류·기능 장애·예외즉시 원인 파악 + 시스템 관리자

타임라인

검색 영역 아래 패널에 진단 타임라인이 그려집니다.

항목설명
헤더🕐 "타임라인" + 우측 작은 글씨 검색 결과 요약(result_txt)
타임라인 본문alarm_timeline — 가로축 시간, 진단 항목이 색상 마커로 표시
마커 색상정보=파랑, 경고=주황, 심각=빨강
호버마커에 마우스를 올리면 시각 + 메시지 미리보기 툴팁
클릭해당 진단의 행이 좌측 표에서 자동 강조

빠른 시간 범위 (Timeline range)

타임라인 헤더 우측의 6개 버튼으로 즉시 줌 가능합니다.

버튼data-range동작
10분전10M직전 10분 구간으로 줌
30분전30M직전 30분 구간으로 줌
1시간전1H직전 1시간 구간으로 줌
6시간전6H직전 6시간 구간으로 줌
12시간전12H직전 12시간 구간으로 줌
전체기간ALL검색 전체 구간 (기본 활성)

빠른 범위 버튼은 화면에 이미 조회된 결과 위에서 줌만 적용합니다. 더 긴 기간을 보려면 검색 영역의 기간 입력으로 새로 조회해야 합니다.


좌측 — 진단 로그 테이블

| 애플리케이션 | 레벨 | 시간 | 메세지 |
|-------------|------|------------------|--------------------------------------|
| server | ERROR| 2026-05-08 12:00 | Connection timeout to upstream... |
| messaging | WARN | 2026-05-08 11:55 | Buffer overflow threshold reached... |
컬럼정렬표시
애플리케이션140px가운데진단을 발행한 모듈명 (예: server, agent, batch, edge)
레벨80px가운데색상 뱃지 — INFO(파랑) / WARN(주황) / ERROR(빨강)
시간160px가운데진단 발생 시각 (yyyy-MM-dd HH:mm:ss)
메세지자동(나머지)좌측진단 본문 (테이블이 table-layout: fixed 라 셀 폭에 맞춰 잘림 — 줄바꿈으로 보고 싶다면 행 더블클릭 또는 마우스 호버)

행 인터랙션

  • 호버: 행 배경 강조
  • 클릭: 타임라인의 해당 마커가 동기 강조 (좌·우 동기화)
  • 더블클릭/팝업: 본문 전체와 stack trace 등 추가 정보가 모달로 표시됨

표 하단 페이지네이션

조회 건수가 많을 때 페이지 단위로 분할됩니다. 페이지당 행 수는 검색 영역의 건수 드롭다운(100/200/300/500/1,000)에 따라 결정됩니다.


우측 통계 패널 (3개)

검색 결과의 통계 시각화. 모두 좌측 표와 같은 데이터를 다른 시점에서 보여 줍니다.

1. 통계 — 레벨 비율 (diag_level_chart)

┌────────────────────────────────┐
│ 검색된 진단 : N 건 │ ← 큰 글씨 헤드라인
│ [정보 N] [경고 N] [심각 N] │ ← 3색 뱃지
│ │
│ 도넛/막대 차트 │ ← diag_level_chart (150px 높이)
└────────────────────────────────┘
항목ID표시
헤드라인"검색된 진단 : N 건" 큰 글씨
검색된 총 건수diag_total_count정수
정보 뱃지diag_info_count정보 레벨 건수 — 파랑 배경
경고 뱃지diag_warn_count경고 레벨 건수 — 주황 배경
심각 뱃지diag_error_count심각 레벨 건수 — 빨강 배경
레벨 비율 차트diag_level_chart정보·경고·심각 비율 차트
빈 상태 안내diag_stats_empty데이터 없을 때 "데이터가 없습니다." 표시

2. 시간별 발생 추이 (diag_hourly_chart)

항목설명
헤더📊 "시간별 발생 추이"
차트시간대(시간 단위) 막대 차트 (170px 높이) — X축 시간, Y축 진단 건수
막대 분할정보/경고/심각이 색상으로 누적되어 표시

해석: 갑자기 한 시간대에 막대가 솟구치면 그 시각에 대규모 이상이 있었던 것. 시각을 메모하고 좌측 표에서 해당 시각의 행을 더블클릭해 상세 조회.

3. 애플리케이션별 분포 (diag_app_chart)

항목설명
헤더🖥 "애플리케이션별 분포"
차트도넛/막대 차트 (140px 높이) — 애플리케이션별 진단 건수

해석: 한 애플리케이션이 전체의 70% 이상 차지하면 그 모듈에 집중된 장애 가능성. 검색 영역의 애플리케이션 드롭다운으로 좁혀 조회한 뒤 좌측 표를 보세요.


전체 출력 (CSV)

검색 영역의 전체 출력 버튼을 클릭하면 현재 검색 조건의 모든 진단을 CSV 파일로 내려받을 수 있습니다.

CSV 컬럼

컬럼형식
애플리케이션텍스트
레벨텍스트 (INFO/WARN/ERROR)
시간텍스트 (yyyy-MM-dd HH:mm:ss)
메세지텍스트 (큰따옴표 이스케이프)

CSV 는 화면에 보이는 행만이 아니라 검색 조건에 맞는 전체 결과를 내보냅니다. 건수 드롭다운(최근 N건)의 영향을 받지 않으므로 장기 분석에 적합합니다.

CSV 활용 팁

  • 시스템 관리자에게 전달할 때 압축(.zip)으로 첨부
  • 외부 분석 도구(스프레드시트·BI 도구)로 가져와 모듈·시간대·키워드 별 추가 분석
  • 같은 패턴이 매일 반복되는지 1주일 분량을 합쳐 비교

장애 발생 시 표준 진단 절차

장애가 발생했을 때 다음 순서대로 진행하시면 효율적으로 원인을 파악할 수 있습니다.

1단계 — 시간 범위 좁히기

  • 기간 입력에 장애 발생 시점 ±10분 ~ ±30분 지정
  • 건수 는 1,000건으로 (놓치는 항목이 없도록)

2단계 — 심각 우선 조회

  1. 레벨 드롭다운을 심각(ERROR) 으로 설정 → 조회
  2. 좌측 표의 첫 줄(가장 최근 ERROR)부터 메시지 확인
  3. 우측 애플리케이션별 분포 차트로 어느 모듈이 ERROR 를 많이 발생시켰는지 확인

3단계 — 동시간대 경고 확인

  1. 레벨경고(WARN) 로 바꾸고 같은 기간 조회
  2. ERROR 직전 1~5분 사이에 발생한 WARN 메시지 확인 — 보통 ERROR 의 단서가 됩니다

4단계 — 모듈별 좁히기

  1. ERROR/WARN 이 가장 많은 애플리케이션을 애플리케이션 드롭다운으로 선택
  2. 레벨전체 레벨 로 다시 풀어 모듈 내 모든 흐름 확인 — INFO 가 끊기는 시점이 단서

5단계 — 메시지 패턴

좌측 표의 메시지 본문을 검토. 같은 메시지가 반복되는지(룰 폭주), 한 번만 떨어진 단발성인지(외부 상태 변동) 구분.

6단계 — 시스템 관리자 인계

장애 원인을 운영자가 직접 조치할 수 없으면 전체 출력 버튼으로 CSV 파일을 받아 시스템 관리자에게 전달. 보고 시 다음을 함께 첨부하시면 좋습니다.

  • 장애 발생 시각(첫 ERROR 시각)
  • 영향 범위(어느 사이트/모듈)
  • ERROR 메시지 1~3개 텍스트
  • CSV 파일

자주 보는 진단 메시지 패턴

메시지 키워드의미일반 조치
Connection timeout외부 서비스 연결 시간 초과네트워크 상태·대상 서비스 가동 여부
Out of memory / OOM메모리 부족시스템 리소스 점검·재시작 검토 (시스템 관리자)
Disk space low디스크 가용량 부족오래된 데이터 정리 또는 디스크 증설
Authentication failed인증 실패토큰·계정 정보 만료/오류 확인
Buffer overflow처리 큐 가득참트리거 사전 필터·외부 IO 스로틀로 부하 평탄화
Job already running잡 중복 실행이전 잡 미완료 — 시스템 관리자 점검
Failed to parse메시지 파싱 실패외부 시스템 페이로드 형식 검토
Schema mismatchDB/메시지 스키마 불일치시스템 관리자 점검 (배포 직후일 수 있음)
Pipeline exception데이터 파이프라인 예외일일 통계의 선택일 상세 차트 함께 확인
Edge disconnect엣지 디바이스 단절연결 관리 에서 디바이스별 상태 확인

자주 묻는 질문

Q. 메시지 검색(키워드) 입력란이 안 보입니다. A. 운영 환경 설정에 따라 메시지 본문 검색이 비활성화되어 있을 수 있습니다(display:none). 활성화 필요 시 시스템 관리자에게 문의하세요.

Q. 진단 데이터의 보존 기간은? A. 기본 7일입니다. 장기 보관이 필요하면 전체 출력 으로 CSV 를 외부 시스템에 적재하거나, 플로우 의 진단 트리거(flow_on_diagnostic)로 외부 로그 시스템에 자동 적재하실 수 있습니다.

Q. ERROR 가 매우 많이 누적되었는데 모두 같은 메시지입니다. 무시해도 되나요? A. 같은 ERROR 가 짧은 시간에 반복된다면 한 가지 원인이 폭주한 것이며 카운트만 큰 의미는 작습니다. 첫 발생 시각과 메시지 자체를 먼저 보시면 됩니다.

Q. 새로고침 버튼은 자동 새로고침으로 바꿀 수 있나요? A. 화면은 명시적 새로고침만 동작합니다. 운영 모니터링 용도로 자동 갱신이 필요하면 짧은 주기로 새로고침을 클릭하시거나 플로우 의 알림 자동화로 ERROR 발생 시 푸시를 받도록 설정하세요.

Q. 타임라인의 마커 색상이 너무 빽빽합니다. A. 건수 드롭다운을 작은 값(100~200건)으로 낮추거나, 레벨 을 ERROR/WARN 으로 좁히면 가독성이 좋아집니다.

Q. 같은 시점에 모든 모듈이 ERROR 를 발행했습니다. A. 공통 인프라(메시지 채널·스토리지) 장애 가능성이 큽니다. 대시보드 헬스 레일 의 인프라/엔진 상태를 같이 확인하세요.

Q. CSV 다운로드가 시간이 오래 걸립니다. A. 검색 조건이 너무 광범위할 가능성이 큽니다. 기간을 24시간 이하로 줄이거나 모듈을 한정하시기 바랍니다.


관련 화면

  • 대시보드 — 우측 헬스 레일에서 최근 진단 미리보기
  • 일일 통계 — 시스템 진단 트렌드와 예외 유형/코드 분포
  • 알람 — 도메인 알람 이력
  • 연결 관리 — 엣지/OPC 디바이스 상태
  • 플로우flow_on_diagnostic 트리거로 진단 자동 라우팅