728x90
1. Spring Boot에 메트릭 엔드포인트 추가
build.gradle에 Actuator + Micrometer 의존성 추가
// Monitoring
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'io.micrometer:micrometer-registry-prometheus'
application.yml(또는 .properties)에 엔드포인트 노출
management:
endpoints:
web:
exposure:
include: health, info, prometheus
metrics:
tags:
application: dkdk-backend
2. Prometheus + Grafana를 Docker Compose에 추가
prometheus:
image: prom/prometheus:latest
container_name: dkdk_prometheus
restart: always
ports:
- "9090:9090"
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus_data:/prometheus
extra_hosts:
- "host.docker.internal:host-gateway"
grafana:
image: grafana/grafana:latest
container_name: dkdk_grafana
restart: always
ports:
- "3001:3000"
volumes:
- grafana_data:/var/lib/grafana
environment:
GF_SECURITY_ADMIN_USER: admin
GF_SECURITY_ADMIN_PASSWORD: admin
depends_on:
- prometheus
3. Docker Compose 실행
접속 URL
- Prometheus: http://localhost:9090
- Grafana: http://localhost:3001 (ID: admin / PW: admin)
- 메트릭 원본: http://localhost:8080/actuator/prometheus
4. Grafana에서 Prometheus 데이터소스 연결
1. Grafana 로그인 → 좌측 메뉴 → Connections → Data Sources → Add data source
2. Prometheus 선택
3. URL에 http://prometheus:9090 입력 → Save & Test
5. 대시보드 추가
- Grafana 좌측 → Dashboards → Import
- Dashboard ID 4701 입력 (JVM Micrometer 대시보드) → Load → Prometheus 데이터소스 선택 → Import
이후 JVM 메모리, GC, HTTP 요청 수/응답시간 등을 실시간으로 모니터링할 수 있다
'Monitoring' 카테고리의 다른 글
| [MONITORING] 예외발생 시 Slack 으로 알림 보내기 (0) | 2026.04.01 |
|---|