[Book] 스프링 부트 핵심 가이드 Chap.11

heesang0930 2024. 8. 5. 02:37
728x90
반응형

스프링 부트 핵심 가이드

Chap11. 액추에이터 활용하기

11.1 프로젝트 생성 및 액추에이터 추가

 

기존의 프로젝트의 빌드 환경에 따라, gradle인 경우, build.gradle에 Spring Boot Starter Actuator를 추가하고, Maven인 경우 pom.xml에 해당 종속성을 추가해주어 액추에이터 환경을 추가해준다.

 

11.2 엔드포인트

 

application.yml 또는 application.properties에 management.endpoints.web.base-path=/custom-path를 추가해서 특정 경로에서 서버의 상태 및 메트릭을 확인 할 수 있다.

 

기본적으로 엑추에이터에는 기본 엔드포인트 리스트가 존재한다.

Spring Actuator Basic Endpoint

 

+) 추가적으로 Spring MVC, Spring WebFlux, Jersey를 사용하는 경우, 다음과 같은 추가적인 엔드포인트를 사용할 수 있다.

 

추가적인 엔드포인트

 

11.3 액추에이터 기능

 

/info : 가동 중인 애플리케이션의 정보를 확인할 수 있다.

/info

/health: 애플리케이션 상태 확인 가능

/health

 

up뿐만 아니라, down, unknown, out_of_service등의 상태가 존재한다.

 

/beans: 스프링 컨테이너에 등록된 스프링 빈의 전체 목록 확인이 가능한다.

/beans

 

/conditions : Spring AutoConfiguration 조건 내역을 확인할 수 있다.

/conditions

/env : Spring의 환경 번수 정보를 확인할 수 있다.

/env

/loggers: 로깅 레벨 수준이 어떻게 설정돼있는지 확인할 수 있다.

/loggers

 

 

11.4 액추에이터에 커스텀 기능 만들기

 

커스텀 기능을 개발하는 방식에는 크게 2가지 방식이 존재하는데, 첫 번째는 기존 기능에 내용을 추가하는 것이고, 두번째 방법은 새로운 엔드포인트를 개발하는 방식이다.

 

기존 기능에 내용을 추가하기 위해서는 예를 들면, /info에 추가하기 위해서는 InfoContributor를 구현해서 기능을 추가하면 된다.

InfoContributor를 구현하는 CustomInfoContributor

 

 

다시 스프링 컨테이너를 실행하고 /info에 요청을 보내면 이전의 내용에 추가된 내용을 확인할 수 있다.

 

/info에 추가된 내용

 

 

두번째로 새로운 엔드포인트를 추가하기 위해서는 아래와 같이 선언하면 된다.

새로운 엔드포인트 /note 추가

728x90
반응형