How GoFlow2 modularity works
mainGoFlow2 is designed as a modular pipeline consisting of several components:
- Decoder: Converts the raw payload of a flow packet (NetFlow, IPFIX, sFlow) into a structured format.
- Producer: Converts the decoded samples into a target format (e.g., Protobuf or JSON).
- Format: Utilities to marshal messages (e.g., JSON or text).
- Transport: Handles the delivery of the message (e.g., Kafka, File, or Stdout).
This modularity allows developers to build custom collectors by replacing specific parts, such as using RabbitMQ instead of Kafka, or implementing custom decoders for protocols like MPLS.