๐ Riptide
Riptide is a NetFlow analysis engine: it ingests flow telemetry from network devices, enriches every flow record with network context, and persists the result to ClickHouse for analysis.
What it doesโ
UDP/TCP ingest (NetFlow v5 ยท NetFlow v9 ยท IPFIX)
โ decode
โ match exporter to a configured node (subnet + observation domain)
โ enrich: SNMP interface names/aliases/speed ยท reverse-DNS hostnames ยท
traffic classification ยท locality
โ persist to ClickHouse
- Flow protocols: NetFlow v5, NetFlow v9, and IPFIX (UDP; IPFIX also via TCP). sFlow support is planned for v0.2.0 (#159).
- Node model: a thin registry (
riptide.nodes.<name>) matches exporters by subnet โ optionally pinned to one observation domain โ and carries the SNMP agent configuration used to enrich that device's flows. See Nodes & SNMP. - Secrets: SNMP credentials are references (
env://,file://,vault://,sops://), never plaintext in configuration. See Secret references. - Enrichment: SNMP IF-MIB (
ifName,ifAlias,ifHighSpeed), reverse-DNS hostnames, rule-based classification. See Enrichment.
Technologyโ
Java 25 ยท Spring Boot ยท Netty ยท SNMP4J ยท ClickHouse. Licensed GPL-3.0-or-later.
Where to go nextโ
- ๐ Deploy Riptide โ run the published image (Compose or plain JAR)
- ๐ Develop & Contribute โ build, debug, test, send PRs
- Receivers โ configure flow listeners
- Nodes & SNMP โ the node model and SNMP v1/v2c/v3
- Secret references โ Vault, SOPS, env, file
- ClickHouse โ persistence