Skip to main content

IPFIX

Synopsis

Creates an IPFIX collector that accepts flow data over UDP connections. Supports high-volume collection with multiple worker processes. Also handles NetFlow v9 templates.

For details, see Appendix.

Schema

- id: <numeric>
name: <string>
description: <string>
type: ipfix
tags: <string[]>
pipelines: <pipeline[]>
status: <boolean>
properties:
address: <string>
port: <numeric>
workers: <numeric>
reuse: <boolean>

Configuration

The following fields are used to define the device:

Device

FieldRequiredDefaultDescription
idYUnique identifier
nameYDevice name
descriptionN-Optional description
typeYMust be ipfix
tagsN-Optional tags
pipelinesN-Optional pre-processor pipelines
statusNtrueEnable/disable the device

Connection

FieldRequiredDefaultDescription
addressN"0.0.0.0"Listen address
portN4739Listen port
workersNCPU countNumber of worker goroutines
reuseNfalseEnable socket address reuse

Details

NetFlow, sFlow, and IPFIX devices share a common flow collection backend (backend/module/listener/flow/). The thin per-protocol controller sets the flow type and default port.

When reuse is enabled, the collector automatically scales to use multiple workers based on available CPU cores. Each worker maintains its own UDP listener, processes flows independently, and writes to a dedicated queue file.

The collector supports template management for NetFlow v9 and IPFIX, application identification, port-based protocol mapping, flow state tracking, and statistical aggregation.

Examples

The following are commonly used configuration types.

Basic

Creating a simple IPFIX collector on the default port...

devices:
- id: 1
name: basic_ipfix
type: ipfix
properties:
port: 4739

High-Volume

Optimizing for high flow volumes using multiple workers...

devices:
- id: 2
name: performant_ipfix
type: ipfix
properties:
address: "0.0.0.0"
port: 4739
reuse: true
workers: 4
note

When reuse is enabled, the collector automatically scales up to use all available CPU cores.

Loading include...

IPFIX collector with application identification enabled...

devices:
- id: 3
name: app_aware_ipfix
type: ipfix
properties:
port: 4739
reuse: true