백엔드/Spring

[Spring] Actuator

kwang2134 2024. 10. 8. 14:59
728x90
반응형
728x90

Spring Boot - Actuator

  • 애플리케이션의 운영 상태를 모니터링하고 관리할 수 있는 다양한 기능을 제공하는 모듈
  • 주로 프로덕션 환경에서 애플리케이션의 상태를 확인하고, 메트릭을 수집하며, 로그를 추적하고, 설정을 점검하는 데 사용

주요 기능

1. 헬스 체크 (Health Checks)

  • 애플리케이션의 건강 상태를 확인할 수 있는 엔드포인트를 제공
  • 데이터베이스, 메시지 브로커, 캐시 등 다양한 의존성의 상태를 체크할 수 있음
  • /actuator/health 엔드포인트를 통해 접근

상태 반환

  • UP: 애플리케이션이 정상적으로 작동하고 있는 상태
  • DOWN: 애플리케이션이 작동하지 않는 상태 
  • OUT_OF_SERVICE: 애플리케이션이 현재 요청을 처리할 수 없는 상태 -> 서비스가 비활성화 상태인 경우
  • UNKNOWN: 애플리케이션 상태를 확인할 수 없는 경우

2. 메트릭스 (Metrics)

  • 애플리케이션의 성능을 모니터링하기 위해 다양한 메트릭 정보를 수집하고 노출
  • JVM 메모리 사용량, 쓰레드 수, 요청 처리 시간, HTTP 응답 코드 통계 등 다양한 메트릭이 포함
  • 개발자는 애플리케이션에서 중요한 비즈니스 메트릭을 수집하여 Actuator에 등록가능 -> 커스텀 메트릭
  • /actuator/metrics 엔드포인트를 통해 접근

3. 로그 (Logging)

  • 애플리케이션의 로그 레벨을 동적으로 조정할 수 있는 기능
  • 특정 패키지나 클래스에 대해 로그 레벨을 설정하고 변경할 수 있음
  • /actuator/loggers/{logger.name} 형식으로 특정 로그 설정을 조회하거나 수정 가능

4. 환경 정보 (Environment)

  • 애플리케이션의 환경 설정 및 프로퍼티 값을 조회할 수 있는 기능
  • 모든 프로퍼티, 시스템 속성, 구성 파일 정보 등 애플리케이션의 환경 관련 데이터를 제공
  • /actuator/env 엔드포인트를 통해 접근

5. 스프링 빈 (Beans)

  • 현재 애플리케이션에서 관리되고 있는 스프링 빈의 목록을 조회하는 기능
  • 빈의 이름, 타입, 스코프 및 의존성 관계 등의 정보를 제공
  • /actuator/beans 엔드포인트를 통해 접근

6. 요청 트레이스 (Request Tracing)

  • 들어오는 HTTP 요청의 추적 정보를 제공하는 기능
  • 각 요청의 URI, 메서드, 응답 시간, HTTP 상태 코드 등을 기록
  • /actuator/httptrace 엔드포인트를 통해 접근

7. 애플리케이션 정보 (Info)

  • 애플리케이션의 버전 정보를 제공 -> application.properties 또는 application.yml 파일에서 설정된 info.app.version 속성 값 사용
  • 빌드 시간, 빌드 번호 등 빌드 관련 정보를 포함
  • 사용자 정의 정보를 추가 가능
  • /actuator/info 엔드포인트를 통해 접근

스프링 부트 - 핵심 원리와 활용 강의 | 김영한 - 인프런 강의 내용 참고

728x90

'백엔드 > Spring' 카테고리의 다른 글

[Spring] Thread Pool & ThreadLocal  (0) 2024.10.30
[Spring] 모니터링 환경 구성  (0) 2024.10.12
[Spring] Spring Boot 외부 설정  (0) 2024.10.05
[Spring] Jar & SpringBoot Jar  (0) 2024.09.28
[Spring] 스프링 부트  (2) 2024.09.27