Using Minions as a Flow Collector

Beyond a basic flows setup, you may want to add a Minion to collect flows data from hard-to-reach or remote locations.

Current Minion packages ship with a working multi-protocol flow listener configuration for v5, v9, IPFIX, and SFlow flow processing and should not require listener configuration changes to receive these protocols. Alternatively, you can configure a listener on a Minion for specific protocols.

flow integration minion
Figure 1. Flow integration with Minion

Before you begin

Make sure you do the following:

Configure a listener on a Minion

This example enables a generic listener for the NetFlow v5 protocol on Minion.

NetFlow v5 uses the generic UDP listener, but other protocols may require a specific listener. See the examples in ${OPENNMS_HOME}/etc/telemetryd-configuration.xml, or Telemetryd Listener Reference for details.

To enable and configure a listener for NetFlow v5 on Minion, connect to the Karaf Console and set the following properties:

config:edit --alias udp-8877 --factory org.opennms.features.telemetry.listeners
config:property-set name Netflow-5
config:property-set class-name org.opennms.netmgt.telemetry.listeners.UdpListener
config:property-set parameters.port 8877
config:property-set parsers.0.name Netflow-5
config:property-set parsers.0.class-name org.opennms.netmgt.telemetry.protocols.netflow.parser.Netflow5UdpParser
config:update
If using a configuration management, you can create and use the properties file as startup configuration in ${MINION_HOME}/etc/org.opennms.features.telemetry.listeners-udp-8877.cfg.
The parsers.X.name value is used as part of the queue or topic name on the message broker and it is therefore important for it to match the queue name defined in the core’s telemetryd-configuration.xml
name = Netflow-5
class-name = org.opennms.netmgt.telemetry.listeners.UdpListener
parameters.port = 8877
parsers.0.name = Netflow-5
parsers.0.class-name = org.opennms.netmgt.telemetry.protocols.netflow.parser.Netflow5UdpParser
You must also enable the associated protocol, in this case Netflow-5, on Meridian to process the messages. See the Telemetryd Protocol Reference for more details.

In some scenarios, the exporter’s address is altered due to network address translation. In this case, use node metadata to identify the exporter. Use the metaDataNodeLookup parameter to specify a context-key pair in the form of context:key for the lookup.

The value the lookup uses corresponds to the following fields from each protocol:

Property Description

NetFlow v5

engineId

NetFlow v9

sourceId

IPFix

observationDomainId

SFlow

agent_address:sub_agent_id

BMP

bgpId