먼저, 로컬 환경에 프로메테우스, 그라파나 붙여보자 🔥

먼저 docker-compose.yml에 둘을 붙인다.

  prometheus:
    container_name: prometheus
    image: prom/prometheus
    restart: always
    volumes:
      - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
      - 9090:9090
    networks:
      - splanet

  grafana:
    container_name: grafana
    image: grafana/grafana
    restart: always
    volumes:
      - grafana-storage:/var/lib/grafana
    ports:
      - 3000:3000
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD}
    networks:
      - splanet

volumes:
  grafana-storage:

또, 프로메테우스에 대해 yml 파일도 작성해줘야한다.

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'springboot'
    static_configs:
      - targets: ['springboot:8080']
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

이렇게해서

docker compose up -d

를 해서 localhost:3000을 접속하면

grafana page가 뜨는데

여기서 Dashboards를 생성해야한다.

스크린샷 2024-11-07 04.55.15.png

그렇게 dashboard를 생성+add visualization을 하면

image.png

이러한 페이지가 나온다 이때, prometheus를 선택한다

다음으로 확인할 것은

prometheus에 관련 라이브러리를 넣는 것인데, 예시로 CPU 사용량을 넣어보려고 한다. CPU사용량은 node-exporter를 이용하는데

관련 docker-compose.yml을 작성해야한다.

  node-exporter:
    image: prom/node-exporter
    ports:
      - "9100:9100"
    networks:
      - splanet

prometheus.yml에도 붙여줘야한다.