[comment]: # ({03437da9-03437da9})
# 4 Descoberta de OIDs SNMP

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

[comment]: # ({cf8bf5a8-cf8bf5a8})
#### Vista general

En aquesta secció, farem una [descoberta](/manual/discovery/low_level_discovery) SNMP sobre un switch.

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

[comment]: # ({48556d91-d8452a6a})
#### Clau d'element

A diferència del sistema de fitxers i la descoberta de la interfície de xarxa, l'element no necessita necessàriament una clau "snmp.discovery"; amb el tipus d'element de l'agent SNMP n'hi ha prou.

Per configurar la regla de descoberta, feu el següent:

- Aneu a: *Configuració* → *Models*
- Feu clic a *Descoberta* a la línia del model adequat

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

- Feu clic a *Crear una regla de descoberta* a la cantonada superior dreta de la pantalla.
- Ompliu el formulari de regles de descoberta amb els detalls necessaris com a la captura de pantalla següent

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

Tots els camps d'entrada obligatoris són marcats amb un asterisc vermell.

Els OID per descobrir es defineixen al camp OID SNMP amb el format següent: `discovery[{#MACRO1}, oid1, {#MACRO2}, oid2, ...,]`

on *{#MACRO1}*, *{#MACRO2}* ... són noms de macro lld vàlids i *oid1*, *oid2*... són OID capaços de generar valors significatius per a aquestes macros. A les entitats descobertes s'hi aplica una macro integrada *{#SNMPINDEX}* que conté l'índex de l'OID descobert. Les entitats descobertes s'agrupen per valor de macro *{#SNMPINDEX}*.

Per entendre què volem dir, executem unes quantes ordres snmpwalks al nostre switch:

    $ 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

I configureu l'OID SNMP a: `discovery[{#IFDESCR}, ifDescr, {#IFPHYSADDRESS}, ifPhysAddress]`

Aquesta regla ara detecta entitats amb {#IFDESCR} macros establertes a **WAN**, **LAN1** i **LAN2**, les macros {#IFPHYSADDRESS} s'estableixen a **8:0:27: 90:7a :75**, **8:0:27:90:7a:76** i **8:0:27:2b:af:9e** Les macros {#SNMPINDEX} són configurades per a índexs OID descoberts **1**, **2** i **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"
    }
]
```

Si una entitat no té l'OID especificat, s'ometrà la macro corresponent per a aquesta entitat. Per exemple, si tenim les dades següents:

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

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

En aquest cas, la descoberta SNMP de `discovery[{#IFDESCR}, ifDescr, {#IFALIAS}, ifAlias]` retornarà l'estructura següent:

``` {.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})
#### Prototips d'elements

La següent captura de pantalla il·lustra com podem emprar aquestes macros en prototips d'elements:

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

Podeu crear tants prototips d'article com us calgui:

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

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

[comment]: # ({da4e62e5-042beac9})
#### Prototips de trigger

La següent captura de pantalla ensenya com podem emprar aquestes macros en prototips de triggers:

![](../../../../../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})
#### Prototips de gràfics

La següent captura de pantalla ensenya com podem emprar aquestes macros a prototips de gràfics:

![](../../../../../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"}

Un resum de la nostra regla de descoberta:

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

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

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

Quan el servidor s'executa, crea elements reals, triggers i gràfics basats en els valors que retorna la regla de descoberta SNMP. A la configuració de l'equip, van precedits per un enllaç carbassa a una regla de descoberta d'origen.

![](../../../../../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})
