Skip to main content

Custom collection Groups

Custom collection groups allow you to gather additional CLI output or SNMP OID data during snapshot collection. They are used to capture configuration or state information that Forward does not collect by default.

These groups run automatically during every snapshot, and their results are available:

  • On each device’s page under Custom collection groups
  • In NQE library, under the device’s outputs structure
    (CLI outputs appear under commands; SNMP outputs appear under snmpOutputs)
Custom collection group results at Device levelCustom collection group results in NQE
note

Prior to release 25.11, this feature supported CLI-only custom commands.
Starting in 25.11, the feature was renamed Custom collection groups and now includes SNMP custom OID collection.


Creating a custom collection group

Navigate to Collection → Collection Settings → Custom collection groups and select Add custom collection group.

Add a Custom collection group

You will be prompted to choose whether the new group is: CLI or SNMP

CLI or SNMP


CLI custom collection groups

CLI groups run one or more commands during collection.

Defining CLI groups

A CLI group includes:

  • Group name
  • One or more device CLI commands under Commands to execute - one command per line
  • One or more OS connection types
  • Device assignment (see details)

Edit CLI custom collection group


SNMP custom collection groups

SNMP custom collection groups allow you to gather SNMP OIDs or entire OID subtrees during snapshot collection.
This enables you to collect additional device configuration/state that:

  • Is only exposed through SNMP
  • Operators already rely on OID-based monitoring for
  • Needs to be analyzed through NQE

Defining SNMP groups

An SNMP custom group includes:

  • Group name
  • One or more OIDs
  • Aliases for each OID
  • OS connection type filters
  • Device assignment (see details)

Forward supports:

  • Scalar OIDs
  • OID root/subtree walks, returning all child entries beneath the requested OID

Edit SNMP custom collection group

SNMP credential requirements

SNMP custom collection uses the device’s assigned SNMP credential:

  • Automatically discovered, or
  • Manually selected in the device drawer

If SNMP credentials are invalid, only SNMP collection fails; CLI collection continues. (see details)

SNMP credential auto-discovery toggle

SNMP auto-discovery works only if the global setting
CollectionCollection SettingsCollectorAdvanced network collection settingsOther collection optionsEnable SNMP credential auto-discovery for all devices in the network is turned on.

When enabled, Forward attempts SNMP v2/v3 credential discovery automatically. If disabled, you must assign an SNMP credential to each device manually for SNMP custom collection groups to run. For instructions on manual credential assignment, see SNMP configuration/state collection

[Connectivity requirement]

SNMP collection requires direct UDP reachability from the collector to the device.

  • ✔ Collector → Device directly reachable → SNMP custom collection groups work
  • ✖ Collector → Jump host → Device (SSH tunnel) → SNMP does not work because SNMP uses UDP and cannot traverse SSH jump hosts

Selecting devices for a custom collection group

Each custom collection group (CLI or SNMP) must specify which devices it applies to. The UI provides three distinct ways to include devices:

1. Static device selection (manual pick)

Use this option when you want the group applied only to specific devices that you choose explicitly.

  • Select individual devices from the filtered list (based on the OS connection types you selected earlier).
  • You can bulk-select multiple devices at once.
  • After selecting them, click Add devices to include them in the group.
  • Only these devices will run the custom collection commands/OIDs.

This is the right option when the set of devices is known and stable.


2. Dynamic-match (glob / wildcard–based matching)

Use this option when you want the group to apply to any device whose name matches a pattern.

On the Dynamic-match tab, you can specify one or more glob-style patterns, such as:

  • leaf-*
  • *-border
  • dist??
  • edge-*

Any device whose name matches the pattern is automatically included.

Key characteristics:

  • Devices matching the pattern today are included immediately.
  • Devices added later that match the pattern are also included automatically.
  • Patterns can be combined with static picks if needed.

This is the right option when devices follow naming conventions or when you expect new devices of the same role/type to be added later.


3. Include all devices of the selected OS connection types

Enable this option to apply the group to every device that uses one of the OS connection types chosen earlier.

Characteristics:

  • All devices that currently match the OS type(s) are included automatically.
  • Any future device whose OS type matches will also be included automatically.
  • No device name filtering is needed.

This is the right option when:

  • The custom CLI commands or SNMP OIDs are valid for all devices running that OS.
  • The operator wants “set it and forget it” behavior.

Summary of selection modes

ModeHow devices are chosenFuture devices auto-included?Best for…
Static selectionUser picks devices manually❌ NoSmall, stable lists of devices
Dynamic-matchName patterns (globs/wildcards)✔ Yes, if names matchEnvironments with naming conventions or growth
All OS connection typesAll devices with selected OS type(s)✔ YesCommands/OIDs valid across entire platform families

Using custom outputs in NQE

Both CLI and SNMP custom data are part of the device’s output model and are fully queryable within NQE.

SNMP results appear under: device.outputs.snmpOutputs : Bag<OidOutput>

CLI results appear under: device.outputs.commands : Bag<Command>


REST API for custom collection groups

Custom collection groups — both CLI and SNMP — are managed through the same REST endpoint. Use POST method add custom collection group:

/api/networks/{networkId}/custom-command-groups

The response now includes all custom collection groups, with the field type identifying whether a group is: "CLI" or "SNMP".

CLI groups contain a commands array.
SNMP groups contain an oids array.

Example response

[
{
"name": "custom-snmp",
"deviceConnTypes": ["cisco_ios_ssh"],
"oids": [
{
"name": "sysDescr",
"oid": "1.3.6.1.2.1.1.1.0"
},
{
"name": "sysUpTime",
"oid": "1.3.6.1.2.1.1.3.0"
}
],
"type": "SNMP",
"devices": ["cat6k"],
"disabled": false
},
{
"name": "custom-cli",
"deviceConnTypes": ["cisco_ios_ssh"],
"commands": ["show version"],
"type": "CLI",
"devices": ["cat6k"],
"disabled": false
}
]