Monitoring

[MONITORING] Prometheus + Grafana + docker

KJihun 2026. 3. 31. 13:51
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