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 컨테이너를 타겟으로 지정
도커 컴포즈 설치
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 Tutorial - How to monitor docker swarm with prometheus and grafana
docker network create --driver overlay swarm-net
vi docker-compose.yml