[공부정리] Spring Actuator 사용하기

jeyong·2024년 2월 29일
0

공부 / 생각 정리  

목록 보기
30/120
post-custom-banner


이번에 작성할 주제는 Spring Actuator를 이용하여 모니터링이나 매트릭(metric)과 같은 기능을 HTTP와 JMX 엔드포인트를 통해 사용하는 방법을 작성하겠다.

1. 사용 방법

사용하는 방법은 Spring Actuator에 대해서 공부하며 알게된, 잘 정리 되어있는 글을 추천하고 넘어가겠다.

https://incheol-jung.gitbook.io/docs/study/srping-in-action-5th/chap-16.

참고로 Spring 3 버전부터 HttpTrace 대신 HttpExchanges로 이름이 변경되었다.
아래 게시글을 참고해서 변경하는 것을 추천한다.

https://www.appsdeveloperblog.com/how-to-enable-actuators-httptrace-in-spring-boot-3/

2. 주의 사항

위에서 보았던 것 처럼, Spring Actuator는 개발자에게 많은 편의를 제공하지만, 잘못 사용되었을 때는 보안상 심각한 위험을 초래할 수 있다. 이에 대해 우아한 기술 블로그에 잘 정리되어있기 때문에 해당 글을 추천하고 넘어가겠다.

https://techblog.woowahan.com/9232/

3. 사용 예시

3-1 .application.yml

management:
  endpoints:
    enabled-by-default: false
    web:
      exposure:
        include: info, refresh, health, beans, httpexchanges
    jmx:
      exposure:
        exclude: '*'
  endpoint:
    info:
      enabled: true
    refresh:
      enabled: true
    health:
      enabled: true
    beans:
      enabled: true
    httpexchanges:
      enabled: true

지금까지의 게시글들을 종합하여 구현하면 해당 예시와 같다.

3-2. ActuatorHttpExchangesConfiguration

package com.sjy.apigatewayservice.config;

import org.springframework.boot.actuate.web.exchanges.HttpExchangeRepository;
import org.springframework.boot.actuate.web.exchanges.InMemoryHttpExchangeRepository;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class ActuatorHttpExchangesConfiguration {
    @Bean
    public HttpExchangeRepository httpTraceRepository() {
        return new InMemoryHttpExchangeRepository();
    }
}

httpexchanges 를 사용하기 위한 HttpExchangeRepository 이다.

profile
노를 젓다 보면 언젠가는 물이 들어오겠지.
post-custom-banner

0개의 댓글