▼ Backend/스프링 (Spring)

Spring Boot | Prometheus + Grafana 모니터링

Valar 2023. 2. 10. 15:21
반응형

모니터링 시스템 구축

스프링 부트 웹 애플리케이션을 배포한 뒤 프로메테우스, 그라파나로 모니터링 시스템을 구축한다.

구성환경

Spring Boot, Gradle, Docker

Prometheus

  • Metrics를 수집하고 모니터링 및 알람에 사용되는 오픈소스 애플리케이션
  • Pull 방식의 구조와 다양한 Metrics Exporter 제공
  • 시계열 DB에 Metrics 저장 -> 조회 가능

Grafana

  • 데이터 시각화, 모니터링 및 분석을 위한 오픈소스 애플리케이션
  • 시계열 데이터를 시각화하기 위한 대시보드 제공

build.gradle

implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'io.micrometer:micrometer-registry-prometheus'

application.yml

management:
  endpoints:
    web:
      exposure:
        include: health, info, metrics, prometheus

프로메테우스(Prometheus) 설치

  • 직접 설치
  • 도커로 설치
    • docker run -d --name=prometheus -p 9090:9090 prom/prometheus

prometheus.yml 수정 (경로: /etc/prometheus, 윈도우는 설치 폴더 경로

  1. metrics_path 을 아래와 같이 설정한다.
  2. targets 을 스프링부트 웹 애플리케이션으로 주소로 설정한다.
scrape_configs:
  - job_name: 'spring--app'
    metrics_path: '/actuator/prometheus'
    static_configs:
      - targets: ['host.docker.internal:8080']

 

프로메테우스 실행

http://localhost:9090 접속 후 Status탭 → Targets에 스프링부트 웹 애플리케이션이 등록되어 실행중인지 확인한다.

Graph 탭으로 이동해서 jvm_memory_used_bytes 입력 후 실행(Execute)하면 메모리 사용량을 확인 할 수 있다.

 

그라파나(Grafana) 설치
  • 직접 설치 
  • 도커로 설치
    • docker run -d --name=grafana -p 3000:3000 grafana/grafana

 

그라파나(Grafana) 접속

http://localhost:3000 주소로 접속한다. 초기 계정은 admin/admin

 

데이터 소스 추가

 

 

대시 보드 추가

 

 

 

 

대시보드

 

 

반응형