Network analiz & sürekli izleme portalı — GSLB, DNS, hop analizi, bandwidth ve daha fazlası.
Stack: Node.js · Express · Socket.io · SQLite · React · Vite · Tailwind · Recharts
NetWatch, network operasyon ekipleri için "GSLB kullanan müşteriye gecikme var, neden?" tarzında sorulara cevap vermeye odaklı bir troubleshooting portalıdır.
Anlık Test Motoru (11 test türü)
- ping · mtr · traceroute · dns · dnstrace (
dig +trace) · dnstraceroute (DNS paket ağ yolu) · http · tls · tcp · iperf3 · globalping
Continuous Monitoring
- Profile-based poller (normal/kritik/gslb · 30-60sn)
- Jitter takibi (smokeping-style bantlı grafik)
- Target status dashboard (canlı WebSocket)
Watch Session (ad-hoc süreli izleme)
- Bir hostu X süre boyunca Y aralıkla izle
- Ping / MTR / HTTP / TCP / DNS
- Canlı trend grafiği + stats (avg/min/max/p95)
Full Diagnosis Playbook
- Tek buton → DNS + per-IP ping + MTR + HTTP/TLS + TCP paralel
- Correlated verdict + findings list
- "GSLB 3 IP dönüyor, IP-B yavaş, hop 5'te spike var"
GSLB & DNS Analizi
- Multi-resolver karşılaştırma (5 resolver paralel)
- Global DNS Propagasyon (35 Globalping lokasyon)
- GSLB IP Distribution Sampling (50-500x rapid resolve, pattern detection)
- DNS Timeline (IP değişim geçmişi)
- DNS delegation trace
Globalping Entegrasyonu
- 35 dünya lokasyonu (TR/EU/MENA/NA/SA/APAC), bölgesel gruplama
- Multi-probe MTR path divergence analizi
Operasyonel Araçlar
- MTR hop tablosu: ASN/ülke/org enrichment + ⚡ spike detection
- MTR path diff (route change timeline)
- Target comparison (A vs B diff + verdict)
- Target detail page (1h trendleri, uptime%, test history)
- History + CSV export, test detail modal, re-run
- TLS cert inspection (issuer, expiry, SAN, TLS ver/cipher)
- Tags + search, profile-based filtering
- "Müşteri yavaş diyor, neden?" →
/diagnose→ tek tıkla tüm layer'lar - "GSLB hangi DC'ye yönlendiriyor?" →
/dns-gslb→ Global Propagasyon + Dağılım Analizi - "Hangi hop'ta latency patlıyor?" → MTR + spike detection
- "Sertifika ne zaman dolacak?" → TLS probe
- "Intermittent yavaşlık" → Watch Session + jitter grafiği
- OS: Ubuntu 22.04+ / Debian 12+ / macOS 13+
- Node.js: 20.x veya üstü
- Sistem tools:
mtr,dig,traceroute,iperf3,curl
# Sistem paketleri (Ubuntu/Debian)
sudo apt update && sudo apt install -y nodejs npm mtr dnsutils traceroute iperf3 curl
# Proje
git clone <repo-url> netwatch
cd netwatch
# Dependencies + build + start
cd backend && npm install && node db/init.js && cd ..
cd frontend && npm install && npm run build && cd ..
./start.shUygulama: http://localhost:4001
./start.sh # build + start (detached, nohup)
./start.sh status # durum sorgula
./start.sh stop # durdur
./start.sh --no-build # sadece start (build atla)Detaylı kurulum ve production deployment için: DEPLOYMENT.md
┌───────────────────────────────────────────────────────┐
│ NetWatch Server (:4001) │
│ │
│ ┌────────────┐ ┌──────────┐ ┌──────────────┐ │
│ │ React UI │◄──►│ Socket.io│◄──►│ Test Engines │ │
│ │ (static) │ │ │ │ │ │
│ └────────────┘ └──────────┘ │ Poller │ │
│ │ │ Watch │ │
│ ▼ │ Playbook │ │
│ ┌────────────┐ └──────────────┘ │
│ │ Express │ │ │
│ │ REST API │ ▼ │
│ └────────────┘ ┌───────────────────┐ │
│ │ │ 11 Test Services │ │
│ ▼ │ ping/mtr/dns/... │ │
│ ┌────────────┐ └───────────────────┘ │
│ │ SQLite │ │ │
│ └────────────┘ ▼ │
└───────────────────────────┬───────────┴───────────┐───┘
│ │
▼ ▼
┌───────────────┐ ┌─────────────┐
│ Local System │ │ External │
│ mtr/dig/... │ │ Globalping │
└───────────────┘ │ ip-api.com │
└─────────────┘
Detaylı mimari, tech stack ve data flow için: ARCHITECTURE.md
| Doküman | İçerik |
|---|---|
| DEPLOYMENT.md | Ubuntu/Debian/Docker kurulum · systemd · Nginx · firewall · TLS |
| ARCHITECTURE.md | Sistem mimarisi · tech stack · data flow · DB schema · API · Socket.io events |
| NOTES.md | Yol haritası · geliştirme notları · backlog · strateji |
| NETWATCH_PRD.md | Orijinal ürün gereksinim dokümanı (referans) |
Native system tools: mtr · dig · traceroute · iperf3 Node.js: express · socket.io · better-sqlite3 · axios · dotenv React: react-router-dom · socket.io-client · recharts · date-fns External APIs: Globalping · ip-api.com
Bu proje kişisel operasyonel ihtiyaçtan doğmuş network troubleshooting aracıdır. Özellik istekleri ve bug raporları için issue açabilirsiniz.
MIT