docker-stats-visualize/README.md

87 lines
2.5 KiB
Markdown

# Docker Monitoring Stack
이 프로젝트는 Docker 컨테이너의 CPU, 메모리, 네트워크, 디스크 사용량을 모니터링하기 위한 Prometheus + Grafana 스택입니다.
## 구성 요소
- **Prometheus**: 메트릭 수집 및 저장
- **Grafana**: 시각화 대시보드
- **cAdvisor**: Docker 컨테이너 메트릭 수집
- **Node Exporter**: 시스템 메트릭 수집
## 사용 방법
### 1. 스택 시작
```bash
./start.sh
```
또는 직접 docker-compose 사용:
```bash
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. 스택 중지
```bash
docker-compose down
```
### 5. 로그 확인
```bash
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 데이터가 보존됩니다.