Grafana & Prometheus

도커 컨테이너로 실행

docker-compose.yml

version: '3.3'

services:
  prometheus:
    image: bitnami/prometheus:2.55.0
    container_name: prometheus
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml  # Prometheus 설정 파일
    ports:
      - "9090:9090"

  grafana:
    image: grafana/grafana:main
    container_name: grafana
    ports:
      - "3000:3000"
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=admin  # 기본 관리자 비밀번호 설정 (필요시 변경)

  node_exporter:
    image: bitnami/node-exporter:1.8.2
    container_name: node_exporter
    ports:
      - "9100:9100"
    command:
      - '--path.rootfs=/host'
    volumes:
      - /:/host:ro  # 호스트의 시스템 정보를 수집하기 위해 / 경로 마운트

prometheus.yml

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'node_exporter'
    static_configs:
      - targets: ['node_exporter:9100']  # Node Exporter 컨테이너를 타겟으로 지정

도커 컴포즈 설치

Install Compose standalone

sudo curl -L "<https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-$>(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 권한 부여
sudo chmod +x /usr/local/bin/docker-compose

# 심볼릭 링크 설정
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

# 버전확인
docker-compose --version

Docker Swarm 모니터링

Docker Tutorial - How to monitor docker swarm with prometheus and grafana

docker network create --driver overlay swarm-net

vi docker-compose.yml