Skip to main content

SNMP Datasets

SNMP datasets define what an SNMP device reads from its agent (dataset type snmp). They attach to devices of type snmp only, and in Datasets & Profiles the category is labelled SNMP. To create and assign datasets through the web interface, see Management. For the dataset and profile model, see Overview.

Collector Types​

Each dataset type has its own definition id, which every record it writes carries. Its kind decides the default interval: an inventory is read every 3,600 seconds, and a metric or a custom OID table every 60.

Dataset (console title)DefinitionDefinition idKind
SNMP Systemsnmp_system_collector300inventory
SNMP Interfacessnmp_interface_collector301inventory
SNMP Interface Trafficsnmp_interface_stats_collector302metric
SNMP Interface Totalssnmp_interface_totals_collector303metric
SNMP CPUsnmp_cpu_collector304metric
SNMP Memorysnmp_memory_collector305metric
SNMP Fanssnmp_fan_collector306metric
SNMP Power Suppliessnmp_power_supply_collector307metric
SNMP TCP/IPsnmp_tcpip_collector308metric
SNMP VLANssnmp_vlan_collector309inventory
SNMP Hardware Inventorysnmp_entity_collector310inventory
SNMP Neighborssnmp_neighbor_collector311inventory
F5 Virtual Serverssnmp_f5_virtual_server_collector320inventory
F5 Virtual Server Statisticssnmp_f5_virtual_server_stats_collector321metric
F5 Poolssnmp_f5_pool_collector322inventory
F5 Pool Statisticssnmp_f5_pool_stats_collector323metric
F5 Pool Memberssnmp_f5_pool_member_collector324inventory
F5 Pool Member Statisticssnmp_f5_pool_member_stats_collector325metric
F5 Nodessnmp_f5_node_collector326inventory
FortiGate HA Nodessnmp_fortigate_ha_node_collector330inventory
FortiGate HA Node Statisticssnmp_fortigate_ha_node_stats_collector331metric
FortiGate VPN Tunnelssnmp_fortigate_vpn_tunnel_collector332inventory
FortiGate VPN Tunnel Statisticssnmp_fortigate_vpn_tunnel_stats_collector333metric
FortiGate SSL VPN Tunnelssnmp_fortigate_sslvpn_tunnel_collector334inventory
FortiGate SSL VPN Tunnel Statisticssnmp_fortigate_sslvpn_tunnel_stats_collector335metric
FortiGate VDOM Statisticssnmp_fortigate_vdom_stats_collector336metric
FortiGate Userssnmp_fortigate_user_collector337inventory
FortiGate Interface Bandwidthsnmp_fortigate_interface_bandwidth_collector338inventory
Cisco IKE Tunnelssnmp_cisco_ike_tunnel_collector340inventory
Cisco IKE Tunnel Statisticssnmp_cisco_ike_tunnel_stats_collector341metric
Cisco Wireless Access Pointssnmp_cisco_wireless_ap_collector342inventory
Cisco Wireless Access Point Statisticssnmp_cisco_wireless_ap_stats_collector343metric
SNMP Custom OIDssnmp_custom_oid_collector852custom

Every dataset takes these properties:

FieldRequiredTypeDefaultDescription
intervalNintper kindSeconds between readings. At least 10.
pipeline_nameNstringthe device'sThe preprocessing pipeline the dataset's records enter.

Wizard fields​

Every SNMP dataset's Dataset configuration step has an Interval (Optional) field, in seconds: left empty, the dataset is read at its kind's default; otherwise at least 10. SNMP Custom OIDs asks for more; see Custom OIDs.

Rules​

  • One of each. A dataset type is read once per device, however many datasets of it are assigned. The first decides its interval; the others are left out with a warning in the device's log. Custom OID datasets are the exception: each is a table of its own.
  • Pipelines. A dataset's records enter the pipeline the dataset selects, otherwise the device's. Two datasets on one device can reach two pipelines.
  • Manufacturer tables assigned to a device of another manufacturer are logged once and are not an error.
  • Inventory records carry event.action from the dataset's second reading on: added, changed, unchanged, or removed.
  • Metric records of counters report the increase since the dataset's previous reading, so the first reading after a start reports none.

Standard Datasets​

Every record carries the fields the SNMP device page lists under observer.*, with event.dataset set to snmp.<dataset>. The fields of each dataset are:

DatasetFields
systemsnmp.system.description, object_id, contact, location, services, device_class, profile, identified_by (object_id, description, or manual), uptime (seconds), boot_time. A reboot is an event with event.action: reboot.
interfacesnmp.interface.index, name, description, alias, type, type_name, mtu, speed (b/s), mac, admin_status, oper_status, last_change, ip
interface_statssnmp.interface.index, name, alias, admin_status, oper_status, speed; in.* and out.*: bytes, bits_per_sec, utilization.pct, packets, packets_per_sec, errors, discards; snmp.interval (seconds). A link change is an event, event.action: interface-down or interface-up, with previous_status.
interface_totalssnmp.interfaces.count, up, down (enabled but down), admin_down, in.bits_per_sec, out.bits_per_sec, and the sums of the packet, error, and discard counts; snmp.interval
cpusnmp.cpu.pct, processors
memorysnmp.memory.index, name, total.bytes, used.bytes, free.bytes, used.pct
fansnmp.fan.index, name, status (ok, failed, unknown), status_code. A status change is an event, event.action: fan-status-changed, with previous_status.
power_supplysnmp.power_supply.*, as for fans; the event is power-supply-status-changed.
tcpipsnmp.tcpip.ip.in.discards, ip.out.discards, tcp.established_resets, tcp.out_resets, tcp.retransmitted_segments (increases), tcp.current_established, tcp.max_connections, tcp.rto.algorithm, tcp.rto.min, tcp.rto.max; snmp.interval
vlansnmp.vlan.id, name, ports (names), port_indexes, port_count
entitysnmp.entity.index, class, name, description, model, serial_number, manufacturer, hardware_version, firmware_version, software_version, contained_in, parent_rel_pos, fru, manufacture_date, alias, asset_id, vendor_type, uris
neighborsnmp.neighbor.protocol (cdp or lldp), local.port, local.if_index / local.port_number, remote.name, remote.port, remote.port_description, remote.chassis_id, remote.platform, remote.version, remote.address, remote.description

Interface statistics cover ports, LAGs, VLAN and virtual interfaces, tunnels, and radios. A VLAN's ports are the ports that carry it untagged, as their access or native VLAN.

Manufacturer Tables​

The manufacturers' own tables are datasets of their own, read when the device is one of theirs:

ManufacturerInventory datasetsMetric datasets
F5 BIG-IPf5_virtual_server (320), f5_pool (322), f5_pool_member (324), f5_node (326)f5_virtual_server_stats (321), f5_pool_stats (323), f5_pool_member_stats (325)
FortiGatefortigate_ha_node (330), fortigate_vpn_tunnel (332), fortigate_sslvpn_tunnel (334), fortigate_user (337), fortigate_interface_bandwidth (338)fortigate_ha_node_stats (331), fortigate_vpn_tunnel_stats (333), fortigate_sslvpn_tunnel_stats (335), fortigate_vdom_stats (336)
Ciscocisco_ike_tunnel (340), cisco_wireless_ap (342)cisco_ike_tunnel_stats (341), cisco_wireless_ap_stats (343)

Their fields sit under snmp.<manufacturer>.<thing>, which a table and its statistics share: f5_pool and f5_pool_stats both write snmp.f5.pool.*. A field read as a rate says so in its name, as in snmp.f5.pool.bytes_in_per_sec.

Custom OIDs​

A custom OID dataset is a table of your own: its OIDs are walked together, and the values that share an instance index become one record. A single value, an OID ending in .0, comes back as index 0. A device may read several custom OID tables.

Each record carries snmp.custom.table, snmp.custom.index, and one field per OID under the table's name, snmp.custom.<table>.<column>, so two tables may use one column name with different types.

Wizard fields​

FieldBehavior
Interval (Optional)Leave empty to read every 60 seconds. At least 10.
Table nameLetters, digits, and underscores, but not table or index. Records carry it as snmp.custom.table.
OIDsAt most 64. Each has the fields below.
ColumnThe field name: letters, digits, and underscores, unique within the table.
OIDNumeric, with or without the leading dot.
TypeText (string, the default) or Number (integer).
Regex (Optional)RE2. For a text value, each match is replaced by its first group, so ^(\w+) temp=.*$ turns Inlet temp=41C into Inlet.
StatusWhether the OID is read.

A table that cannot be read — a bad OID, a name used twice — is left out with a warning in the device's log, and the rest of the device runs.

Examples​

Reading a switch's identity and interfaces hourly, its traffic every minute, and a temperature table of its own...

- id: 471209331
name: core-sw01
type: snmp
status: true
properties:
address: "192.0.2.10"
version: v2c
community: "${SNMP_COMMUNITY}"
definitions:
- name: snmp_system_collector
status: true
- name: snmp_interface_collector
status: true
- name: snmp_interface_stats_collector
status: true
properties:
interval: 60
- name: snmp_custom_oid_collector
status: true
properties:
table: temperature
interval: 60
inputs:
- name: celsius
properties:
oid: .1.3.6.1.4.1.9.9.13.1.3.1.3
type: integer
- name: sensor
properties:
oid: .1.3.6.1.4.1.9.9.13.1.3.1.2
regex: '^(\w+)'