[comment]: # ({03437da9-03437da9})
# 4 Ontdekking van SNMP OID's

[comment]: # ({/03437da9-03437da9})

[comment]: # ({cf8bf5a8-cf8bf5a8})
#### Overzicht

In deze sectie zullen we een SNMP-[ontdekking](/manual/discovery/low_level_discovery) uitvoeren op een switch.

[comment]: # ({/cf8bf5a8-cf8bf5a8})

[comment]: # ({48556d91-d8452a6a})
#### Item-sleutel

In tegenstelling tot bestandssysteem- en netwerkinterface-ontdekking, hoeft het item niet noodzakelijkerwijs een "snmp.discovery"-sleutel te hebben - het itemtype SNMP-agent is voldoende.

Om de ontdekkingsregel te configureren, volg de onderstaande stappen:

- Ga naar: *Configuratie* → *Sjablonen*
- Klik op *Ontdekking* in de rij van het juiste sjabloon

![](../../../../../assets/en/manual/discovery/low_level_discovery/templates_snmp.png)

- Klik op *Ontdekkingsregel maken* in de rechterbovenhoek van het scherm
- Vul het formulier voor de ontdekkingsregel in met de vereiste gegevens zoals in de onderstaande schermafbeelding

![](../../../../../assets/en/manual/discovery/low_level_discovery/lld_rule_snmp.png)

Alle verplichte invoervelden zijn gemarkeerd met een rood asterisk.

De OIDs om te ontdekken zijn gedefinieerd in het veld SNMP OID in het volgende formaat: `discovery[{#MACRO1}, oid1, {#MACRO2}, oid2, …,]`

waarbij *{\#MACRO1}*, *{\#MACRO2}* … geldige lld-macro-namen zijn en *oid1*, *oid2*... OIDs zijn die in staat zijn om zinvolle waarden te genereren voor deze macro's. Een ingebouwde macro *{\#SNMPINDEX}* die de index van de ontdekte OID bevat, wordt toegepast op ontdekte entiteiten. De ontdekte entiteiten worden gegroepeerd op basis van de waarde van de macro *{\#SNMPINDEX}*.

Om te begrijpen wat we bedoelen, laten we een paar snmpwalks op onze switch uitvoeren:

    $ snmpwalk -v 2c -c public 192.168.1.1 IF-MIB::ifDescr
    IF-MIB::ifDescr.1 = STRING: WAN
    IF-MIB::ifDescr.2 = STRING: LAN1
    IF-MIB::ifDescr.3 = STRING: LAN2

    $ snmpwalk -v 2c -c public 192.168.1.1 IF-MIB::ifPhysAddress
    IF-MIB::ifPhysAddress.1 = STRING: 8:0:27:90:7a:75
    IF-MIB::ifPhysAddress.2 = STRING: 8:0:27:90:7a:76
    IF-MIB::ifPhysAddress.3 = STRING: 8:0:27:2b:af:9e

En stel SNMP OID in op:
`discovery[{#IFDESCR}, ifDescr, {#IFPHYSADDRESS}, ifPhysAddress]`

Nu zal deze regel entiteiten ontdekken met {\#IFDESCR}-macro's ingesteld op **WAN**, **LAN1** en **LAN2**, {\#IFPHYSADDRESS}-macro's ingesteld op **8:0:27:90:7a:75**, **8:0:27:90:7a:76** en **8:0:27:2b:af:9e**, {\#SNMPINDEX}-macro's ingesteld op de ontdekte OID-indexen **1**, **2** en **3**:

``` {.java}
[
    {
        "{#SNMPINDEX}": "1",
        "{#IFDESCR}": "WAN",
        "{#IFPHYSADDRESS}": "8:0:27:90:7a:75"
    },
    {
        "{#SNMPINDEX}": "2",
        "{#IFDESCR}": "LAN1",
        "{#IFPHYSADDRESS}": "8:0:27:90:7a:76"
    },
    {
        "{#SNMPINDEX}": "3",
        "{#IFDESCR}": "LAN2",
        "{#IFPHYSADDRESS}": "8:0:27:2b:af:9e"
    }
]
```

Als een entiteit de opgegeven OID niet heeft, wordt de overeenkomstige macro voor deze entiteit weggelaten. Bijvoorbeeld, als we de volgende gegevens hebben:

    ifDescr.1 "Interface #1"
    ifDescr.2 "Interface #2"
    ifDescr.4 "Interface #4"

    ifAlias.1 "eth0"
    ifAlias.2 "eth1"
    ifAlias.3 "eth2"
    ifAlias.5 "eth4"

Dan zal in dit geval SNMP-ontdekking
`discovery[{#IFDESCR}, ifDescr, {#IFALIAS}, ifAlias]` de volgende structuur retourneren:

``` {.java}
[
    {
        "{#SNMPINDEX}": 1,
        "{#IFDESCR}": "Interface #1",
        "{#IFALIAS}": "eth0"
    },
    {
        "{#SNMPINDEX}": 2,
        "{#IFDESCR}": "Interface #2",
        "{#IFALIAS}": "eth1"
    },
    {
        "{#SNMPINDEX}": 3,
        "{#IFALIAS}": "eth2"
    },
    {
        "{#SNMPINDEX}": 4,
        "{#IFDESCR}": "Interface #4"
    },
    {
        "{#SNMPINDEX}": 5,
        "{#IFALIAS}": "eth4"
    }
]
```

[comment]: # ({/48556d91-d8452a6a})

[comment]: # ({96106d89-cc4d2566})
#### Item-prototypes

De onderstaande schermafbeelding illustreert hoe we deze macro's kunnen gebruiken in item-prototypes:

![](../../../../../assets/en/manual/discovery/low_level_discovery/item_prototype_snmp.png)

Je kunt zoveel item-prototypes maken als nodig is:

![](../../../../../assets/en/manual/discovery/low_level_discovery/item_prototypes_snmp.png){width="600"}

[comment]: # ({/96106d89-cc4d2566})

[comment]: # ({da4e62e5-042beac9})
#### Trigger-prototypes

De volgende schermafbeelding illustreert hoe we deze macro's kunnen gebruiken in trigger-prototypes:

![](../../../../../assets/en/manual/discovery/low_level_discovery/trigger_prototype_snmp.png){width="600"}

![](../../../../../assets/en/manual/discovery/low_level_discovery/trigger_prototypes_snmp.png){width="600"}

[comment]: # ({/da4e62e5-042beac9})

[comment]: # ({29d1b142-fbe4f4fa})
#### Grafiek-prototypes

De volgende schermafbeelding illustreert hoe we deze macro's kunnen gebruiken in grafiek-prototypes:

![](../../../../../assets/en/manual/discovery/low_level_discovery/graph_prototype_snmp.png){width="600"}

![](../../../../../assets/en/manual/discovery/low_level_discovery/graph_prototypes_snmp.png){width="600"}

Een samenvatting van onze ontdekkingsregel:

![](../../../../../assets/en/manual/discovery/low_level_discovery/lld_rules_snmp.png){width="600"}

[comment]: # ({/29d1b142-fbe4f4fa})

[comment]: # ({16927fe4-76c066a2})
#### Ontdekte entiteiten

Wanneer de server draait, zal deze echte items, triggers en grafieken aanmaken op basis van de waarden die de SNMP-ontdekkingsregel retourneert. In de hostconfiguratie worden ze voorafgegaan door een oranje link naar de ontdekkingsregel waar ze vandaan komen.

![](../../../../../assets/en/manual/discovery/low_level_discovery/discovered_items_snmp.png){width="600"}

![](../../../../../assets/en/manual/discovery/low_level_discovery/discovered_triggers_snmp.png){width="600"}

![](../../../../../assets/en/manual/discovery/low_level_discovery/discovered_graphs_snmp.png){width="600"}

[comment]: # ({/16927fe4-76c066a2})
