Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NetWatch Portal

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


Ne yapar?

NetWatch, network operasyon ekipleri için "GSLB kullanan müşteriye gecikme var, neden?" tarzında sorulara cevap vermeye odaklı bir troubleshooting portalıdır.

Özellikler (özet)

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

Gerçek-dünya senaryoları

  • "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

Hızlı Başlangıç

Gereksinimler

  • OS: Ubuntu 22.04+ / Debian 12+ / macOS 13+
  • Node.js: 20.x veya üstü
  • Sistem tools: mtr, dig, traceroute, iperf3, curl

Kurulum (tek komut)

# 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.sh

Uygulama: http://localhost:4001

Yaşam Döngüsü

./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


Mimari

┌───────────────────────────────────────────────────────┐
│              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ümantasyon

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)

Kullanılan Araçlar

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


Katkı

Bu proje kişisel operasyonel ihtiyaçtan doğmuş network troubleshooting aracıdır. Özellik istekleri ve bug raporları için issue açabilirsiniz.

Lisans

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages