🌱 스프링 부트(Spring Boot) 프레임워크에서 제공하는 모듈 중 하나로, 스프링 부트 어플리케이션을 모니터링하고 관리하기 위한 기능을 제공 하며 애플리케이션의 상태, 메트릭, 환경 변수 등의 정보를 가져올 수 있는 엔드포인트를 제공하며, 스프링 액추에이터를 이용하여 애플리케이션에 특화된 커스텀 엔드포인트를 만들 수도 있습니다.
스프링 부트 액추엥이터는 http 엔드포인트나 JMX를 활용해 애플리케이션을 모니터링하고 관리할 수 있는 기능을 제공합니다.
JMS 란? 🤔
JMS(Java Management Extensions)로 실행중인 애플리케이션의 상태를 모니터링하고 설정을 변경할 수 있게 해주는 API 입니다.
실습환경에서는 Maven 을사용합니다. maven pom에 아래와같은 의존성을 추가해 주었습니다.
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
엔드포인트 ?
클라이언트 응용 프로그램이 API를 액세스하는 위치입니다. 현재 글에서는 URL 정도로 생각해주시면 될 것 같습니다.
스프링부트 액추에이터를 추가하면 기본적으로 엔드포트 URL로 /actuator 가 추가되며 이뒤에 경로를 추가 하는것으로 상세 내역에 접근할수 있습니다. 기본적인 액추에이트 경로를 변경하시려면 spring.properties에 따로정의하는것으로 커스터마이징 할수 있습니다.
액추에이터를 활성화하고 기본적인 URL을 설정하였다면 어플리케이션에서 해당 기능을 사용할수있습니다.
info : 애플리케이션의 정보
health : 애플리케이션 상태
metrics : 메모리, 스레드 상태 등
logger : logger 정보를 보고, logging level 변경도 가능하다.
startup/shutdown : 애플리케이션을 재기동에 사용하면 좋을 것 같다.