Skip to content

스프링 메트릭 모니터링 구축 방법

김경미 edited this page Aug 9, 2024 · 1 revision

스프링 메트릭은 프로메테우스, 그라파나을 이용해서 구현

해당 위키에서는 구축 방법에 대해 이야기하고자 함

더 자세한 이야기는 해당 디스커션에서 확인해주세요


메트릭 설정 - 스프링 액추에이터

정의

스프링에서 제공하는 Spring Boot Actuator를 통해 스프링 애플리케이션의 메트릭을 쉽게 수집하고 모니터링할 수 있다.

구축 방법

1. 의존성 추가

build.gradle

implementation 'org.springframework.boot:spring-boot-starter-actuator'

2. actualtor.yml 파일 제작 및 설정

acpplication-actuator.yml

management:  
  endpoints:  
    web:  
      exposure:  
        include: health,info,metrics,prometheus # 어떤 메트릭 데이터를 보고 싶은지
  endpoint:  
    health:  
      show-details: always

health,info,metrics,prometheus 정보를 가져온다

application.yml : active profile에 추가

spring:  
  profiles:  
    active:  
      - local  
      - db  
      - actuator

3. 메트릭 정보 확인

http://localhost:8080/actuator

[서버URL]/actuator


메트릭 수집 - Micrometer

정의

다양한 모니터링 시스템이 많은데 각 모니터링 시스템마다 원하는 메트릭의 형태가 다르다.

Micrometer는 이 메트릭을 추상화했기 때문에, 사용할 모니터링 시스템에 맞는 Micrometer 구현체를 사용하면 그 시스템에 맞는 메트릭을 제공해준다.

그러면 , 애플리케이션의 메트릭을 마이크로미터가 정한 표준 방법으로 모아서 제공해준다.

구축 방법

1. 구현체 의존성 추가

build.gradle

implementation 'io.micrometer:micrometer-registry-prometheus'

메트릭 저장 - 프로메테우스

정의

프로메테우스 : 메트릭 데이터저장소

오픈소스 모니터링 및 경고 툴로, 시계열 데이터베이스를 사용하여 메트릭을 수집하고 저장합니다.

구축 방법

1. prometheus.yml 파일 생성

prometheus-config/prometheus.yml

global:  
  scrape_interval: 15s # 어떤 시간에 한번씩
  
scrape_configs:  
  - job_name: 'code-zap-spring'  
    metrics_path: '/actuator/prometheus'  
    static_configs:  
      - targets: ['host.docker.internal:8080'] # 메트릭을 보고 싶은 서버

docker-compose.yml 파일과 동일한 폴더에서 prometheus-config 만들고 생성

2. docker-compose 파일 생성

docker-compose.yml

version: '3'  
services:  
  prometheus:  
    image: prom/prometheus  
    container_name: prometheus  
    ports:  
      - "9090:9090"  
    volumes:  
      - ./prometheus-config:/etc/prometheus  
    command:  
      - "--config.file=/etc/prometheus/prometheus.yml"  
      - "--web.external-url=/prometheus"  
    restart: unless-stopped  

프로메테우스 - 9090 포트에서 실행

3. docker 실행

docker-compose up -d 

docker-compose.yml 파일 위치에서 명령어 실행

4. 프로메테우스 확인

localhost:9090/prometheus

메트릭 시각화 도구 - 그라파나

정의

그라파나 : 시각화 도구

구축 방법

1. docker-compose 파일 생성

docker-compose.yml

version: '3'  
services:  
  grafana:  
    image: grafana/grafana  
    container_name: grafana  
    ports:  
      - "3000:3000"  
    restart: unless-stopped

그라파나 - 3000 포트에서 실행

2. docker 실행

docker-compose up -d 

docker-compose.yml 파일 위치에서 명령어 실행

3. 그라파나 실행

localhost:3000/prometheus

4. 로그인

5. Data sources 추가

1) Prometheus 선택
2) Prometheus url 넣기
http://host.docker.internal:9090/prometheus

Pasted image 20240808170605

3) save & test

Pasted image 20240808171046

5. 대시보드 제작

1) 대시보드 제작 시작

test 성공 시 보여지는 알림창에서 buildings a dashboard 선택

-> 대시보드 제작 창 생성

2) 대시보드 디자인 import

6. 대시보드 완성

⚡️ 코드zap

프로젝트

규칙 및 정책

공통

백엔드

프론트엔드

매뉴얼

백엔드

기술 문서

백엔드

프론트엔드

회의록


Clone this wiki locally