인프런 커뮤니티 질문&답변

brunosongkr님의 프로필 이미지
brunosongkr

작성한 질문수

실습으로 배우는 프로메테우스 - {{ x86-64, arm64 }}

spring boot actuator 관련하여 문의

작성

·

349

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'

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

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

감사합니다.
문성주 드림

brunosongkr님의 프로필 이미지
brunosongkr
질문자

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

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

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

 

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

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

감사합니다.

 

 

 

 

brunosongkr님의 프로필 이미지
brunosongkr

작성한 질문수

질문하기