Spring Boot + Prometheus + Grafana로 모니터링 대시보드 만들기

Jun_k·2026년 1월 31일

Spring

목록 보기
2/9
post-thumbnail

1. Spring Boot 설정 (Actuator + Prometheus 메트릭 노출)

의존성 추가 (Gradle, Java 17+)

dependencies {
  implementation 'org.springframework.boot:spring-boot-starter-actuator'
  runtimeOnly 'io.micrometer:micrometer-registry-prometheus'
}

(Actuator가 엔드포인트를 만들고,
Prometheus registry가 Prometheus 포맷으로 메트릭을 내보냅니다.)


application.yml 설정

이 상태에서 자동으로 생성되는 핵심 URL은 아래와 같습니다. (공식 문서 명시)
(출처: Spring Boot Actuator Prometheus Endpoint 문서)

기능URL
헬스 체크/actuator/health
메트릭 목록/actuator/metrics
Prometheus 스크랩 엔드포인트/actuator/prometheus

단, 실무에서는 필요한 것만 명시하여 노출하는 것이 보안상 안전합니다.


2. Prometheus 설치 & 실행

Prometheus

설명

  • 서버·애플리케이션의 상태를 “숫자(메트릭)”로 수집·저장하는 도구
    애플리케이션이 노출한 메트릭을 주기적으로 가져와 저장하는 모니터링 시스템

동작 방식(Pull 방식)

  1. Spring Boot 앱이 /actuator/prometheus 같은
    엔드포인트에 현재 상태를 숫자로 노출
  2. Prometheus가 주기적으로 직접 요청(Pull) 해서 가져감
  3. 가져온 값을 시간 순서(Time Series)로 저장
항목역할
성격모니터링 서버
저장Time Series DB
수집 방식Pull
강점신뢰성, 자동화, 경량
약점UI가 불친절
  • UI가 불친절하기에 한눈에 쉽게 보려면 Grafana가 필요하다.

설치 및 설정 방법
https://prometheus.io/download/

  1. 원하는 버전과 OS를 선택후 설치합니다. (제 기준으론 windows로 설치하였습니다.)
  1. 다운로드한 폴더 내의 설정 파일을 수정하여 Spring Boot 프로젝트를 바라보게 합니다.
  1. 정상 작동 확인 (Web UI)

    • 주소: http://localhost:9090

    • 확인할 부분: 상단 메뉴의 Status -> Targets를 클릭합니다.

    • 상태 확인: 아까 설정한 spring-actuator 항목의 State가 UP으로 표시되어야 합니다. 만약 DOWN이라면 Spring Boot 프로젝트가 실행 중인지,
      혹은 포트 번호가 맞는지 확인해야 합니다.


3. Grafana(그라파나) 설치 & 실행

Grafana(그라파나)

설명

  • Prometheus 같은 데이터 소스의 숫자를 그래프·차트로 시각화하는 도구

Grafana가 하는 일

  • Prometheus에 쿼리 요청
  • 결과 데이터를 그래프로 표현
  • 대시보드로 저장·공유
  • 데이터는 Prometheus에 있음
  • Grafana는 “뷰(View)” 역할

Prometheus + Grafana 관계

[ Spring Boot App ]
        ↓ (메트릭 노출)
[ Prometheus ]
        ↓ (쿼리)
[ Grafana ]
        ↓
[ 사람이 보는 대시보드 ]

설치 및 설정 방법
https://grafana.com/grafana/download

  1. 원하는 버전과 OS를 선택후 설치합니다.
    (제 기준으론 windows로 설치하였습니다.)
  1. 설치 후 터미널에서 grafana-server.exe 파일을 실행합니다.
    (초기 계정 정보: ID/PW: admin)
  • 비밀번호 변경: 처음 로그인하면 비밀번호를 바꾸라는 창이 뜹니다. 나중에 기억하기 쉬운 것으로 바꾸거나 Skip 하셔도 됩니다.
  1. http://localhost:3000 주소로 접속합니다.
  1. 내 데이터를 보여줄 대시보드 만들기 (표준 대시보드)
    이미 잘 만들어져 있는 '표준 대시보드' 설정값을 그대로 복사해와서
    효율적으로 사용이 가능합니다.

    • Grafana 왼쪽 메뉴: Dashboards -> New -> Import를 클릭합니다.

    • ID 입력: Import via grafana.com 칸에 11378
      (Spring Boot Statistics 대시보드 번호)을 입력하고 Load를 누릅니다.

    • 설정: 하단 Prometheus 선택 칸에서 아까 만든 데이터 소스 이름을
      선택하고, Import를 누릅니다.

    • 결과: JVM 상태, CPU 사용량, 힙 메모리, 톰캣 스레드 상태 등이
      정리된 완성형 대시보드가 바로 나타납니다.

profile
개발을 즐겨보자.

0개의 댓글