Spring Boot + Actuator + Micrometer로 Prometheus 연동하기

코딩을 합시다·2023년 3월 12일
0

우선 의존성을 추가해준다.

build.gradle

implementation 'org.springframework.boot:spring-boot-starter-actuator' // (1)
implementation 'io.micrometer:micrometer-core' // (2)
implementation 'io.micrometer:micrometer-registry-prometheus' // (3)

(1) : 스프링 부트 애플리케이터(Actuator)를 구성하는 라이브러리입니다. Actuator를 사용하면 애플리케이션의 상태, 구성, 로그, 메트릭 등을 노출할 수 있습니다.
(2) : Micrometer는 다양한 메트릭 시스템과 연동할 수 있는 벤더-중립적인 메트릭 수집 라이브러리입니다. 이 라이브러리는 애플리케이션에서 메트릭 데이터를 수집하고 노출하는 데 사용됩니다.
(3) : 이 라이브러리를 추가하면 애플리케이션에서 수집한 메트릭 데이터를 Prometheus 서버에 노출할 수 있습니다.

Actuator 설정

application.yml

management:
  endpoint:
    metrics:
      enabled: true
    prometheus:
      enabled: true
  endpoints:
    web:
      exposure:
        include: health, info, metrics, prometheus
  metrics:
    tags:
      application: monitoring

application.yml이 성공적으로 설정되었으면 아래와 같은 로그가 뜨게된다.

INFO 12928 --- [           main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 4 endpoint(s) beneath base path '/actuator'

prometheus.yml에 추가해주자

global:
  scrape_interval: 15s
  evaluation_interval: 15s
scrape_configs:
  - job_name: '{name}'
    metrics_path: '/actuator/prometheus'
    static_configs:
      - targets: ['{서버 url}:{port}']

이렇게 설정해주고 prometheus를 실행해주면 spring boot에서 수집한 메트릭을 prometheus에서 수집해서 사용 할 수 있다.

잘 적용된 모습을 볼 수 있다.

0개의 댓글