• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

spring boot actuator 관련하여 문의

23.09.21 10:29 작성 조회수 276

1

안녕하세요

이것저것 다 찾아봤는데도 아직 개념이 부족하여 문의를 드립니다.

간단하게 제가 하고 싶은건 POD가 3개인 spring boot 어플리케이션이 있고

그 POD를 호출하여 URL로 메트릭에 정보를 가져오고 싶거든요

어플리케이션 exporter들이 존재하던데요... nginx exporter 같은 것으로 해결하면 좋을텐데 그런게 없는것 같아서요 ...

ㅜ.ㅜ 부탁드립니다

 

 

 

답변 1

답변을 작성해보세요.

2

안녕하세요 brunosongkr

spring에서 제공하는 액츄에이터는 강의에서 다루는 MetalLB와 같은 애플리케이션이 메트릭을 공개하고 있습니다.

따라서, 별도로 익스포터를 배포하실 필요는 없고 스프링부트에서 공개하는 URL를 통해 프로메테우스 서버가 메트릭을 수집할 수 있도록 설정해주시면 됩니다.

예를 들어서 코드를 전달드리자면 springboot-demo.internal 라는 호스트에 8080으로 배포되어 있는 스프링부트 서버에 프로메테우스 서버가 스프링부트 메트릭을 가져오게끔 하기 위해서 아래과 같은 설정 코드를 프로메테우스 설정에 추가해주시면 됩니다.

dns_sd_configs는 스프링부트 서버에 대해서 ip를 찾아오는 것을 넣는 것이고, 스프링 액츄에이터 경로는 metrics_path 를 통해서 설정이 가능합니다.

  - job_name: springboot-prometheus-zone-a
    dns_sd_configs:
    - names:
        - 'springboot-demo.internal'
      type: A
      port: 8080
    metrics_path: '/actuator/prometheus'

마지막으로 위 구성을 적용하기 위해서 스프링 액츄에이터를 사용할 때 마이크로미터 설정으로 프로메테우스에 대한 설정이 추가로 필요합니다.

스프링부트와 프로메테우스 연결에 도움이 되시길 바랍니다.

감사합니다.
문성주 드림

답변 너무 감사합니다 ㅜ.ㅜ

POD 가 3개면 springboot-demo.internal 를 호출할때 POD를 한번씩 호출하는거 아닌가요?

1번 파드에서 리퀘스트 카운트가 3 이고 2번 파드에서 리퀘스트 카운트가 3이면 한번은 3 한번은 4 뭐 이런식으로 가져오게 되는거 아닐까요?

 

dns_sd_configs ... 이게 뭔가를 해주는것 같군요

친절한 설명과 예제까지 너무 감사드립니다. 지식공유자님의 모든 강의를 신청해야겠습니다

감사합니다.