|
||
---|---|---|
grafana/provisioning | ||
prometheus | ||
README.md | ||
docker-compose.yml | ||
start.sh |
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. 접속 정보
-
Grafana: http://localhost:8883
- 사용자명:
admin
- 비밀번호:
admin
- 사용자명:
-
Prometheus: http://localhost:8882
-
cAdvisor: http://localhost:8881
-
Node Exporter: http://localhost:9100
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
: 디스크 쓰기 바이트
문제 해결
- 포트 충돌: 다른 서비스에서 포트를 사용 중인 경우 docker-compose.yml의 포트를 변경하세요.
- 권한 문제: cAdvisor가 Docker 메트릭에 접근하려면 권한이 필요합니다.
- 데이터 지속성: Docker 볼륨을 사용하여 Prometheus와 Grafana 데이터가 보존됩니다.