작성
·
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'
마지막으로 위 구성을 적용하기 위해서 스프링 액츄에이터를 사용할 때 마이크로미터 설정으로 프로메테우스에 대한 설정이 추가로 필요합니다.
스프링부트와 프로메테우스 연결에 도움이 되시길 바랍니다.
감사합니다.
문성주 드림
답변 너무 감사합니다 ㅜ.ㅜ
POD 가 3개면 springboot-demo.internal 를 호출할때 POD를 한번씩 호출하는거 아닌가요?
1번 파드에서 리퀘스트 카운트가 3 이고 2번 파드에서 리퀘스트 카운트가 3이면 한번은 3 한번은 4 뭐 이런식으로 가져오게 되는거 아닐까요?
dns_sd_configs ... 이게 뭔가를 해주는것 같군요
친절한 설명과 예제까지 너무 감사드립니다. 지식공유자님의 모든 강의를 신청해야겠습니다
감사합니다.