doc/src/flows/nprobe.rst
What nProbe Does ################
Think of nProbe as a versatile flow agent and translator that sits between your network devices and ntopng. Its key functions are:
Flow Collection & Export Protocol Termination: It listens for flow exports from network hardware (NetFlow v5/v9, IPFIX, sFlow). It can handle exports from hundreds of devices, acting as a central, scalable collector. ntopng alone isn't designed to scale to that level of direct ingestion.
Flow Probing / Generation: It can also act as a software probe itself. By sniffing live traffic from a network interface (or a PCAP file), it can generate flow records from raw packets, just like a hardware router does. This is crucial if your network devices don't support flow export.
Protocol Translation & Normalization: This is a critical function. nProbe converts any incoming flow format (sFlow, NetFlow v5, NetFlow v9, etc.) into a single, unified format (typically NetFlow v9 or IPFIX) that ntopng understands and expects. It "cleans" and normalizes the data, ensuring consistency before it reaches ntopng. Flow Enrichment & Augmentation:
nProbe can add valuable metadata to flow records before passing them to ntopng. This includes:
It can filter flows (e.g., "ignore all DNS traffic") before sending them forward, reducing load on ntopng. It can handle and even re-sample sampled flows (like sFlow) to provide more accurate volume estimates. Load Distribution & Fan-out:
A single nProbe instance can collect from many sources and fan out the processed flows to multiple destinations (e.g., multiple ntopng instances, or other tools like Elasticsearch).
It then focuses on its core jobs: