▼ 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, 윈도우는 설치 폴더 경로
- metrics_path 을 아래와 같이 설정한다.
- targets 을 스프링부트 웹 애플리케이션으로 주소로 설정한다.
- 현재는 도커 기준이라 host.docker.internal로 되어있다. 예) http://localhost:8080
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
데이터 소스 추가
대시 보드 추가
대시보드
반응형