DockWatch: 경량 Docker 모니터링 및 이상 탐지 & Telegram 알림
Source: Dev.to
Introduction
Docker 컨테이너를 눈으로 확인하지 못하고 계신가요? 한 줄 명령으로 해결할 수 있습니다.
DockWatch는 설정이 전혀 필요 없는 경량형 자체 호스팅 Docker 모니터링 대시보드로, 컨테이너를 완전히 가시화해 줍니다.
Features
- Real‑time Dashboard – 다크 테마 UI, 정렬 가능한 테이블 및 Chart.js 차트.
- Container Monitoring – CPU %, 메모리 %, 네트워크 I/O, 블록 I/O, 재시작 횟수.
- Host Monitoring – CPU/GPU 온도, 디스크 사용량, 평균 부하.
- Anomaly Detection – 6가지 내장 규칙: CPU 급증, 메모리 초과, 고온, 디스크 가득참, 예상치 못한 재시작, 네트워크 급증.
- Telegram Alerts – 알림 유형당 30분 쿨다운을 적용한 즉시 알림.
- Security – Basic Auth, 속도 제한, HTTPS(자체 서명 또는 Cloudflare Tunnel).
- Lightweight – Python 패키지 4개만 사용, 7일 보관 SQLite.
Installation
git clone https://github.com/deep-on/dockwatch.git
cd dockwatch
bash install.sh
대화형 설치 프로그램이 인증, Telegram 알림, HTTPS 설정을 1분 이내에 완료합니다.
Requirements
- Docker (Compose v2 포함)
- Git
- OpenSSL
Anomaly Detection Rules
| Rule | Condition |
|---|---|
| Container CPU | 연속 3번 검사에서 80 % 초과 |
| Container Memory | 제한치의 90 % 초과 |
| Host CPU Temp | 85 °C 초과 |
| Host Disk | 사용량 90 % 초과 |
| Container Restart | restart_count 증가 |
| Network Spike | 수신량 10배 급증 및 100 MB 초과 |
모든 임계값은 환경 변수로 설정할 수 있습니다.
Access Options
- Local Network – 자체 서명 SSL,
https://localhost:9090로 접근 - Remote Access – 포트 포워딩 옵션
- Cloudflare Tunnel – 원격 접근에 권장; 포트 포워딩이 필요 없으며 적절한 TLS 인증서를 제공합니다
Why DockWatch?
기존 Docker 모니터링 솔루션은 너무 무겁거나(예: Prometheus + Grafana) 너무 단순하거나(컨테이너 상태만 표시) 합니다. DockWatch는 중간 지점을 목표로 합니다: 홈 서버에 충분히 가볍지만, 문제를 자동으로 감지하고 Telegram으로 알릴 만큼 스마트합니다.
Repository
🔗 GitHub:
피드백, 이슈, 풀 리퀘스트를 언제든 환영합니다. 유용하다고 생각되시면 GitHub에 ⭐를 눌러 주세요.
Built by DeepOn Inc.