상세 컨텐츠

본문 제목

Java Spring Tip] Spring Actuator 설정

ChatGPT 형님이 알려줌

by With AI Life 2024. 7. 18. 21:36

본문

* 이 글은 ChatGPT를 이용하여 작성한 후, 블로그 게시를 위하여 편집하였습니다.

Prompt: spring actuator 설정

Answer:

Spring Actuator는 Spring Boot 애플리케이션의 모니터링 및 관리 기능을 제공하는 유용한 도구입니다. 이를 사용하면 애플리케이션의 다양한 메트릭, 상태, 환경 정보 등을 쉽게 확인할 수 있습니다. Spring Actuator를 설정하는 방법을 단계별로 설명드리겠습니다.

1. 의존성 추가

Spring Boot 프로젝트의 build.gradle 또는 pom.xml 파일에 Spring Actuator 의존성을 추가해야 합니다.

Gradle

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

Maven

<dependencies> 
  <dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-actuator</artifactId> 
  </dependency> 
</dependencies>

2. 애플리케이션 설정

application.properties 또는 application.yml 파일에서 Actuator 엔드포인트를 설정할 수 있습니다.

application.properties

management.endpoints.web.exposure.include= * 
management.endpoint.health.show-details= always

application.yml

management: 
    endpoints: 
        web: 
            exposure: 
                include: "*" 
    endpoint: 
        health: 
            show-details: always

3. 보안 설정 (선택 사항)

Actuator 엔드포인트는 민감한 정보를 포함할 수 있으므로 보안 설정이 중요합니다. Spring Security를 사용하여 엔드포인트에 접근 제어를 설정할 수 있습니다.

Gradle

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

Maven

<dependencies> 
  <dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-security</artifactId> 
  </dependency> 
</dependencies>

보안 설정

Spring Security를 사용하여 보안 구성을 추가할 수 있습니다.

import org.springframework.context.annotation.Configuration; 
import org.springframework.security.config.annotation.web.builders.HttpSecurity; 
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; 

@Configuration 
public class SecurityConfig extends WebSecurityConfigurerAdapter { 
    @Override 
    protected void configure(HttpSecurity http) throws Exception { 
        http.authorizeRequests() 
            .antMatchers("/actuator/**")
            .authenticated() 
            .and() 
            .httpBasic(); 
    } 
}

4. Actuator 엔드포인트 확인

애플리케이션을 실행하고 브라우저나 Postman과 같은 도구를 사용하여 Actuator 엔드포인트에 접근할 수 있습니다.

5. 커스터마이징 (선택 사항)

필요에 따라 Actuator 엔드포인트를 커스터마이징할 수 있습니다. 예를 들어, 특정 엔드포인트를 비활성화하거나 추가 엔드포인트를 정의할 수 있습니다.

특정 엔드포인트 비활성화

management.endpoint.shutdown.enabled=false

요약

Spring Actuator는 애플리케이션의 모니터링 및 관리 기능을 제공하며, 간단한 설정으로 다양한 정보를 확인할 수 있습니다. 위의 단계들을 따라 Actuator를 설정하고, 필요에 따라 보안 및 커스터마이징을 추가하여 사용해 보세요.

첨언.

실제로 엔드포인트를 보면 생각 보다 많은 정보를 표현하고 있고 Spring Boot Admin (https://docs.spring-boot-admin.com/current/) 을 통하여 UI를 통하여 확인을 할 수 있다. 별도의 제품 없이 모니터링용으로 사용하기 나쁘지 않다고 생각한다.

관련글 더보기