카테고리 없음

Spring Boot Actuator-커스텀 엔드 포인트

기록만이살길 2021. 2. 25. 06:30
반응형

Spring Boot Actuator-커스텀 엔드 포인트

1. 질문(문제점):

Spring Boot Actuator내 프로젝트에서 REST 엔드 포인트 URL을 노출 하는 모듈을 사용하여 코딩 및 구성없이 프로덕션 환경에서 애플리케이션 사용을 모니터링하고 관리합니다.

기본적으로 /health/info끝점 만 노출됩니다.

application.properties사용 사례에 따라 파일을 통해 엔드 포인트를 사용자 지정하고 있습니다.

application.properties.

#To expose all endpoints
management.endpoints.web.exposure.include=*
 
#To expose only selected endpoints
management.endpoints.jmx.exposure.include=health,info,env,beans

나는 정확히 어디에 봄 부팅에 대한 실제 엔드 포인트를 작성 않습니다 이해하고자 /health하고 /info어떻게 HTTP를 통해 그들에게 노출 하는가?

2. 해결방안:

참조 문서 및 코드 저장소를 도와 준 @Puce 및 @MarkBramnik에게 감사드립니다.

엔드 포인트가 작동하는 방식과 HTTP를 통해 노출되는 방식을 이해하여 애플리케이션에서 활용할 사용자 지정 엔드 포인트를 만들 수 있기를 원했습니다.

Spring Framework의 가장 큰 특징 중 하나는 확장이 매우 쉽다는 것입니다.

사용자 지정 액추에이터 끝점을 만들려면 클래스에서 @Endpoint 주석을 사용합니다. 그런 다음 메소드에서 @ReadOperation/ @WriteOperation/ @DeleteOperation주석을 활용 하여 필요에 따라 액추에이터 엔드 포인트 빈으로 노출합니다.

참조 문서 : 커스텀 엔드 포인트 구현

참조 예 :

@Endpoint(id="custom_endpoint")
@Component
public class MyCustomEndpoint {

    @ReadOperation
    @Bean
    public String greet() {
        return "Hello from custom endpoint";
    }
}

활성화 할 액추에이터 엔드 포인트 목록에서 엔드 포인트 ID 즉 custom_endpoint를 구성해야합니다.

application.properties :

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

다시 시작하면 끝 점이 매력처럼 작동합니다!

65806434
반응형