Skill/spring
spring-boot-starter-actuator
진열사랑
2025. 5. 6. 11:21
spring-boot-starter-actuator는 Spring Boot 애플리케이션의 운영(운용/운영자 관점) 기능을 제공하는 라이브러리입니다.
즉, 모니터링, 헬스 체크, 메트릭, 환경 정보 확인 등을 쉽게 사용할 수 있도록 도와줍니다.
✅ spring-boot-starter-actuator란?
Spring Boot 애플리케이션에 대한 운영 정보와 상태를 REST 엔드포인트로 제공하는 스타터입니다.
운영자가 서버 상태를 모니터링하거나, DevOps 도구(Prometheus, Grafana 등)와 연동할 때 사용됩니다.
🔧 대표 기능들
기능 설명 기본 경로
/actuator/health | 애플리케이션의 헬스 상태 | /actuator/health |
/actuator/info | 애플리케이션 정보 (버전, 이름 등) | /actuator/info |
/actuator/metrics | JVM, CPU, HTTP 요청 등 메트릭 | /actuator/metrics |
/actuator/beans | 등록된 Bean 목록 | /actuator/beans |
/actuator/env | 현재 환경 변수 정보 | /actuator/env |
/actuator/loggers | 로그 레벨 조회 및 변경 | /actuator/loggers |
/actuator/threaddump | 쓰레드 덤프 보기 | /actuator/threaddump |
/actuator/httptrace | 최근 HTTP 요청 정보 | /actuator/httptrace |
⚠️ Spring Boot 2.0부터 /actuator 경로 아래로 모든 엔드포인트가 통합되었습니다.
🔐 보안과 노출 설정
기본적으로 민감한 정보는 외부에 노출되지 않도록 비활성화되어 있습니다.
# application.yml 예시
management:
endpoints:
web:
exposure:
include: "*"
endpoint:
health:
show-details: always
🧪 헬스 체크 활용 예
서비스가 살아있는지 확인할 때:
GET /actuator/health
→ {"status": "UP"}
DataSource, Redis, RabbitMQ 등과 연결 상태까지 자동으로 헬스 리포트에 포함할 수 있습니다.
📦 의존성 추가
Gradle:
implementation 'org.springframework.boot:spring-boot-starter-actuator'
📊 Prometheus & Grafana 연동 (추가 라이브러리)
implementation 'io.micrometer:micrometer-registry-prometheus'
management:
endpoints:
web:
exposure:
include: health,info,metrics,prometheus
이렇게 하면 /actuator/prometheus 엔드포인트가 생성되고 Prometheus가 수집 가능해집니다.
🏁 정리
항목 설명
목적 | Spring Boot 앱 상태를 외부에서 확인 가능하게 |
주요 기능 | 헬스 체크, 메트릭, 로그 설정, 환경 정보 등 |
DevOps 연동 | Prometheus, Grafana, ELK, Spring Admin 등과 연동 |
보안 설정 | 필요 시 엔드포인트 노출 여부 및 인증 적용 가능 |