This is the Reducer component of the bwNetFlow platform. It supports taking protobuf-encoded flow messages from a specified Kafka topic, reducing the message to some specified minimum, and writing the result back into another Kafka topic.
The intention is to enable a Kafka topic of anonymous Flow messages within the
bwNetFlow project. The default subset of fields this processor limits flow
messages to are just Bytes
, Packets
, Etype
, and Proto
of the flow,
which can be considered fully anonymous and is quite sufficient to demonstrate
the API.
It also supports some experimental, subnet-based anonymisation.
The simplest call could look like this, which would start the reducer process with TLS encryption and SASL auth enabled and all outputs working.
export KAFKA_SASL_USER=prod-reducer
export KAFKA_SASL_PASS=somesecurepass`
./reducer \
--kafka.brokers=kafka.local:9093 \
--kafka.in.topic=flows-enriched \
--kafka.out.topic=flows-anon \
--kafka.consumer_group=reducer-prod
Check --help
for a full list of options and also see our Dockerfile for some
more examples.