Go to file
woozu-shin 52b62f06a3 [NO-ISSUE] Initialize project 2025-06-08 15:53:03 +09:00
grafana/provisioning [NO-ISSUE] Initialize project 2025-06-08 15:53:03 +09:00
prometheus [NO-ISSUE] Initialize project 2025-06-08 15:53:03 +09:00
README.md [NO-ISSUE] Initialize project 2025-06-08 15:53:03 +09:00
docker-compose.yml [NO-ISSUE] Initialize project 2025-06-08 15:53:03 +09:00
start.sh [NO-ISSUE] Initialize project 2025-06-08 15:53:03 +09:00

README.md

Docker Monitoring Stack

이 프로젝트는 Docker 컨테이너의 CPU, 메모리, 네트워크, 디스크 사용량을 모니터링하기 위한 Prometheus + Grafana 스택입니다.

구성 요소

  • Prometheus: 메트릭 수집 및 저장
  • Grafana: 시각화 대시보드
  • cAdvisor: Docker 컨테이너 메트릭 수집
  • Node Exporter: 시스템 메트릭 수집

사용 방법

1. 스택 시작

./start.sh

또는 직접 docker-compose 사용:

docker-compose up -d

2. 접속 정보

3. 대시보드

Grafana에 자동으로 프로비저닝되는 대시보드:

  • Docker Container Monitoring
    • 컨테이너 CPU 사용률
    • 컨테이너 메모리 사용량
    • 네트워크 I/O
    • 디스크 I/O

4. 스택 중지

docker-compose down

5. 로그 확인

docker-compose logs -f

파일 구조

├── docker-compose.yml              # 메인 컨테이너 설정
├── prometheus/
│   └── prometheus.yml              # Prometheus 설정
├── grafana/
│   └── provisioning/
│       ├── datasources/
│       │   └── datasource.yml      # Prometheus 데이터소스 설정
│       └── dashboards/
│           ├── dashboard.yml       # 대시보드 프로비저닝 설정
│           └── docker-dashboard.json # Docker 모니터링 대시보드
├── start.sh                        # 시작 스크립트
└── README.md                       # 이 파일

주요 메트릭

  • container_cpu_usage_seconds_total: 컨테이너 CPU 사용시간
  • container_memory_usage_bytes: 컨테이너 메모리 사용량
  • container_network_receive_bytes_total: 네트워크 수신 바이트
  • container_network_transmit_bytes_total: 네트워크 송신 바이트
  • container_fs_reads_bytes_total: 디스크 읽기 바이트
  • container_fs_writes_bytes_total: 디스크 쓰기 바이트

문제 해결

  1. 포트 충돌: 다른 서비스에서 포트를 사용 중인 경우 docker-compose.yml의 포트를 변경하세요.
  2. 권한 문제: cAdvisor가 Docker 메트릭에 접근하려면 권한이 필요합니다.
  3. 데이터 지속성: Docker 볼륨을 사용하여 Prometheus와 Grafana 데이터가 보존됩니다.