 2GT-RichandClaude Fable 5
|
b841eb6e7b
|
feat: NetFlow/IPFIX traffic analytics — per-client usage, app breakdown, built-in collector (v0.13.0-beta)
Adds Meraki-style traffic analytics powered by MikroTik Traffic Flow:
Backend
- Built-in NetFlow v9 + IPFIX collector (UDP 2055) with hand-rolled decoder,
template caching, enterprise-field and IPv6 support
- Flow attribution: client IP → MAC via the clients table, upload/download
direction, NAT-duplicate records dropped
- App classification by protocol/port (~25 categories: HTTPS, QUIC, DNS,
SSH, Email, WireGuard, ...)
- Deduplication: per-client best-exporter-per-window so flows crossing two
managed routers are never double-counted
- NAT-tolerant ingest: flows from sources matching no managed device (NAT /
Tailscale subnet routers in path) are accepted as per-source unidentified
exporters instead of silently dropped (netflow_accept_unknown setting)
- Storage: InfluxDB client_traffic time-series (bounded cardinality via
top-N fold) + Postgres client_traffic_daily rollups; daily retention purge
- One-toggle device config push via RouterOS API (/ip traffic-flow + target)
- New /api/traffic/* analytics endpoints + /api/network-services/netflow
- docker-compose: NETFLOW_PORT (default 2055/udp) published on the backend
Frontend
- New Traffic page: fleet up/down chart, top talkers with client
click-through, app-category donut, 1h–30d ranges
- New NetFlow config page: collector settings, live ingest stats,
per-device export toggles with health badges, NAT-source banner
- Client detail: App Traffic card (auto-hides without data)
- Clients page: sortable "Data (today)" column
- Settings: NetFlow retention controls
Includes 17 unit tests (decoder fixtures, dedup, attribution, classifier);
verified end-to-end against live RouterOS devices.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-10 10:58:41 -07:00 |
|