5 Scoperta degli OID SNMP (legacy)
Panoramica
In questa sezione eseguiremo una discovery SNMP su uno switch.
Chiave dell'item
A differenza del rilevamento del file system e dell'interfaccia di rete, l'item non deve necessariamente avere una chiave "snmp.discovery" - il tipo di item SNMP agent è sufficiente.
Per configurare la regola di discovery, procedere come segue:
- Andare in: Raccolta dati → Template
- Fare clic su Discovery nella riga del template appropriato

- Fare clic su Crea regola di discovery nell'angolo in alto a destra della schermata
- Compilare il modulo della regola di discovery con i dettagli richiesti, come mostrato nella schermata seguente

Tutti i campi obbligatori sono contrassegnati da un asterisco rosso.
Gli OID da rilevare sono definiti nel campo SNMP OID nel seguente formato: discovery[{#MACRO1}, oid1, {#MACRO2}, oid2, …,]
dove {#MACRO1}, {#MACRO2} … sono nomi validi di macro lld e oid1, oid2... sono OID in grado di generare valori significativi per queste macro. Una macro predefinita {#SNMPINDEX} contenente l'indice dell'OID rilevato viene applicata alle entità rilevate. Le entità rilevate sono raggruppate in base al valore della macro {#SNMPINDEX}.
Ecco un esempio in cui vengono eseguiti alcuni snmpwalk sullo 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
E l'SNMP OID è impostato su:
discovery[{#IFDESCR}, ifDescr, {#IFPHYSADDRESS}, ifPhysAddress]
Ora questa regola rileverà entità con macro {#IFDESCR} impostate su WAN, LAN1 e LAN2, macro {#IFPHYSADDRESS} impostate su 8:0:27:90:7a:75, 8:0:27:90:7a:76 e 8:0:27:2b:af:9e, macro {#SNMPINDEX} impostate sugli indici degli OID rilevati 1, 2 e 3:
[
{
"{#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"
}
]
Se un'entità non dispone dell'OID specificato, la macro corrispondente verrà omessa per questa entità. Ad esempio, se abbiamo i seguenti dati:
ifDescr.1 "Interfaccia #1"
ifDescr.2 "Interfaccia #2"
ifDescr.4 "Interfaccia #4"
ifAlias.1 "eth0"
ifAlias.2 "eth1"
ifAlias.3 "eth2"
ifAlias.5 "eth4"
Allora in questo caso la discovery SNMP
discovery[{#IFDESCR}, ifDescr, {#IFALIAS}, ifAlias] restituirà la
seguente struttura:
[
{
"{#SNMPINDEX}": 1,
"{#IFDESCR}": "Interfaccia #1",
"{#IFALIAS}": "eth0"
},
{
"{#SNMPINDEX}": 2,
"{#IFDESCR}": "Interfaccia #2",
"{#IFALIAS}": "eth1"
},
{
"{#SNMPINDEX}": 3,
"{#IFALIAS}": "eth2"
},
{
"{#SNMPINDEX}": 4,
"{#IFDESCR}": "Interfaccia #4"
},
{
"{#SNMPINDEX}": 5,
"{#IFALIAS}": "eth4"
}
]
Prototipi di item
La seguente schermata illustra come possiamo utilizzare queste macro nei prototipi di item:

È possibile creare tutti i prototipi di item necessari:

Prototipi di trigger
La seguente schermata illustra come possiamo utilizzare queste macro nei prototipi di trigger:


Prototipi di grafico
La seguente schermata illustra come possiamo utilizzare queste macro nei prototipi di grafico:


Un riepilogo della nostra regola di discovery:

Entità rilevate
Quando il server è in esecuzione, creerà item, trigger e grafici reali in base ai valori restituiti dalla regola di individuazione SNMP. Nella configurazione del host sono preceduti da un collegamento arancione alla regola di individuazione da cui provengono.


