1. 액추에이터(Actuator)란?
스프링 공식 문서에서는 위와 같이 설명하고 있다.
즉, 스프링 부트 액추에이터는 HTTP 엔드포인트나 JMX를 사용해 애플리케이션을 관리하고 모니터링할 수 있는 기능을 제공한다.
* JMX(Java Management Extensions) : 실행 중인 애플리케이션의 상태를 모니터링하고 설정을 변경할 수 있게 해주는 API
2. 액추에이터 사용을 위한 의존성
액추에이터 기능을 사용하려면 spring-boot-starter-actuator 모듈의 의존성을 추가해야 한다.
다음은 build.gradle 예시이다.
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-actuator'
3. 엔드포인트
액추에이터의 엔드포인트는 애플리케이션의 다양한 정보들을 모니터링할 때 사용하는 경로이다. 기본적으로 제공되는 엔트포인트 목록은 여기에서 확인할 수 있다. 기본 URL 경로는 "/actuator" 로 설정되며 이 뒤에 각 엔트포인트에 해당하는 경로를 추가해 상세 내역에 접근할 수 있다. 예를 들어 health 엔드포인트는 "/actuator/health" 에 매핑되어 있다. 경로는 application.properties 파일을 통해 변경할 수도 있다.
엔드포인트는 HTTP와 JMX에 대해 활성화(enabled) 여부와 노출(exposure) 여부를 설정할 수 있다. 기본적으로, 오직 health 엔드포인트만이 HTTP와 JMX 모두에게 노출되어 있으며, 나머지 엔드포인트들은 대부분 JMX에는 노출되어 있으나 WEB에는 노출되어 있지 않다.
다음은 주요 엔드포인트이다. ahems
3.1. 애플리케이션 기본 정보(/info)
application.properties 파일에 info 정보를 설정할 수 있다.
/actuator/info로 접근하면 설정한 info 정보를 JSON 형태로 출력받을 수 있다.
info:
organization:
name: "green"
contact:
email: "test@gmail.com"
3. 2. 애플리케이션 상태(/health)
별도의 설정이 없다면 status 항목만 출력되며 아래와 같이 상세 상태에 대한 접근을 허용하면 상세 정보까지 얻을 수 있다.
management:
endpoint:
health:
show-details: "always"
3. 3. 빈 정보 확인(/beans)
스프링 컨테이너에 등록된 스프링 빈의 전체 목록을 출력할 수 있다.
3. 4. 로깅 레벨 확인(/loggers)
애플리케이션의 로깅 레벨 수준을 확인할 수 있다.
[참고 자료] 『스프링 부트 핵심 가이드』 장정우 지음
위 책을 읽고 정리한 내용입니다.
'Java > Spring' 카테고리의 다른 글
[Spring Boot] 인증과 인가 (0) | 2023.04.29 |
---|---|
[Spring Boot] 서버 간 통신: RestTemplate과 WebClient (0) | 2023.04.22 |
[Spring Boot] 유효성 검사와 예외처리 (0) | 2023.04.14 |
[Spring Boot] 연관관계 매핑 (0) | 2023.04.09 |
[Spring Boot] 테스트 코드 작성 (0) | 2023.03.31 |