4 Discovery of SNMP OIDs

Overview

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 key

Create an SNMP item, using the following item key in the SNMP OID field:

  1. snmp.walk[1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3]

4 Discovery of SNMP OIDs - 图1

This item will perform an snmpwalk for the OIDs specified in the parameters (1.3.6.1.2.1.2.2.1.2, 1.3.6.1.2.1.2.2.1.3), returning a concatenated list of values, e.g.:

  1. .1.3.6.1.2.1.2.2.1.2.1 = STRING: "lo"
  2. .1.3.6.1.2.1.2.2.1.2.2 = STRING: "ens33"
  3. .1.3.6.1.2.1.2.2.1.2.3 = STRING: "ens37"
  4. .1.3.6.1.2.1.2.2.1.3.1 = INTEGER: 24
  5. .1.3.6.1.2.1.2.2.1.3.2 = INTEGER: 6
  6. .1.3.6.1.2.1.2.2.1.3.3 = INTEGER: 6

Dependent item

Go to the discovery rules of your template/host. Click on Create discovery rule in the upper right corner of the screen.

Fill in the required details in the Discovery rule tab:

  • Select Dependent item as item type
  • Select the previously created SNMP walk item as the master item
  • Fill the name and key with meaningful values

4 Discovery of SNMP OIDs - 图2

In the Preprocessing tab, select the SNMP walk to JSON preproccesing step.

4 Discovery of SNMP OIDs - 图3

In the field name specify a valid LLD macro name. Select the corresponding OID path to discover values from.

This rule will discover entities and set:

  • {#IFDESCR} macros to lo, ens33, and ens37;
  • {#IFTYPE} macros set to 24, 6, and 6.

A built-in macro {#SNMPINDEX} containing the index of the discovered OIDs is applied to discovered entities. The discovered entities are grouped by {#SNMPINDEX} macro value: 1, 2 and 3:

  1. [
  2. {
  3. "{#SNMPINDEX}": "1",
  4. "{#IFDESCR}": "lo",
  5. "{#IFTYPE}": "24"
  6. },
  7. {
  8. "{#SNMPINDEX}": "2",
  9. "{#IFDESCR}": "ens33",
  10. "{#IFTYPE}": "6"
  11. },
  12. {
  13. "{#SNMPINDEX}": "3",
  14. "{#IFDESCR}": "ens37",
  15. "{#IFTYPE}": "6"
  16. }
  17. ]

If an entity does not have the specified OID, then the corresponding macro will be omitted for this entity.

Item prototypes

The following screenshot illustrates how we can use these macros in item prototypes:

4 Discovery of SNMP OIDs - 图4

Again, creating as many item prototypes as needed:

4 Discovery of SNMP OIDs - 图5

Discovered entities

When server runs, it will create real items, triggers and graphs based on the values the SNMP discovery rule returns. In the host configuration they are prefixed with an orange link to a discovery rule they come from.

4 Discovery of SNMP OIDs - 图6

4 Discovery of SNMP OIDs - 图7

4 Discovery of SNMP OIDs - 图8