본문으로 건너뛰기

에러 통계

커버 이미지

에러 발생 패턴 분석


목차

  1. 개요
  2. 주요 지표
  3. 화면 구성
  4. 상호작용 기능
  5. 예외 상황 처리
  6. 연관 메뉴
  7. 실전 예시

1. 개요

에러 통계란?

에러 타입별 발생 횟수, 스택 트레이스, 발생 패턴을 집계 분석하는 도구

언제 사용하나요?

  • 에러 발생 패턴을 파악할 때
  • 특정 에러의 빈도를 모니터링할 때
  • 에러 원인을 분석할 때
  • 에러 수정 우선순위를 정할 때

해결하는 문제

에러별로 집계된 데이터를 통해 어떤 에러가 가장 자주 발생하는지, 특정 시간대에 에러가 집중되는지 신속하게 파악할 수 있습니다.


2. 주요 지표

핵심 성능 지표

지표의미정상 범위
총 에러수기간 내 총 에러 발생 횟수0 또는 최소화
고유 에러수발생한 서로 다른 에러 타입 수적을수록 좋음
최빈 에러가장 자주 발생하는 에러 타입-
에러율전체 요청 중 에러 비율1% 이하

3. 화면 구성

ObjectSelector란?

모니터링할 오브젝트(서버, 서비스, 인스턴스)를 선택하는 컴포넌트

위치: 화면 좌측 사이드바

주요 기능:

  • 오브젝트 트리 탐색
  • 다중 오브젝트 선택
  • 오브젝트별 필터링

사용법: 단계 1: ObjectSelector 버튼을 클릭하세요 단계 2: 트리에서 원하는 오브젝트를 체크하세요 (다중 선택 가능) 단계 3: 선택된 오브젝트 수가 버튼에 표시됩니다

오브젝트 상태 정보:

  • 전체 실행 개수: 현재 실행 중인 오브젝트 수
  • 라이선스 없는 개수: 라이선스 없이 실행 중인 오브젝트 수
  • 전체 정지 개수: 정지된 오브젝트 수

3계층 레이아웃 구조:

1층 (검색 조건 영역)

  • 날짜 범위 선택
  • 서버 선택 드롭다운
  • 검색 버튼
  • 리셋 버튼

2층 (오브젝트 목록 영역)

  • ObjectSelector (오브젝트 목록): 모니터링 대상 오브젝트 목록
  • noPadding 옵션 적용 (최대 공간 활용)
  • 오브젝트별 필터링 지원

3층 (컨텐츠 영역)

  • 상단 요약 정보: 총 에러수, 고유 에러수, 최빈 에러, 에러율
  • 하단 차트 영역: 일별 차트 + 상세 테이블 (동적 6:6 분할)
    • 일별 차트: 날짜별 에러 발생 추이
    • 상세 테이블: 에러별 상세 통계 (토글 가능)
    • 스택 트레이스 뷰어: 에러 스택 트레이스 확인

특징:

  • ThreeLayerLayout 기반 3계층 구조
  • 차트/테이블 동적 분할 (6:6)
  • fill 옵션 적용 (남은 공간 채움)
  • ErrorStackViewer: 스택 트레이스 확인

초기 상태 안내

⚠️ 중요 사항

⚠️ 중요: 오브젝트를 선택하지 않으면 화면이 비어있는 것이 정상입니다.


빈 화면인 경우:

  1. ObjectSelector에서 모니터링할 오브젝트를 선택했는지 확인하세요
  2. 오브젝트가 등록되어 있는지 확인하세요 데이터가 표시되지 않는 경우:
  3. 선택한 오브젝트가 데이터를 수집 중인지 확인하세요
  4. 시간 범위를 조정해 보세요


4. 상호작용 기능

날짜 범위 검색

단계 1: 1층 검색 조건 영역에서 날짜 범위를 선택하세요

단계 2: 서버를 선택하세요

단계 3: "검색" 버튼을 클릭하세요

오브젝트 필터링

단계 1: 2층 오브젝트 목록 영역에서 필터링할 오브젝트를 선택하세요

단계 2: 다중 선택 가능

단계 3: 선택된 오브젝트의 통계만 3층 컨텐츠 영역에 표시됩니다

상세 테이블 토글

단계 1: 3층 컨텐츠 영역에서 상세 테이블 토글 버튼을 클릭하세요

단계 2: 차트와 테이블이 6:6 비율로 분할됩니다

단계 3: 다시 클릭하면 차트가 전체 화면을 차지합니다

스택 트레이스 확인

단계 1: 상세 테이블에서 에러를 선택하세요

단계 2: "스택 트레이스 보기" 버튼을 클릭하세요

단계 3: ErrorStackViewer 모달이 열리고 전체 스택 트레이스를 확인할 수 있습니다

일별 차트 확인

  • X축: 날짜
  • Y축: 에러수
  • 범례: 에러 타입별 색상 구분
  • 차트 위젯: 라인/바 차트 혼합 지원

특수 기능

에러 타입 클릭 → XLOG 다이얼로그 연동:

  • 상세 테이블에서 특정 에러 타입 행을 클릭하면 XLOG 다이얼로그가 열립니다
  • 자동 필터링: 선택된 에러 타입(serviceErrorHash)로 자동 필터링된 XLOG 표시
  • 에러 추적: 동일한 에러를 일으키는 모든 트랜잭션 일괄 확인
  • 원인 파악: 에러 발생 패턴 및 공통 원인 신속 파악

사용 예시:

  1. 상세 테이블에서 빈도 높은 에러 타입 찾기
  2. 해당 에러 행 클릭 → XLOG 다이얼로그 자동 오픈
  3. 해당 에러의 모든 트랜잭션 시간 순서대로 확인
  4. 에러 발생 전후 컨텍스트 분석으로 근본 원인 파악

5. 예외 상황 처리

⚠️ 중요 사항

⚠️ 자주 발생하는 문제

문제: 데이터가 표시되지 않음

원인: 날짜 범위가 너무 짧거나 오브젝트가 에러 데이터를 수집하지 않음

해결: 날짜 범위를 넓히고 오브젝트 데이터 수집 상태를 확인하세요


문제: 특정 에러만 표시됨

원인: 오브젝트 필터링이 활성화됨

해결: ObjectSelector에서 필터를 초기화하거나 모든 오브젝트를 선택하세요


문제: 상세 테이블에서 에러가 너무 많음

원인: 에러 타입 수가 너무 많음

해결: 상세 테이블의 검색/필터 기능을 활용하거나 테이블을 닫고 차트만 확인하세요


문제: 스택 트레이스가 표시되지 않음

원인: 에러 수집 레벨 설정이 낮거나 스택 트레이스가 포함되지 않음

해결: 수집 서버 설정에서 에러 수집 레벨을 높이세요


6. 연관 메뉴

함께 사용하면 좋은 메뉴:

메뉴함께 사용하는 이유
트랜잭션 조회에러가 발생한 트랜잭션 추적
알람 로그에러와 관련된 알람 로그 확인
URL 통계특정 서비스의 에러율 분석

7. 실전 예시

시나리오: NullPointerException 빈도 해결

상황: 간헐적으로 NullPointerException으로 서버 다운

해결 과정:

  1. 에러 통계 1층에서 최근 7일 날짜 범위 선택
  2. 서버 선택 후 검색 실행
  3. 3층 요약 정보에서 총 에러수와 고유 에러수 확인
  4. 일별 차트에서 NullPointerException이 주요 에러임 확인
  5. 상세 테이블에서 NullPointerException 클릭
  6. "스택 트레이스 보기"로 전체 스택 확인
  7. UserService.java:142에서 null 체크 누락 발견
  8. null 체크 로직 추가 후 배포
  9. 에러 통계에서 NullPointerException 발생 감소 확인

결과: NullPointerException 90% 감소, 서버 안정성 개선


이 페이지가 도움이 되었나요?