programing

프로그래밍 방식으로 spring-boot-metric에서 메트릭을 가져오는 방법은 무엇입니까?

oldcodes 2023. 7. 18. 21:57
반응형

프로그래밍 방식으로 spring-boot-metric에서 메트릭을 가져오는 방법은 무엇입니까?

우리는 생산 중인 봄 응용 프로그램이 있습니다.스프링 부트가 아닙니다.스프링 부트가 아닌 애플리케이션에서 스프링 부트 액츄에이터를 사용하는 방법에 대한게시물을 발견했습니다.

하지만 /metrics endpoint의 데이터를 집계하여 이에 대한 분석을 수행하고 상태 표시기를 보고해야 합니다.

예를 들어 다음과 같은 힙 매개 변수를 사용할 수 있습니다.{"heap.committed":480768,"heap.init":262144,"heap.used":294461,"heap":3728384,"threads.peak":37}응용 프로그램의 상태를 나타냅니다(FATAL, WARN 또는 Healthy).

이것은 단지 예시일 뿐입니다.우리의 요구사항은 더 복잡합니다.사실, 우리는 이미.status endpoint더 많은 정보를 추가하고 싶은 곳(데이터 기반)/metrics그리고./health의 끝단.spring-boot-actuator).

제가 생각하는 한 가지 방법은 REST 전화를 하는 것입니다./metrics그리고./health애플리케이션 내에서 데이터를 수집하고 집계한 후 응답을 반환합니다.저는 그것이 권장되는 방법이라고 생각하지 않습니다.

만약 제가 이 매개변수들을 직접 추출할 수 있는 빈이 있다면, 저는 자동 배선을 하고 필요할 수 있습니다.(사실, 저는 주기적으로 계산하도록 스케줄을 잡을 것입니다.

에서 반환된 모든 속성에 관심이 있습니다./metrics저는 또한 다음과 같은 것에 관심이 있습니다./health.

{"diskSpace":{"status":"UP","free":386186194944,"threshold":10485760}}

어떤 콩을 자동 배선하고 이러한 속성을 무료로 받아야 합니까!

감사해요.

편집

게시물은 다음과 같습니다.@Autowired MetricRepository그러나 어떤 이유에서인지 사용자 지정 카운터 속성만 반환합니다.힙, 메모리 정보 등을 반환하지 않습니다. 예: Reporting metric counter.calls.get_greeting=4 Reporting metric counter.calls.get_greeting.1=1 Reporting metric counter.calls.get_greeting.2=1 Reporting metric counter.calls.get_greeting.3=1 Reporting metric counter.calls.get_greeting.4=1 Reporting metric counter.status.200.greeting.number=4 Reporting metric counter.status.404.star-star=1

의 출력/metrics에 의해 생산됩니다.MetricsEndpoint그것은 당신이 먹을 수 있는 콩으로 이용 가능합니다.@Autowired.부르기invoke그 위에 당신이 원하는 데이터를 제공해야 합니다.

동일한 작업을 수행할 수 있습니다./health와 함께HealthEndpoint.

언급URL : https://stackoverflow.com/questions/32382349/how-to-get-metrics-from-spring-boot-actuator-programmatically

반응형