에러 통계

에러 발생 패턴 분석
목차
- 개요
- 주요 지표
- 화면 구성
- 상호작용 기능
- 예외 상황 처리
- 연관 메뉴
- 실전 예시
1. 개요
에러 통계란?
에러 타입별 발생 횟수, 스택 트레이스, 발생 패턴을 집계 분석하는 도구
언제 사용하나요?
- 에러 발생 패턴을 파악할 때
- 특정 에러의 빈도를 모니터링할 때
- 에러 원인을 분석할 때
- 에러 수정 우선순위를 정할 때
해결하는 문제
에러별로 집계된 데이터를 통해 어떤 에러가 가장 자주 발생하는지, 특정 시간대에 에러가 집중되는지 신속하게 파악할 수 있습니다.
2. 주요 지표
핵심 성능 지표
| 지표 | 의미 | 정상 범위 |
|---|---|---|
| 총 에러수 | 기간 내 총 에러 발생 횟수 | 0 또는 최소화 |
| 고유 에러수 | 발생한 서로 다른 에러 타입 수 | 적을수록 좋음 |
| 최빈 에러 | 가장 자주 발생하는 에러 타입 | - |
| 에러율 | 전체 요청 중 에러 비율 | 1% 이하 |
3. 화면 구성
ObjectSelector란?
모니터링할 오브젝트(서버, 서비스, 인스턴스)를 선택하는 컴포넌트
위치: 화면 좌측 사이드바
주요 기능:
- 오브젝트 트리 탐색
- 다중 오브젝트 선택
- 오브젝트별 필터링
사용법: 단계 1: ObjectSelector 버튼을 클릭하세요 단계 2: 트리에서 원하는 오브젝트를 체크하세요 (다중 선택 가능) 단계 3: 선택된 오브젝트 수가 버튼에 표시됩니다
오브젝트 상태 정보:
- 전체 실행 개수: 현재 실행 중인 오브젝트 수
- 라이선스 없는 개수: 라이선스 없이 실행 중인 오브젝트 수
- 전체 정지 개수: 정지된 오브젝트 수
3계층 레이아웃 구조:
1층 (검색 조건 영역)
- 날짜 범위 선택
- 서버 선택 드롭다운
- 검색 버튼
- 리셋 버튼
2층 (오브젝트 목록 영역)
- ObjectSelector (오브젝트 목록): 모니터링 대상 오브젝트 목록
- noPadding 옵션 적용 (최대 공간 활용)
- 오브젝트별 필터링 지원
3층 (컨텐츠 영역)
- 상단 요약 정보: 총 에러수, 고유 에러수, 최빈 에러, 에러율
- 하단 차트 영역: 일별 차트 + 상세 테이블 (동적 6:6 분할)
- 일별 차트: 날짜별 에러 발생 추이
- 상세 테이블: 에러별 상세 통계 (토글 가능)
- 스택 트레이스 뷰어: 에러 스택 트레이스 확인
특징:
- ThreeLayerLayout 기반 3계층 구조
- 차트/테이블 동적 분할 (6:6)
- fill 옵션 적용 (남은 공간 채움)
- ErrorStackViewer: 스택 트레이스 확인
초기 상태 안내
⚠️ 중요 사항
⚠️ 중요: 오브젝트를 선택하지 않으면 화면이 비어있는 것이 정상입니다.
빈 화면인 경우:
- ObjectSelector에서 모니터링할 오브젝트를 선택했는지 확인하세요
- 오브젝트가 등록되어 있는지 확인하세요 데이터가 표시되지 않는 경우:
- 선택한 오브젝트가 데이터를 수집 중인지 확인하세요
- 시간 범위를 조정해 보세요
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 표시
- 에러 추적: 동일한 에러를 일으키는 모든 트랜잭션 일괄 확인
- 원인 파악: 에러 발생 패턴 및 공통 원인 신속 파악
사용 예시:
- 상세 테이블에서 빈도 높은 에러 타입 찾기
- 해당 에러 행 클릭 → XLOG 다이얼로그 자동 오픈
- 해당 에러의 모든 트랜잭션 시간 순서대로 확인
- 에러 발생 전후 컨텍스트 분석으로 근본 원인 파악
5. 예외 상황 처리
⚠️ 중요 사항
⚠️ 자주 발생하는 문제
문제: 데이터가 표시되지 않음
원인: 날짜 범위가 너무 짧거나 오브젝트가 에러 데이터를 수집하지 않음
해결: 날짜 범위를 넓히고 오브젝트 데이터 수집 상태를 확인하세요
문제: 특정 에러만 표시됨원인: 오브젝트 필터링이 활성화됨
해결: ObjectSelector에서 필터를 초기화하거나 모든 오브젝트를 선택하세요
문제: 상세 테이블에서 에러가 너무 많음원인: 에러 타입 수가 너무 많음
해결: 상세 테이블의 검색/필터 기능을 활용하거나 테이블을 닫고 차트만 확인하세요
문제: 스택 트레이스가 표시되지 않음원인: 에러 수집 레벨 설정이 낮거나 스택 트레이스가 포함되지 않음
해결: 수집 서버 설정에서 에러 수집 레벨을 높이세요
6. 연관 메뉴
함께 사용하면 좋은 메뉴:
| 메뉴 | 함께 사용하는 이유 |
|---|---|
| 트랜잭션 조회 | 에러가 발생한 트랜잭션 추적 |
| 알람 로그 | 에러와 관련된 알람 로그 확인 |
| URL 통계 | 특정 서비스의 에러율 분석 |
7. 실전 예시
시나리오: NullPointerException 빈도 해결
상황: 간헐적으로 NullPointerException으로 서버 다운
해결 과정:
- 에러 통계 1층에서 최근 7일 날짜 범위 선택
- 서버 선택 후 검색 실행
- 3층 요약 정보에서 총 에러수와 고유 에러수 확인
- 일별 차트에서 NullPointerException이 주요 에러임 확인
- 상세 테이블에서 NullPointerException 클릭
- "스택 트레이스 보기"로 전체 스택 확인
- UserService.java:142에서 null 체크 누락 발견
- null 체크 로직 추가 후 배포
- 에러 통계에서 NullPointerException 발생 감소 확인
결과: NullPointerException 90% 감소, 서버 안정성 개선
이 페이지가 도움이 되었나요?