sFlow

sFlow is capable of transporting both telemetry data and flow information. Horizon can use both data types and extract and persist accordingly.

See Flow Support for details on flow support in Horizon.

sFlow UDP Parser

The sFlow UDP parser accepts packets received by a <deep-dive/<telemetryd/listeners/udp.adoc#telemetryd-listener-udp, UDP listener>> and must forward them to a sFlow adapter.

The sFlow UDP parser supports protocol detection.

Facts

Class Name

org.opennms.netmgt.telemetry.protocols.sflow.parser.SFlowUdpParser

Configuration and use

Table 1. Optional parameters for the Netflow v5 UDP Parser
Parameter Description Default

dnsLookupsEnabled

Enable or disable DNS resolution for flows.

true

sFlow adapter

The sFlow adapter handles sFlow data received and parsed by the sFlow parser. Flows are decoded from the messages into the canonical flow format and published to the flow repository.

Facts

Class Name

org.opennms.netmgt.telemetry.protocols.sflow.adapter.SFlowAdapter

Configuration and use

This adapter does not currently have any configurable parameters.

sFlow telemetry adapter

The sFlow telemetry adapter handles sFlow telemetry data received and parsed by the sFlow UDP parser. The telemetry data is forwarded to a JSR-223-compatible script (for example, Beanshell or Groovy) for further processing. Using the script extension, you can extract the desired metrics from the sFlow messages and persist the results as time series data.

Facts

Class Name

org.opennms.netmgt.telemetry.protocols.sflow.adapter.SFlowTelemetryAdapter

Configuration and use

Table 2. Required adapter-specific parameters
Parameter Description Default

script

Full path to the script used to handle the sFlow messages.

none

applicationDataCollection

Enables data collection of bytesIn/bytesOut based on flow applications.

false

applicationThresholding

Enables thresholding based on flow applications.

false

For data collection to work properly you must also define a valid package definition inside your adapter configuration.

Scripting

The script will be invoked for every sFlow (extended) counter sample that is received.

The following globals will be passed to the script:

Table 3. Globals passed to the script
Parameter Description Type

agent

The agent (node) against which the metrics will be associated.

org.opennms.netmgt.collection.api.CollectionAgent

builder

Builder in which the resources and metrics should be added.

org.opennms.netmgt.collection.support.builder.CollectionSetBuilder

msg

sFlow (extended) counter sample

dynamic Map

See sFlow Specification for the contained fields and their meaning.