[Spring] 액츄에이터 (Actuator)

2025. 12. 18. 21:24·Spring

액츄에이터 

서비스 운영에서 '모니터링'은 장애 대응의 핵심이다. 단순히 기능을 개발하는 것을 넘어, 운영 단계에서 서비스가 살아있는지, 로그 설정은 정상인지, 커넥션 풀은 얼마나 사용되는지 확인하는 비기능적 요소들을 '프로덕션 준비 기능'이라 부른다. 스프링 부트 액츄에이터는 이러한 지표나 감사 기능을 편리하게 제공한다. 


1) 액츄에이터 시작하기 

액츄에이터를 사용하려면 프로젝트 설정 (`build.gradle`)에 의존성을 추가해야 한다.

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
}

설정 후 서버를 실행하고 `http://localhost:8080/actuator`에 접속하면 사용 가능한 엔드포인트 목록을 확인할 수 있다. 

 

2) 엔드포인트 설정

액츄에이더 기능을 사용하기 위해서는 2가지 단계가 필요하다. 

  • 활성화 : 해당 기능 자체를 켤지 끌지 결정 
  • 노출 : 활성화된 기능을 HTTP나 JMX 어디에 노출할지 결정 

 

모든 엔드포인트를 웹에 노출하는 설정 

management:
  endpoints:
    web:
      exposure:
        include: "*"

 

3) 자주 사용하는 핵심 엔드포인트 

  • `health` : 애플리케이션의 상태를 확인한다. (UP/DOWN) db, 디스크 공간 등 상세 정보를 확인할 수 있다.
  • `info` : 자바 버전, OS 정보, 빌드 정보 등 애플리케이션의 기본 정보를 노출한다.
  • `loggers` : 현재 로깅 설정을 확인하고 서버 재시작 없이 실시간으로 로그 레벨을 변경할 수 있다. 
실시간 로그 레벨 변경하기 
운영 중 장애가 발생했을 때 서버를 끄지 않고 `DEBUG`로그를 남기고 싶다면 ? 
-> `loggers` 엔드포인트를 활용하면 된다. 

Postman을 사용하여 
- Method : `POST` 
- URL : `http://localhost:8080/actuator/loggers`
- Body (JSON) : `{"configuredLevel" : "TRACE"}`

추가) 보안 설정은 필수 ! 

액츄에이터는 내부 정보를 많이 노출하므로 보안이 매우 중요하다. 

1) 포트 분리 : 액츄에이터 전용 포트를 설정하여 내부망에서만 접근하게 한다. (`management.server.port=9292`) 

2) 인증 설정 : 스프링 시큐리티를 통해 인증된 사용자만 접근 가능하도록 제한해야 한다. 

3) 경로 변경 : 기본 `/actuator` 경로를 다른 이름으로 변경할 수 있다. (`management.endpoints.web.base-path : "/manage"`)

'Spring' 카테고리의 다른 글

[Spring] JDBC(Java Database Connectivity)  (0) 2025.12.20
[Spring] @RequestBody JSON 바인딩 원리  (0) 2025.11.28
[Spring] Spring AI와 LangChain4j 비교  (0) 2025.11.24
[Spring] 임베디드 타입 (@Embeddable, @Embedded)  (0) 2025.11.10
[Spring] Lombok 이해하기 - @NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor  (0) 2025.11.04
'Spring' 카테고리의 다른 글
  • [Spring] JDBC(Java Database Connectivity)
  • [Spring] @RequestBody JSON 바인딩 원리
  • [Spring] Spring AI와 LangChain4j 비교
  • [Spring] 임베디드 타입 (@Embeddable, @Embedded)
erika0915
erika0915
백엔드 개발자가 되고 싶어요 .
  • erika0915
    erikoding
    erika0915
  • 전체
    오늘
    어제
    • 분류 전체보기 (78)
      • 프로젝트 (13)
        • 끼니콩 (3)
        • 덕메랑 (3)
        • handDoc (7)
        • Haeil (0)
      • Java (9)
        • 클린코더스 (0)
      • Spring (30)
      • Redis (3)
      • CS (7)
        • 운영체제 (3)
        • 컴퓨터구조 (0)
        • 네트워크 (4)
      • DevOps (2)
      • 코딩테스트 (0)
      • Tech (14)
        • TDD (1)
        • 정리 (5)
        • 우테코 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    STT
    redis
    MongoDB
    TDD
    AI
    스프링
    CoolSMS
    운영체제
    레디스
    코드레빗
    springboot
    깃
    git
    jira
    깃허브
    파인튜닝
    네트워크
    지라
    coderabbit
    스프링부트
    Network
    도커
    docker
    자바
    java
    Spring
    github
    OS
    몽고디비
    promtail
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
erika0915
[Spring] 액츄에이터 (Actuator)

티스토리툴바