Skip to main content

Interface Sets

An interface-set section declares a set of interfaces that will be evaluated by one or more interface-workflows. The data for these interfaces comes from the flow samples being sent to Director. Unlike a mapping, an interface-set must have a uniquely identifiable name, but as a benefit each interface will be tested against each interface workflow, so you can have the same interface specified multiple times.

info

When using interface-sets and interface-workflows, it's important to check that your flow sampling is set up for ingress only (e.g. you are monitoring inbound traffic to your network, not outbound).

Interface Set​

[interface-sets]

[interface-sets.Global]
# List of interface workflow names for this set.
# Must correspond to a valid workflow in the `[interface-workflows]` section

interface-workflows = ["An-Interface-Workflow"]

# The interfaces monitored by this set, using the triggers from the associated
# workflows. Each one is identified by the combination of the agent IP (IPv4 only)
# and the interface identifier (the SNMP ifIndex) used by the flow samples. The
# "any" value can be used as a wild card for either element, but if using this
# it's important to make sure that Director is receiving ingress flow samples only.

# Monitors any interface regardless of flow exporter IP or interface identifier
interfaces = [{agent = "any", interface-id = "any"}]

[interface-sets.Site-B]

interface-workflows = ["An-Interface-Workflow"]

# The "Global" interface set specifies an "any"/"any" interface with the same
# workflow, so all of these are interfaces are already covered, but if another
# workflow was listed here it would only be used by these interfaces
interfaces = [
# Monitor flow samples from this IP with an SNMP ifIndex of 2
{agent = "172.29.29.16", interface-id = 2},
# interface-ids is a list of interface identifiers
{agent = "172.29.29.17", interface-ids = [1, 3, 4, 5]},
# Omitting interface-id/ids defaults to "any" for interface identifier
# `agent` must always be specified
{agent = "172.29.29.18"}
]

Interface Set Keys​

Each interface-set must contain two key value sets:

  • interfaces: A list of zero or more interfaces to monitor. An interface is a combination of the agent (the IPv4 address of the flow exporter) and the relevent interface-ids to monitor. In cases where this may not be known ahead of time the any keyword can be used. The example TOML above explains this in full detail.
  • interface-workflows: A set of zero or more interface-workflows that have also been specified in the configuration file. Each configured interface will be checked against the traffic conditions specified by each interface-workflow, starting the workflow if appropriate.

If either interfaces or interface-workflows is empty, the interface-set won't monitor or affect any traffic, but the configuration will still be allowed (considered valid configuration). A unique interface (a specific agent and interface-id not using the any special value) can be used in multiple interface-sets, and will be tested against all configured interface-workflows.