본문으로 건너뛰기

에러 통계

커버 이미지

에러 발생 패턴 분석​


목차​

  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% 감소, 서버 안정성 개선


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