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를 통해 그들에게 노출 하는가?
참조 문서 및 코드 저장소를 도와 준 @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
다시 시작하면 끝 점이 매력처럼 작동합니다!