In this section we will perform an SNMP discovery on a switch.
This discovery method of SNMP OIDs has been supported since Zabbix server/proxy 6.4.
Item prototypes must be created as dependent item prototypes, using macros from the discovery rule.
Dependent items will obtain their values from the walk[]
master item. Thus it will not be necessary for each discovered item to query the SNMP device independently.
Trigger and graph prototypes may also be created also by using macros from the discovery rule.
Dynamic indexes (for example, interface indexes) can shift when hardware is reconfigured. To accommodate this behavior, a master SNMP walk discovery rule is created with a key such as:
After SNMP walk to JSON preprocessing, the result might resemble:
A dependent item prototype uses the {#SNMPINDEX}
macro to construct the key:
Preprocessing for this prototype includes "SNMP walk value" name with "1.3.6.1.2.1.2.2.1.10.{#SNMPINDEX}" OID in the Parameter field. Format: "Unchanged".
At runtime, actual items such as net.if.in[2]
and net.if.in[3]
are created. If a given interface index changes (for example, if the index 2
is replaced by 5
in the SNMP table), then on the next run of the discovery rule:
Trigger prototype example:
Graph prototype example includes items:
This configuration ensures reliable monitoring of tables with dynamic indexes while minimizing SNMP traffic—only a single SNMP walk per poll cycle is required, with dependent item prototypes extracting the necessary values.
When server runs, it will create real dependent items, triggers and graphs based on the values the SNMP discovery rule returns.