SNMP
Funzione | Interroga un dispositivo (di solito un dispositivo di rete) per ottenere dati SNMP richiedendo un OID. Consente la ricerca di OID. |
|---|---|
Allarme | Tempo di trasferimento, valori definiti dall'utente, valori diff e valori stringa |
Il Simple Network Management Protocol (SNMP) è di gran lunga il protocollo dominante nella gestione della rete. Uno dei motivi principali della sua diffusione, oltre al fatto di essere lo standard Internet principale per la gestione della rete, è la sua relativa semplicità. L'implementazione della gestione SNMP in un dispositivo in rete è molto più semplice rispetto alla maggior parte degli altri approcci standard o non standard alla gestione della rete.
Il gestore SNMP o l'applicazione di gestione utilizza una sintassi di denominazione ben definita per specificare le variabili all'agente SNMP. I nomi degli oggetti in questa sintassi sono chiamati identificatori di oggetto (Object ID o OID).
Gli OID sono serie di numeri che identificano in modo univoco un oggetto per un agente SNMP. Gli OID sono organizzati in una struttura gerarchica ad albero invertito. L'albero OID inizia con la radice e si espande in rami. Ogni punto dell'albero OID è chiamato nodo e ogni nodo avrà uno o più rami, oppure terminerà con un nodo foglia. Il formato dell'OID è una sequenza di numeri separati da punti.
I seguenti tipi di variabili SNMP sono supportati per i valori:
ASN_COUNTER | Numero intero non negativo a 32 bit che può solo aumentare |
ASN_GAUGE | Intero a 32 bit |
ASN_INTEGER | Intero a 32 bit (da -232 a 232) rfc 1442 |
ASN_INTEGER64 | Intero a 64 bit (da -264 a 264) rfc 1442 |
ASN_OPAQUE | float e double supportati |
ASN_UNSIGNED64 | 64 bit senza segno |
ASN_COUNTER64 | 64 bit senza segno |
ASN_TIMETICKS | senza segno |
Tutti questi valori e la differenza rispetto all'ultima misurazione vengono convertiti in float e quindi trasferiti al server.
I valori di differenza dei tipi sopra indicati vengono automaticamente divisi per il tempo trascorso dall'ultima misurazione ((valore attuale - valore precedente) / (secondi attuali - secondi precedenti)). Ciò significa che otteniamo sempre una frequenza al secondo per tali valori di differenza.
ASN_BIT_STR |
ASN_OCTET_STR |
Questi valori sono stringhe e possono contenere qualsiasi carattere stampabile.
Funzionalità SNMP
Browser MIB online per la selezione OID
File MIB infiniti, posizione: /usr/share/snmp/mibs su ciascun SKOOR Engine Collector
Unità di misura configurabile
Valori differenziali automatici
Supporto PDU versione 1, 2c e v3
Supporto crittografia v3
Allarme a livello n
Selezione dell'interfaccia MIB2 in base al nome
Riferimento nomi OID a numeri OID
Ripetizioni e timeout regolabili
Valori sopprimibili (riduce le dimensioni del database)
Stringhe (riferimento da un numero a un testo)
Analisi dei numeri dal testo OID (solo il primo valore)
Dettagli SNMP
Parametri SNMP
La sezione di immissione dell'autenticazione viene visualizzata solo quando è selezionata la versione 3 di SNMP.
Parametro | Descrizione |
|---|---|
Porta UDP | Selezionare la porta UDP (il valore predefinito è 161) |
Ripetizioni | Numero di tentativi in caso di fallimento della richiesta. Il valore predefinito è 2 tentativi. |
Timeout | Selezionare il timeout per la richiesta. Sulla maggior parte dei dispositivi, le richieste SNMP vengono gestite con priorità bassa, quindi utilizzare un timeout sufficientemente elevato. Il valore predefinito è 2 secondi. |
Versione | Selezionare la versione SNMP servita dal demone snmp remoto. Sono disponibili le seguenti opzioni: Versione 1 |
Livello di sicurezza | Il livello di sicurezza definisce la modalità di invio della richiesta SNMP. Questa opzione è disponibile solo quando si utilizza SNMP v3. Sono disponibili le seguenti opzioni: |
Nome utente | Per l'autenticazione, visibile solo quando si utilizza SNMP v3. |
Passphrase di autenticazione | Passphrase per l'autenticazione, visibile solo quando si utilizza SNMP con autenticazione. |
Protocollo di autenticazione | Protocollo per l'autenticazione, visibile solo quando si utilizza SNMP con autenticazione. Le opzioni attualmente disponibili sono MD5 o SHA. L'impostazione predefinita è MD5. |
Passphrase privacy | Per la crittografia, visibile solo quando si utilizza SNMP con autenticazione e crittografia. |
Protocollo di privacy | Per la crittografia, visibile solo quando si utilizza SNMP con autenticazione e crittografia. Le opzioni attualmente disponibili sono DES e AES. L'impostazione predefinita è DES. |
Comunità | La maggior parte dei dispositivi di rete consente diversi livelli di accesso SNMP, ad esempio: SOLO LETTURA o LETTURA/SCRITTURA. Ciascuno di questi livelli di accesso avrà solitamente una stringa di comunità diversa. Per leggere i dati, è necessario conoscere solo la comunità READ, che solitamente è: public. |
Richiesta OID | Inserire l'OID della base di informazioni di gestione (MIB) per la richiesta. Se l'OID è sconosciuto, è possibile cercarlo sul dispositivo dei lavori con il browser online. È possibile richiedere OID aggiuntivi da un singolo lavoro SNMP facendo clic sul pulsante "+" accanto al pulsante Sfoglia. Se viene immesso più di un OID, l'output di tutti gli OID viene aggiunto allo stesso file di output, uno dopo l'altro. |
Overflow | Lasciare questa impostazione su Auto. Si occuperà del calcolo del valore Diff, se il contatore viene azzerato. Ciò impedisce valori Diff negativi. |
Sopprimere il tempo di trasferimento | Per impostazione predefinita, il tempo necessario per trasferire i dati SNMP viene registrato nel database. Se queste informazioni non sono rilevanti, selezionare questa casella per risparmiare spazio nel database. |
Sopprimere valore | Selezionare i tipi di output SNMP che non devono essere considerati. Se la casella di controllo Sopprimi messaggio informativo è abilitata, l'output stringa SNMP non verrà inviato al server. Il valore di ritorno verrà impostato su Valore non valido solo se è richiesto il valore o il valore diff e non è possibile estrarre un valore dalla stringa. Le caselle di controllo Sopprimi valore, Sopprimi valore diff e |
Mappa stringa su valore | Definire una mappatura degli oggetti stringa SNMP ai valori numerici. Un valore stringa può essere estratto direttamente come valore stringa oppure definendo una mappa stringa nel formato 1=foo,2=bar,0=*, il che significa che la stringa foo verrà convertita nel valore numerico 1, la stringa bar nel valore numerico 2 e (facoltativamente) tutto il resto nel valore 0. In questa definizione non sono ammessi spazi. Se non viene definita alcuna mappa stringa o l'assegnazione non va a buon fine (nessun operatore predefinito definito), la stringa viene analizzata alla ricerca della prima occorrenza di caratteri numerici e il risultato viene trasferito al server come richiesto (valore e/o valore diff). |
Definire l'unità | Vedere la sezione Unità/Divisore SNMP di seguito. |
L'elenco a discesa Tag consente di inserire variabili predefinite nei campi sopra indicati, ad esempio $NAME$ per il nome del lavoro.
Sfoglia online
Per trovare un OID SNMP specifico sull'agente SNMP remoto e utilizzarlo come richiesta SNMP, fare clic sul pulsante Sfoglia online. È utile conoscere la posizione approssimativa nell'albero, per limitare il tempo di ricerca, il traffico di rete e la dimensione dell'output. Immettere la stringa di comunità corretta per l'agente SNMP e selezionare la versione SNMP nella sezione Connessione. Le MIB utilizzate più di frequente possono essere selezionate dal menu a discesa, a partire da Root, che dovrebbe essere selezionato solo se la posizione dell'oggetto richiesto è completamente sconosciuta:
Avviare il processo con il pulsante Avvia scansione:
La scansione può richiedere del tempo per essere completata, a seconda del numero di oggetti sotto l'OID Root selezionato. Fare clic su Aggiorna fino a quando lo stato Download non indica Completato:
Il contatore Download mostra il numero di OID trovati. Per visualizzarli, selezionare Mostra albero o Mostra piatto. Per selezionare un OID, è sufficiente fare clic sul collegamento OID.
Esempio 1 - Vista ad albero con tipo e valore
Esempio 2 - Visualizzazione piatta con valore
Se l'output dell'albero scansionato non mostra informazioni testuali ma solo OID del tipo
1.3.6.1.4.1.13424.11.1.1.25
allora probabilmente la MIB per il dispositivo scansionato non è installata. Per cercare le MIB SNMP, consultare il sito web del produttore del dispositivo o cercare nella homepage di MIB Depot le MIB disponibili al pubblico.
Risoluzione dei nomi generici SNMP
Alcuni server SNMP non sempre associano lo stesso OID allo stesso valore. La lettura dell'utilizzo del disco da un MIB host potrebbe funzionare fino a quando non viene aggiunto un nuovo disco a quel sistema. È possibile che l'indice (che nell'esempio seguente è .2) cambi.
Per evitare ciò, SKOOR Engine può utilizzare un OID di risoluzione definito dall'utente per la mappatura da nome a indice. A tal fine, sostituiamo l'indice con una stringa da abbinare all'OID di risoluzione con il modello tra due caratteri $. Prima di eseguire la query, SKOOR Engine sostituirà la stringa $string$ con l'indice corrispondente trovato. Ecco un esempio di un OID da cui si desidera leggere un valore:
.iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.2
Invece di inserire questa stringa come OID di richiesta, cercare prima la stringa di descrizione SNMP del disco memorizzata sotto il seguente OID:
.iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageDescr
Il suo valore è: C:\ Etichetta: Numero di serie dc133042
Ora sostituisci il numero 2 con il valore sopra indicato racchiuso tra due caratteri $:
iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.$C:\ Etichetta: Numero di serie dc133042$
Non appena viene inserita la seconda stringa $, sotto la riga Request OID1 appare una nuova riga denominata Resolve OID. Inserisci qui la descrizione OID sopra riportata:
.iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageDescr
$C:\ Etichetta: Numero di serie dc133042$ verrà sostituito con 2.
Valore predefinito SNMP
Se la risoluzione del nome OID non riesce (vedere la sezione precedente), è possibile definire un indice predefinito. Nell'esempio sopra riportato, si dovrebbe scrivere l'indice predefinito dopo l'OID di richiesta, separato da uno spazio:
iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.$C:\ Etichetta: Numero di serie dc133042$ 2
Unità/Divisore SNMP
L'output SNMP nell'esempio nella sezione precedente è:
hrStorageDescr.2 C:\ Label: Serial Number dc133042 hrStorageAllocationUnits.2 4096 Bytes hrStorageSize.2 2120572 hrStorageUsed.2 1839613
Per ottenere invece il risultato della capacità di archiviazione utilizzata in GB, è necessario impostare il divisore corretto.
Windows Explorer fornisce le seguenti informazioni sul file system dell'unità C:\:
Volume: 8283MB, 8.08GB Total Size, Freespace 1.07GB
Pertanto, è necessario moltiplicare hrStorageUsed.2 per 4096 per ottenere il valore in byte e poi dividere per 1024 tre volte per ottenere il valore in GB.
1839613 x 4096 / 1024 / 1024 / 1024 = 7,01 GB utilizzati (in linea con i dati di Explorer)
Per impostare il divisore SKOOR Engine, combinare 1024 x 1024 x 1024 / 4096 = 262144
Premere il pulsante Unità per definire il nome del valore, la sua unità e il suo divisore:
Il risultato nella sezione dei valori dopo l'esecuzione del processo SNMP sarà 7,01 GB.
Per ottenere invece la percentuale utilizzata, utilizzare questa formula: hrStorageUsed / hrStorageSize x 100, quindi il divisore sarà 21205,72.
Processi SNMP con più OID
È possibile valutare più OID all'interno dello stesso processo SNMP. Tutte le query SNMP devono essere valide per il dispositivo a cui è collegato il processo SNMP (non è possibile definire query per dispositivi diversi in un unico processo SNMP). È possibile abilitare OID aggiuntivi facendo clic sul pulsante più accanto al pulsante Sfoglia online. Una volta aggiunti gli OID aggiuntivi, nella sezione Risultati sottostante vengono visualizzati campi Risultati aggiuntivi:
Ogni OID ha una sezione di output configurabile separatamente e una propria definizione della stringa di mappatura al valore e un pulsante Unità. Il tempo di trasferimento può essere soppresso globalmente.
L'esempio utilizza Risolvi OID per ciascuno dei 3 OID. Per ulteriori dettagli, consultare la sezione Risoluzione dei nomi generici SNMP sopra riportata.
Il primo e il secondo OID richiedono i contatori ifInOctets e ifOutOctets da un'interfaccia di un dispositivo di rete. Per questi contatori il valore assoluto non è rilevante, ciò che interessa è la variazione nel tempo, quindi i campi Risultato per questi 2 OID sopprimono i valori stessi e qualsiasi valore stringa (che comunque non viene restituito da questo OID).
La definizione dell'unità per il primo risultato OID ha il valore e le unità di valore stringa disattivati di conseguenza:
Viene specificato un divisore per convertire l'output in kBit/s.
byte/s → kBit/s
kbit = byte / 1000 * 8
kbit = byte / (1000 / 8)
kbit = byte / 125
Il terzo OID richiede l'ifOperStatus dell'interfaccia di rete, che viene restituito come stringa (non come oggetto stringa in sé, ma l'output è ad esempio: up(1)) dall'agente SNMP. Questo può essere visto quando si utilizza il pulsante Sfoglia online con l'OID .iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifOperStatus come root:
Poiché i valori numerici vengono gestiti più rapidamente dal SKOOR Engine, di solito è meglio convertire la stringa nota in un valore numerico utilizzando il campo Mappa stringa a valore:
Ciò significa che il risultato inviato al server sarà un valore e non più una stringa, quindi è possibile sopprimere i valori stringa e i valori diff.
La definizione dell'unità per il terzo risultato OID è specificata come segue:
I risultati vengono quindi visualizzati nella sezione Valori:
Se uno degli OID definiti produce un errore, viene visualizzato il messaggio di errore di questo OID e l'intero lavoro fallisce. Tutti gli OID successivi non vengono elaborati se un OID fallisce:
Valori SNMP e limiti di allarme
Valore / Limite di allarme | Descrizione |
|---|---|
Valore1-n | Valore numerico personalizzato definito dal pulsante Unità di risultato degli OID. |
Valore diff1-n | Valore numerico personalizzato definito dal pulsante Unità di risultato OID. |
Valore stringa1-n | Valore stringa personalizzato definito dal pulsante Unità di risultato OID. |
Codice di errore | Codice di errore generico del processo (vedere la sezione Codici di errore dei processi) |
Esempi SNMP
Esempio 1 - Selezione dell'interfaccia SNMP mib-2 in base alla descrizione
È possibile selezionare automaticamente il numero dell'interfaccia in base alla sua descrizione. Ciò può essere utile se il numero di interfacce di un router è soggetto a modifiche. In tal caso, deve essere possibile selezionare l'interfaccia in base alla sua descrizione.
Vogliamo cercare l'OID
.iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifInOctets.<interface id>
per il numero di ottetti che sono passati in entrata attraverso l'interfaccia VLAN 10. Per farlo, cerchiamo prima la descrizione dell'interfaccia sotto .iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifDescr:
e scopriamo che la descrizione è:
em0_vlan10
Ora sostituiamo l'indice numerico dopo ifInOctets con la stringa $em0_vlan10$ e la utilizziamo come OID di richiesta:
.iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifInOctets.$em0_vlan10$
Come OID di risoluzione, utilizzare
.iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifDescr
La ricerca di una stringa descrittiva corrispondente distingue tra maiuscole e minuscole. Il processo ricorderà l'ultimo indice. Se il numero è cambiato, eseguirà una nuova scansione delle descrizioni.



















