문제 정의
문제 발생 시 신속한 대처를 위한 서버에 요청되는 로그 관리 시스템 구축
선택 가능한 기술 분석
기술 | 설명 | 장점 | 단점 |
ELK Stack (Elasticsearch, Logstash, Kibana) |
로그 데이터를 수집, 저장, 시각화하는 오픈 소스 스택 | 실시간 로그 모니터링, 강력한 검색 기능, 대규모 로그 분석 | 복잡한 설정 및 운영 |
Datadog | 클라우드 기반 로그 관리 및 모니터링 서비스 | 클라우드 기반, 실시간 모니터링, 다양한 통합 및 알림 기능 | 유료 서비스로 비용 발생, 데이터 처리 지연 가능성 O |
기술 선택 및 구현
위와 같은 좋은 기술들이 있지만, 프로젝트 기간 동안 다른 작업들과 병행해야 했고, 로그 관리 작업은 우선순위가 낮은 추가적인 작업이었습니다. 따라서 새로운 기술을 도입하기보다는 이미 보유한 기술들을 활용하여 아래와 같이 로그 관리 시스템을 구축하였습니다.
구현 로직
Spring AOP 및 예외처리를 활용하여 아래 그림 빨간색 원쪽에 Log를 저장하는 로직을 작성하여 접근한 모든 request 요청의 정보를 DB에 쌓았습니다.

요청이 처리되는 과정에서, 특히 중요한 지점(그림에서 빨간색 원으로 표시된 위치)에 로깅 로직을 추가하여, 요청에 대한 상세 정보를 데이터베이스에 기록하도록 설계했습니다.
위 과정에서 요청의 공통 처리 단계와 예외 처리 단계에 모두 적용되어, 요청이 정상적으로 처리되든 예외가 발생하든 관계 없이 요청 정보를 누락 없이 기록할 수 있도록 구현되었습니다. 이를 통해 애플리케이션의 접근 내역을 체계적으로 관리할 수 있으며, 문제 발생시 이를 추적하고 분석할 수 있는 기반을 마련하였습니다.
향후 계획
ELK Stack(Elasticsearch, Logstash, Kibana) 기술을 활용하여 WAS(Web Application Server)에서 발생한 서버 로그를 Elasticsearch에 저장하고, Kibana를 통해 시각화할 예정입니다. 또한, Logstash를 사용해 데이터를 수집하고 일자별로 파일 형태로 처리할 계획입니다.
소감
로그 관리 시스템을 구축하면서, AOP와 예외 처리를 활용해 요청 정보를 체계적으로 기록하는 로직을 구현했습니다. 이를 통해 문제 발생 시 신속하게 대처할 수 있는 기반을 마련했고, 실시간으로 데이터를 추적하고 분석할 수 있는 방법을 익혔습니다. 이런 경험을 바탕으로 ELK Stack을 도입하여 로그의 시각화 및 모니터링을 강화할 계획입니다.
코드
GitHub - Bang1999/MOTIVE: 최적의 영업을 위한 영업관리 시스템
최적의 영업을 위한 영업관리 시스템. Contribute to Bang1999/MOTIVE development by creating an account on GitHub.
github.com
'TIL' 카테고리의 다른 글
Spring Security6를 활용한 인증 인가 (1) | 2024.12.27 |
---|---|
Burp Suite 인터셉터를 활용한 웹사이트 보안 테스트 (1) | 2024.12.27 |
Redis와 SMTP를 이용한 임시비밀번호 발급 기능 (0) | 2024.12.27 |
사용자 정의 예외 처리 및 서버 응답 구현 (1) | 2024.12.27 |
SHA-256 기반의 KISA 표준 암호화 알고리즘을 활용한 개인정보 보안 처리 (0) | 2024.12.27 |