Spring

· Spring
요청에 대한 파라미터 혹은 데이터로 Enum 타입을 직접 사용하는 경우가 있습니다. public record SearchLibraryBookCond( int page, int size, BookCategory bookCategory ) { } //--- @GetMapping("/books") public ApiResponse searchLibraryBooks( final SearchLibraryBookCond searchCond ) { final SearchLibraryBookResult result = libraryService.getLibraryBook(searchCond); return ApiResponse.from(result); } 위 핸들러는 아래와 같은 http 요청을 처리할 수 있는데요. ..
· 인프라
모니터링 시스템 구축기(3) 이전 글들을 통해 모니터링을 적절히 구성하였는데요. 이번엔 보안적인 부분에 대해 신경쓰며 개선해보도록 하겠습니다. 메트릭은 어플리케이션에 대한 다양한 지표들을 나타내고 있기 때문에, 관리자입장에서는 유용한 정보이면서도 노출되면 위험할 수 있는 지표입니다. 현재 Spring Actuator, Prometheus 는 외부에서 누구든지 접속 할 수 있습니다. Granfana도 접근할 수 있지만, 자체적으로 제공하는 ID/PW 인증이 존재합니다. Spring Actuator 같은 경우에는 Spring application 단에서 해당 경로 (/actuator) 자체에 대한 보안을 추가할 수 있습니다. Intercetpor나 Filter에서 해당 url에 대한 인가 정보를 검증하는 식..
· 인프라
모니터링 시스템 구축기(2) 이전 글에 이어서 메트릭 지표 뿐만 아니라 logback으로 남기는 로그 파일을 모니터링 할 수 있도록 구성해보겠습니다. 우선, 셀럽잇에서는 log level에 나누어 다음과 같이 파일을 정리하고 있습니다. INFO -> logs/backend/info WARN -> logs/backend/warn ERROR -> logs/backend/error 레벨에 따라 각각 다른 폴더에 날짜별, 사이즈별로 분리되어 저장되고 있습니다. # info.log 01:09:19.973 [http-nio-8080-exec-2] INFO c.c.c.l.r.RequestLogInterceptor - [Web Request START] : [ # ... [Method] = [GET] [URL] = [..
· 인프라
모니터링 시스템 구축기(1) 셀럽잇 프로젝트에 적용한 모니터링 시스템 구축기에 대해 소개하겠습니다. 우선 서비스 모니터링이 필요한 이유에 대해 간단하게 짚고 넘어가겠습니다. 운영상 발생한 버그나 오류에 대해 빠른 확인 문제에 대한 원인에 대한 빠른 분석 시스템의 상태를 확인하여 개선점 발견 가능 (성능, 메모리 등) 사용자의 액세스와 활동 분석 -> 취약점, 어뷰징 등의 행위 발견 가능 로깅과 메트릭 모니터링가 필요한 이유는 이러한 이유 뿐만 아니라 다양합니다. 그래서 저희 셀럽잇도 운영중인 서비스에도 모니터링 시스템을 구축하고자 합니다. Spring actuator 우선, 셀럽잇에서는 logback를 사용하여 운영중에 발생한 로그를 모으고 있습니다. 로그 이외의 지표들은 어떤걸 모니터링 하고, 어떻게 ..
RoyceWon
'Spring' 태그의 글 목록