개발 공부 기록/07. TIL

스프링 부트 핵심가이드 TIL - 9장 (액추에이터)

박세류 2023. 10. 12. 21:16

✍학습 키워드

액추에이터

  • 스프링 부트 액추에이터는 HTTP 엔드포인트나 JMX를 활용해 애플리케이션을 모니터링하고 관리할 수 있는 기능을 제공한다.
    • JMX(Java Management Extensions)는 실행 중인 애플리케이션의 상태를 모니터링하고 설정을 변경할 수 있게 해주는 API이다.
    • 액추에이터를 추가하면 기본적으로 엔드포인트 URL로 /actuator가 추가되며 이 뒤에 경로를 추가해 상세 내역에 접근한다.
    • 엔드포인트는 활성화 여부와 노출 여부를 설정할 수 있는데, 활성화는 기능 자체를 활성화 하는지 결정하고, 비활성화된 엔드포인트는 애플리케이션 컨텍스트에서 완전히 제거된다.
    • ## 엔드포인트 활성화 management.endpoint.shutdown.enabled = true management.endpoint.caches.enabled = false

📝새로 배운 개념

액추에이터에 커스텀 기능 만들기

첫 번째는 기존 기능에 내용을 추가하는 방식이고, 두 번째는 새로운 엔드포인트를 개발하는 방식이다.

  • 엑추에이터에서는 InfoContributor 인터페이스를 제공하고 있는데, 이 인터페이스를 구현하는 클래스를 생성하여 결과를 더 나타내 줄 수 있다.
@Component
public class CustomInfoContributor implements InfoContributor {

    @Override
    public void contribute(Info.Builder builder) {
        Map<String, Object> content = new HashMap<>();
        content.put("code-info", "InfoContributor 구현체에서 정의한 정보입니다.");
        builder.withDetail("custom-info-contributor", content);
    }

}
  • 엔드포인트 클래스 생성
    • @Endpoint 어노테이션으로 빈에 추가된 객체들은 @ReadOperation, @WriteOperation, @DeleteOperation 어노테이션을 사용해 엔드포인트를 노출시킬 수 있다.
728x90