ELK 환경에서 더 정교한 이슈 트래킹하기 Part2 - Thread Context 적극 활용하기
·2024.10.17 19:00
핵심 내용
Thread Context와 Sentry Tag를 활용해 ELK 환경에서의 로그 추적 및 이슈 분석 효율을 높이는 전략을 제시한다.
1 / 2
자세히 보기
ELK 환경에서 수많은 로그 중 예외 발생 지점을 찾기 어렵거나, 요청 로그만으로는 원인 분석이 부족한 문제를 해결하기 위해 Thread Context를 적극 활용한다.
Spring Boot의 Tomcat은 하나의 요청에 하나의 스레드를 할당하는 Thread Per Request 모델을 사용한다. 이 메커니즘을 활용하면 요청 시작부터 응답까지 할당된 스레드 내에서 데이터를 공유할 수 있다.
구체적인 개선 전략은 다음과 같다.
- RequestLoggingFilter에서 UUID 기반의 고유한 requestId를 생성한다.
- 생성된 requestId를 Sentry Tag로 주입하여 스레드 내 Sentry Context에 저장한다.
- 예외 발생 시 Sentry 리포트에 포함된 requestId를 통해 Kibana에서 관련 로그를 즉시 검색할 수 있는 지름길을 마련한다.
이러한 방식을 통해 흩어져 있는 예외 정보와 로그를 하나의 식별자로 연결함으로써, 이슈 발생 시 대응 속도를 획기적으로 높일 수 있다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.