예외

최종 수정: 2026. 1. 16.

예외

애플리케이션 예외를 추적하고 분석하는 방법을 안내합니다.


개요

예외 추적 기능은 애플리케이션에서 발생하는 예외를 자동으로 수집하고 분석합니다.

주요 기능

기능 설명
자동 수집 애플리케이션 예외 자동 캡처
그룹화 동일한 예외 자동 그룹화
스택 트레이스 상세 스택 트레이스 표시
트레이스 연결 관련 분산 트레이스 연결
추세 분석 예외 발생 추세 확인

예외 목록 접근

  1. 좌측 메뉴에서 Exceptions 클릭
  2. 예외 목록이 표시됩니다

화면 구성

exception-01.png


예외 필터링

시간 범위

최근 발생한 예외 또는 특정 기간 예외 조회:

  • 최근 15분, 1시간, 24시간
  • 커스텀 시간 범위

서비스 필터

특정 서비스의 예외만 표시:

service.name = api-gateway

예외 유형 필터

특정 유형의 예외만 표시:

exception.type = NullPointerException

심각도 필터

심각도 설명
Critical 즉시 조치 필요
Error 에러 발생
Warning 경고

예외 상세

예외를 클릭하면 상세 정보가 표시됩니다.

기본 정보

필드 설명
Exception Type 예외 클래스/유형
Message 예외 메시지
Service 발생 서비스
First Seen 최초 발생 시간
Last Seen 마지막 발생 시간
Count 발생 횟수

스택 트레이스

전체 스택 트레이스 확인:

java.lang.NullPointerException: User not found
    at com.example.UserService.getUser(UserService.java:45)
    at com.example.UserController.handleRequest(UserController.java:23)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    ...

발생 추세

시간별 발생 횟수 그래프:

  • 급증 시점 확인
  • 배포 후 증가 여부
  • 패턴 분석

예외 그룹화

자동 그룹화

동일한 예외는 자동으로 그룹화됩니다:

  • 동일한 예외 유형
  • 동일한 스택 트레이스 패턴
  • 동일한 서비스

그룹 정보

정보 설명
Total Count 그룹 내 총 발생 횟수
Unique Instances 고유 인스턴스 수
Affected Services 영향받은 서비스 수
Affected Users 영향받은 사용자 수 (있는 경우)

트레이스 연결

예외에서 트레이스로

예외 상세 페이지에서:

  1. Related Traces 섹션 확인
  2. 트레이스 클릭
  3. 전체 요청 흐름에서 예외 발생 지점 확인

트레이스에서 예외로

트레이스 상세에서 에러 스팬 확인:

  • 예외 메시지
  • 스택 트레이스
  • 예외 상세 페이지 링크

예외 알림

알림 규칙 생성

  1. Alerts > + New Alert Rule
  2. 예외 기반 규칙 설정:
조건: exception.count > 10
기간: 5분
서비스: production 서비스

새로운 예외 알림

이전에 보지 못한 새로운 예외 발생 시 알림:

조건: 새로운 exception.type 감지
알림: 즉시

예외 급증 알림

예외 발생률 급증 시:

조건: exception.rate > 평소 3배
기간: 5분

예외 무시

무시 규칙

특정 예외를 목록에서 제외:

  1. 예외 상세에서 Ignore 클릭
  2. 무시 사유 입력
  3. 무시 기간 설정 (영구 또는 임시)

무시된 예외 관리

Settings > Ignored Exceptions에서:

  • 무시된 예외 목록 확인
  • 무시 해제

예외 해결

해결 표시

예외를 수정한 후:

  1. 예외 상세에서 Resolve 클릭
  2. 해결 방법 기록 (선택)
  3. 관련 커밋/PR 연결 (선택)

재발 추적

해결 표시 후 동일 예외 재발 시:

  • Regression 표시
  • 알림 발생

예외 분석

발생 빈도 분석

가장 자주 발생하는 예외 확인:

  1. Count 기준 정렬
  2. 상위 예외 우선 처리

서비스별 분석

서비스별 예외 현황:

서비스 예외 수 주요 예외
user-service 234 NullPointerException
order-service 89 TimeoutException
payment-service 45 ValidationException

시간별 분석

  • 특정 시간대 예외 급증
  • 배포 후 예외 증가
  • 트래픽 증가에 따른 예외 패턴

예외 수집 설정

자동 수집

APM Agent (eBPF)가 자동으로 예외를 수집합니다:

  • HTTP 5xx 응답의 에러 정보
  • gRPC 에러 상태

수동 계측

더 상세한 예외 정보를 위한 수동 계측:

Java:

Span span = tracer.getCurrentSpan();
span.recordException(exception);

Python:

span = trace.get_current_span()
span.record_exception(exception)

Node.js:

span.recordException(error);

문제 해결

예외가 표시되지 않음

  1. APM Agent 상태 확인
  2. 시간 범위 확인
  3. 서비스 필터 확인

스택 트레이스 누락

  1. 수동 계측 필요 여부 확인
  2. 로그에서 스택 트레이스 확인
  3. 애플리케이션 로깅 설정 확인

예외가 그룹화되지 않음

  1. 예외 메시지가 동적인 경우 (사용자 ID 등 포함)
  2. 스택 트레이스 패턴이 다른 경우

다음 단계

  • 트레이스 - 분산 트레이싱 상세
  • 로그 - 로그에서 예외 찾기
  • 알림 - 예외 알림 설정
  • 서비스 - 서비스 에러율 확인