프로그래밍 언어/JAVA, SPRING

[SPRING BOOT] Actuator

doomole 2024. 7. 17. 17:20
728x90

소개

Spring Boot Actuator는 애플리케이션의 운영 환경에서 유용한 다양한 모니터링 및 관리 도구를 제공합니다. 이를 통해 애플리케이션의 상태, 메트릭스, 요청 추적 등을 쉽게 확인할 수 있습니다.

 

 

주요 기능

엔드포인트: 다양한 엔드포인트를 제공하여 애플리케이션의 상태와 정보를 노출합니다.

  • /actuator/health: 애플리케이션의 상태를 확인합니다.
  • /actuator/metrics: 다양한 메트릭스를 제공합니다.
  • /actuator/info: 애플리케이션의 일반 정보를 노출합니다.

 

 

설정 방법

의존성 추가: build.gradle 파일에 Spring Boot Actuator 의존성을 추가합니다.

 

build.gradle

// https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-actuator
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version: '3.3.1'

 

application.properties

management.endpoints.web.exposure.include=health,info,metrics

 

 

커스터마이징

Actuator 엔드포인트를 커스터마이징하여 필요에 맞게 설정할 수 있습니다.

 

CustomInfoContributor.java

import org.springframework.boot.actuate.info.Info;
import org.springframework.boot.actuate.info.InfoContributor;
import org.springframework.context.annotation.Configuration;
import java.util.HashMap;
import java.util.Map;

@Configuration
public class CustomInfoContributor implements InfoContributor {
    @Override
    public void contribute(Info.Builder builder) {
        Map<String, Object> customInfo = new HashMap<>();
        customInfo.put("app", "Demo Application");
        customInfo.put("version", "1.0.0");
        builder.withDetails(customInfo);
    }
}

 

 

보안 설정

Actuator 엔드포인트에 보안을 추가하여 민감한 정보에 대한 접근을 제한할 수 있습니다.

 

application.properties

management.endpoints.web.exposure.include=health,info
management.endpoint.health.show-details=always
management.endpoint.health.roles=ACTUATOR
spring.security.user.name=admin
spring.security.user.password=secret

 

 

문의사항이나 피드백은 댓글로 남겨주세요.