Skip to main content
Version: Next

Data Services

Data Services are global utilities that refine, format, route, and retain your enriched telemetry. While Enrichment adds context to a flow, Data Services ensure that the information is formatted correctly for your destination, preserved for forensic "look-back" analysis, and delivered efficiently across your infrastructure.

1. NetFlow Recorder

The NetFlow Recorder enables you to look back in time to investigate security issues or network anomalies. Unlike standard real-time streaming, the Recorder captures flow records into memory or onto disk, allowing you to "replay" historical traffic to your SIEM or other analytical tools.

note

Please enable throttling if NFO output is configured to send data out over UDP network. Without throttling NFO will send all recorded *flows instantly, which may result in losses. Add the following lines to /server/etc/server.cfg

THROTTLE_OUTPUT 1
THROTTLE_OUTPUT_RATE 1000

Throttling output rate is the number of syslogs/JSON messages to be sent out every second.

Play, Start recording, Stop recording buttons

Play, Start recording, Stop recording buttons.

Press to start capturing flow records. Press button to send recorded flow records in syslog or JSON format to your SIEM to gain complete visibility of past network traffic. Press to stop recording.

The service has the following parameters:

ParameterDescription
Rolling Time IntervalRolling time period for continues recording of flow records. You can specify a time unit after a time value 'X', such as Xd, Xh, Xm, or Xs to represent days (d), hours (h), minutes (m), and seconds(s) respectively. (e.g. 10d 8h 30m 30s). Default 10 minutes
Record in memory or disk (0 - Memory, 1 - Disk)You have an option to keep recorded flow records in memory or on disk
Path to disk directoryIf you selected disk option above, set the path to directory where flow records will be recorded. Default is ../../logs/replay
Disk recorder buffer size, bytesThe size of the memory buffer block for flow records to be accumulated before written to disk. Default is 4MB (4194304 bytes)
Disk recorder threadsThe number of processor threads reserved for writing data to disk. Default is 2
Disk recorder queue, recordsSize of the buffer to hold records in queue in case of peaks in incoming flow records. Default is 10,000
Disk file chunk size, messagesFile rotation size in number of messages. Default is 10,000 (*)
Disk file rotation period, msecFile rotation time interval in msec. Default is 1 sec (*)
Exporter IPs to record watchlistIf you want to limit capture and replay to a number of NetFlow exporters, you can specify their IP addresses here

(*) The file is closed when the specified number records (chunk size) is written or file rotation time elapses, whichever comes first.


2. Output Dictionary

The Output Dictionary is the translation engine of NFO. Every downstream platform (Splunk, Sentinel, Elasticsearch) has its own preferred naming convention for network fields. The Dictionary allows you to map NFO’s output field names to the specific schema required by your destination.

Custom field names, if specified, apply to both, syslog key=value pairs and JSON field names.

Click on the Data set link and override the names you want, or Download the entire list as CVS file, make changes, and Upload.


3. Original Flow Data

Modern network devices often export specialized data known as Private Enterprise Elements. These are non-standard IPFIX fields unique to specific vendors (e.g., proprietary security tags or custom performance metrics).

This service allows you to provide mapping between flow data elements and their corresponding key names in key-value pairs in syslog or JSON output.

There is one mapping file in this service: Custom IPFIX Information Elements.

It allows you to specify key names for custom enterprise fields in IPFIX, as well as override standard IPFIX elements names. This CSV file has the following format:

PEN, IE ID, Format, Name, Description

Where:
PEN – IPFIX Private Enterprise number, e.g. for Netscaler it is 5951
IE ID – IPFIX Information Element ID
Format – one of the values specified in the table below
Name – key name for this IPFIX element
Description – optional description

FormatDescriptionExample
FMT_NONEno output
FMT_UNKNOWNN bytes as hex0102DEADBEEF0201
FMT_UINT8_DECunsigned integer 1 byte as decimal127
FMT_UINT8_HEXunsigned integer 1 byte as hex1F
FMT_UINT16_DECunsigned integer 2 bytes as decimal5000
FMT_FLOW_LABELunsigned integer 20 bits as decimal106000
FMT_MPLS_LABELunsigned integer 3 bytes as text17:28:39
FMT_APP_TAGapplication tag 1 byte (engine ID) + n bytes (selector)1:7000
FMT_HTTP_HOSTHTTP host n bytes: Application ID 4 bytes (engine ID + selector ID), sub-application ID 2 bytes, value (hostname) n bytes"100:3000,hostA"
FMT_TCP_FLAGSunsigned integer 1 byte as text"FIN,RST"
FMT_UINT32_DECunsigned integer 4 bytes as decimal77000
FMT_UINT32_HEXunsigned integer 4 bytes as hex01ABCD02
FMT_UINTN_DECunsigned integer n bytes as decimal9600000
FMT_IPV44 bytes as text127.0.0.1
FMT_IPV616 bytes as text2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d
FMT_STRINGn bytes ACSCII as text"ascii text"
FMT_MAC6 bytes as text00:a1💿12:34:56
FMT_ARR324 bytes array as hex01ABCD02
FMT_ARR648 bytes array as hex01ABCD0201ABCD02
FMT_EVENTunsigned integer 1 byte as text"Flow created"
FMT_DTIME_SECunsigned integer 4 or 8 byte as text (date)"1985-04-12T23:20:50Z"
FMT_DTIME_MSECunsigned integer 4 or 8 byte as text (date)"1985-04-12T23:20:50.001Z"
FMT_DTIME_USECunsigned integer 4 or 8 byte as text (date)"1985-04-12T23:20:50.000001Z"
FMT_DTIME_NSECunsigned integer 4 or 8 byte as text (date)"1985-04-12T23:20:50.000000001Z"

4. Repeater & Filter

The Repeater is a feature that allows you to intelligently route incoming NetFlow data to different destinations based on configurable rules. While the service was originally designed for simple data forwarding, its enhanced filtering capabilities enable you to direct a subset of data to specific destinations.

info

The Repeater functionality is available only on Linux and is limited to retransmitting NetFlow data received via UDP.

How It Works

This service uses a list of filters to determine where to forward data from specific exporters. You can create rules to forward flow data from a particular exporter IP address, or an IP subnet of exporters to a distinct destination.

note

If a specific destination for the Repeater is not defined in any of the filter rules, it will receive all incoming flows by default.

Creating Filters

The filters are defined in lists, which enable you to configure which exporters' flow data is forwarded to which destinations.

Here is a parameter description for the example you provided.

Parameters

Parameter NameDescription
Exporter IPv4 subnet addressThe IPv4 address of the network device you want to filter. This is a crucial part of the filter rule.
Exporter IPv4 subnet maskThe subnet mask associated with the Exporter IPv4 subnet address. This defines the range of the network or a specific host to be filtered.
Repeater destination IPv4 addressThe IPv4 address of the host where the filtered flow data will be forwarded.
CommentAn optional, user-defined field to add a description or note about the filter rule.

IPv4 list example:

Exporter IPv4 subnet address, Exporter IPv4 subnet mask, Repeater destination IPv4 address, Comment
10.0.5.21,32,10.0.5.194,my-dev-lab

IPv6 list example:

Exporter IPv6 subnet address, Exporter IPv6 subnet mask, Repeater destination IPv6 address, Comment
2001:0db8:0003::,64,2001:db8:3:4:5:6:7:f,my-ipv6-dev-lab
note

Please note: Without Repeater filters all flows are re-transmitted to all "Repeter" destinations. If filters are created, only flows matching exporter subnets are re-transmitted to the corresponding destinations.

Catch-All Destination

A special repeater destination, called catch-all, can be created to capture and retransmit flows from exporters not in the list of subnets. It should be specified as: 255.255.255.255,32.


5. Output Options

This section allows you to enable or disable Original Flow Data output, providing a one-to-one translation of incoming flows. When enabled, NFO converts all original flow records into Syslog or JSON messages in addition to the data generated by enabled Modules.

Because this output is voluminous, it is recommended to configure a separate destination for it, such as inexpensive storage, e.g. AWS S3 buckets.

This page also contains various syslog and JSON options.


When to use these services?

Use CaseRecommended Service
Security Forensics / "Look-back"NetFlow Recorder
SIEM Field Mapping/StandardizationOutput Dictionary
Capturing Proprietary Vendor DataOriginal Flow Data
Routing Data to Legacy NetFlow Collectors or other NFO instancesRepeater Service
One-to-One Flow Translation & Global MetadataOutput Options