NetScope Console thu thập sFlow / NetFlow / IPFIX từ router và switch, tổng hợp theo khung 5 giây, lưu trữ vào InfluxDB và hiển thị trên dashboard React với cảnh báo Telegram, phân vùng IP, và GeoIP/ASN. NetScope Console ingests sFlow / NetFlow / IPFIX from routers and switches, aggregates into 5-second bins, persists into InfluxDB, and surfaces everything through a React dashboard with Telegram alerts, IP zoning, and GeoIP/ASN enrichment.
| 8.2 Gbps | |
| 5.1 Gbps | |
| 3.7 Gbps | |
| 2.4 Gbps | |
| 1.8 Gbps |
| AS15169 Google | 6.8G |
| AS32934 Meta | 4.1G |
| AS13335 Cloudflare | 2.9G |
Từ thu thập gói UDP tới dashboard, từ phân vùng IP tới cảnh báo Telegram — tất cả trong một hệ thống chạy trên hạ tầng của bạn.From raw UDP collection to dashboards, from IP zoning to Telegram alerts — all on infrastructure you control.
Thu thập sFlow v5 và NetFlow v5 ngay lập tức; NetFlow v9 / IPFIX được thiết kế sẵn trong pipeline — thêm decoder chỉ cần ~400 dòng Go.sFlow v5 and NetFlow v5 work out of the box; NetFlow v9 / IPFIX slots are wired into the pipeline — adding a decoder takes ~400 lines of Go.
Mọi flow được canonicalize thành FlowRecord, gom theo khung thời gian 5 giây căn theo wall-clock, rồi fan-out ra InfluxDB và spool files.Every flow is canonicalized into a FlowRecord, binned at 5-second boundaries aligned to wall-clock, then fanned out to InfluxDB and spool files.
Phân loại mọi flow thành nix (nội địa) hoặc ixp (quốc tế), tra cứu ASN qua MaxMind với auto-update hàng tuần.Every flow is classified as nix (domestic) or ixp (international) with ASN lookup via MaxMind and a weekly auto-update.
Tổ chức địa chỉ IP thành zone phân cấp. Radix trie tra longest prefix match O(bit-length) cho cả IPv4 và IPv6, hot-reload không cần restart.Organize address space into hierarchical zones. A radix trie delivers longest-prefix match in O(bit-length) for both IPv4 and IPv6, with hot-reload — no restart.
Rule-based với sustained window + cooldown + state machine. Kênh Telegram / webhook HMAC. Hỗ trợ alert per-IP với batch tối đa 10 IP/message.Rule-based with sustained windows, cooldown, and a state machine. Telegram / HMAC webhook channels. Per-IP alerts batch up to 10 IPs per message.
Mỗi sensor ghi wgflow.* (binary, optional zstd) cho phép dump chi tiết từng flow bằng sfflowdump để điều tra sau sự cố.Each sensor writes wgflow.* binary archives (zstd optional), so you can post-mortem every flow with sfflowdump.
React 18 + Ant Design + uPlot. Biểu đồ live, widget kéo-thả, layout lưu localStorage. Auto-bin sizing từ 5s đến 1h tùy zoom range.React 18 + Ant Design + uPlot. Live charts, draggable widgets, layout persisted in localStorage. Auto-bin sizing from 5s to 1h by zoom range.
License HMAC-signed với trial/grace mode, anti-rollback. External API sfk_… với scope read/write/admin, rate-limit per-key và audit log async.HMAC-signed licenses with trial/grace states and anti-rollback. External sfk_… keys have read/write/admin scopes, per-key rate-limits, and async audit logs.
Updater daemon verify SHA-256 từng binary, stop/start đúng thứ tự, rollback khi lỗi, migrate DB tự động, cập nhật systemd units. Không downtime kéo dài.The updater daemon verifies SHA-256 per binary, stops/starts services in order, rolls back on failure, auto-migrates the DB, and refreshes systemd units. Minimal downtime.
Decoder chỉ việc trả về []FlowRecord — aggregator, TSDB, live store, zone, geo, alert đều protocol-agnostic.Decoders just return []FlowRecord — aggregator, TSDB, live store, zone, geo, and alerts are all protocol-agnostic.
Kiến trúc tách bạch giữa decode wire format và business logic. Khi bạn cần thêm một giao thức mới, phần còn lại của hệ thống không cần chạm vào.A clean seam between wire-format decoding and business logic. Adding a new protocol leaves everything else untouched.
XDR cursor zero-alloc cho sFlow, template cache cho NetFlow v9 / IPFIX. Output thống nhất là FlowRecord.Zero-alloc XDR cursor for sFlow, template cache for NetFlow v9 / IPFIX. Every decoder outputs a unified FlowRecord.
10 map types mỗi bin: Per-node, Per-IP, Per-IPProto, Geo, ASN, … Tick mỗi 2.5s để flush ngay cả khi không có traffic.Ten map types per bin: Per-node, Per-IP, Per-IPProto, Geo, ASN, … A 2.5s tick flushes bins even when idle.
Fan-out song song ra InfluxDB (batch 5000 points / 1s), live JSON (atomic rename), flow tap SSE (ring buffer 2000).Parallel fan-out to InfluxDB (5000 points / 1s batch), live JSON (atomic rename), and flow tap SSE (2000-entry ring buffer).
HTTP handler + React SPA, auth qua session hoặc API key sfk_…, roles readonly · operator · admin.HTTP handlers + React SPA, auth via session or sfk_… API keys, roles readonly · operator · admin.
Sampled packets từ ASIC, header layer-2/3, extended gateway AS path.Sampled packets straight from the ASIC, L2/L3 headers, extended gateway AS paths.
Fixed 48-byte record, counters dPkts / dOctets, sampling rate mask 14-bit.Fixed 48-byte records, dPkts/dOctets counters, 14-bit sampling rate mask.
Template-based, Options Template cho sampling, cache theo exporter IP.Template-based, Options Templates for sampling, per-exporter cache.
Enterprise-bit fields, variable-length, IE 305 / 306 cho sampling interval.Enterprise-bit fields, variable length, IE 305 / 306 for sampling intervals.
Thêm decoder mới = ~400 dòng Go. Hệ thống aggregator, TSDB, alert không cần chỉnh sửa — mọi thứ đã protocol-agnostic thông qua FlowRecord.
Adding a new decoder is ~400 lines of Go. The aggregator, TSDB, and alert layers stay untouched — everything is already protocol-agnostic through FlowRecord.
Layout kéo-thả lưu trong localStorage. Mỗi widget poll dữ liệu riêng; biểu đồ vẽ bằng uPlot — hiển thị 10 nghìn điểm mà không giật.Drag-and-drop layout persisted in localStorage. Each widget polls independently; charts render with uPlot — ten thousand points without jank.
Đọc tài liệu, cấu hình sensor đầu tiên trong 10 phút, và theo dõi traffic ngay trên dashboard.Read the docs, set up your first sensor in ten minutes, and start watching traffic on the dashboard today.