Che cos'è SNMP?

SNMP è l'acronimo di Simple Network Management Protocol ed è un protocollo molto diffuso per il monitoraggio dei dispositivi di rete. Non è solo un protocollo di monitoraggio. Come suggerisce il nome, consente anche di gestire e configurare una rete. Può essere utilizzato per rilevare errori e generare avvisi di problemi di rete, quasi in tempo reale.

TL;DR:

SNMP è un protocollo che consente il monitoraggio e la gestione dei dispositivi di rete in un'ampia gamma di infrastrutture.

  • Si basa su agenti installati sui dispositivi per raccogliere metriche e comunicare con i gestori, che analizzano e visualizzano le informazioni.
  • SNMP supporta diverse versioni, con la versione v2c ampiamente utilizzata per la sua semplicità e la versione v3 che offre una maggiore sicurezza tramite crittografia e autenticazione.
  • Le metriche vengono identificate tramite OID e tradotte in formati leggibili tramite MIB, consentendo il monitoraggio dello stato di salute e delle prestazioni del dispositivo.

Introduzione al Simple Network Management Protocol (SNMP)

Il Simple Network Management Protocol (SNMP) è un protocollo fondamentale per la gestione delle reti che consente agli amministratori di rete di monitorare e gestire un’ampia gamma di dispositivi di rete.

Sviluppato a metà degli anni '80, SNMP è diventato gradualmente lo standard de-facto per il monitoraggio della rete negli anni '90 e nei primi anni 2000. È ancora in uso comune grazie alla sua relativa semplicità e all'ampia gamma di metriche che possono essere raccolte per il monitoraggio. Non è privo di difetti e le tre versioni del protocollo sviluppate per risolverli non hanno avuto un successo completo. Oggi la maggior parte dei dispositivi di rete supporta SNMP per impostazione predefinita, senza che l'amministratore di rete debba fare altro che utilizzare un software di monitoraggio SNMP.

Grafici combinati di uno switch in Checkmk

Quali sono i componenti di SNMP?

SNMP funziona con due componenti principali: un agente SNMP e un manager SNMP. L'agente è installato sul dispositivo da monitorare e consiste in una piccola applicazione che raccoglie metriche a livello locale da inviare a una postazione remota. Il manager SNMP è il destinatario. I comandi SNMP, come Get, GetNext, Set e Trap, vengono utilizzati dal manager per recuperare informazioni dagli agenti, configurare i dispositivi e ricevere notifiche sugli eventi. Il manager, infatti, dispone di una serie di comandi che gli consentono di interrogare gli agenti e ottenere i dati necessari. L'agente stesso può, se necessario, inviare informazioni sotto forma di trap SNMP, una delle caratteristiche più note del protocollo SNMP. Il funzionamento di SNMP può essere descritto, in termini generali, come quello di un protocollo che consente la raccolta di metriche e il loro scambio strutturato tra un manager e un agente remoto.

L’agente e il manager comunicano tramite una delle tre versioni di SNMP, ciascuna delle quali richiede impostazioni di configurazione specifiche. Nonostante la sua età, la configurazione di SNMP rimane relativamente semplice. Alla domanda “che cos’è SNMP?” si può rispondere dicendo che è un protocollo utilizzato per il monitoraggio e la manutenzione dei dispositivi di rete tramite l’interazione tra un agente e un manager. Ma c'è di più.

Che cos'è un agente SNMP?

L'agente SNMP è il componente software responsabile della risposta alle query, dell'esecuzione delle richieste e dell'emissione di trap. Principalmente, un agente SNMP ha tre compiti. Il primo è quello di rispondere a un SNMP get dal manager, che è un tipo di interrogazione per ottenere informazioni sul dispositivo gestito. Analogamente, come secondo compito, un manager SNMP può anche emettere una query set per gestire o configurare il dispositivo gestito o, in alternativa, a un agente SNMP, che poi trasporta la richiesta all'host su cui è presente.

Infine, c'è il segnale trap che l'agente può emettere al manager per comunicare se si è verificata una condizione di errore. Pertanto, un agente SNMP non è semplicemente un’applicazione passiva in attesa del manager; può anche inviare attivamente informazioni quando necessario o quando è configurato per farlo, segnalando regolarmente lo stato del dispositivo per fornire una visione aggiornata della salute operativa e delle prestazioni della rete. L’agente SNMP rappresenta quindi il cuore del protocollo, raccogliendo metriche e segnalando errori al manager.

Che cos'è un manager SNMP?

Il manager SNMP si trova all'altro capo di una configurazione SNMP rispetto all'agente. I manager SNMP sono generalmente installati su un NMS (Network Management Station), di cui possono esistere più istanze per rete a seconda del numero di dispositivi gestiti.

Un manager SNMP si occupa del monitoraggio e delle relative attività di calcolo. Le risorse hardware necessarie per il suo funzionamento sono quindi maggiori rispetto a quelle di un agente. Sebbene SNMP possa essere utilizzato direttamente dalla riga di comando, oggi gli strumenti di monitoraggio con dashboard e query automatiche sono più comunemente implementati come manager SNMP. Mentre un agente SNMP è un piccolo pezzo con funzionalità piuttosto fisse, un manager SNMP può essere un software complesso che supporta le query SNMP, ma non si limita solo a queste.

Che cos'è un dispositivo SNMP?

Un dispositivo SNMP è dove è installato un agente SNMP. Questi dispositivi includono switch, bridge, router, server di accesso, hub, stampanti e host in generale. L'elenco è parziale, SNMP è onnipresente e facilmente installabile quasi ovunque. L'agente SNMP è spesso preinstallato dai fornitori sui dispositivi di rete.

Pertanto, qualsiasi dispositivo può diventare un dispositivo SNMP dopo la semplice installazione di un agente. SNMP è ben supportato e disponibile per tutti i principali sistemi operativi, compresi Android e iOS.

Quali sono le versioni SNMP disponibili?

Differenze tra le versioni del protocollo SNMP

SNMP ha avuto origine nei primi anni ’80 da un gruppo di collaboratori che ritenevano i metodi di gestione delle reti allora esistenti difficili da implementare e troppo limitanti. Da allora, l’Internet Engineering Task Force (IETF) ha supervisionato la definizione e la manutenzione degli standard SNMP, guidandone l’evoluzione per oltre tre decenni. Nel corso di questo periodo, sono state introdotte diverse versioni di SNMP.

La versione originale, la v1, è per lo più scomparsa da tutte le infrastrutture moderne, a meno che un dispositivo specifico non possa essere aggiornato a SNMP v2.

Il problema principale che la v1 non risolveva era la sicurezza. Essenzialmente non aveva alcuna sicurezza, lasciandola ai canali sottostanti su cui venivano inviati i messaggi SNMP.

SNMP v2, in particolare la sua variante leggermente più sicura v2c, è di gran lunga il più diffuso ancora oggi. È uscito nel 1993 e ha aggiunto nuovi comandi e un sistema di sicurezza basato sui partiti che non ha preso piede. SNMP v2c ha avuto successo introducendo uno schema di sicurezza più semplice basato sulle comunità e contatori a 64 bit (l'SNMP originale aveva solo 32 bit).

Parallelamente a SNMP v2c, è stata sviluppata la v2u, un compromesso che offriva una sicurezza migliore della v1 pur essendo meno complessa della v2. Sebbene non sia stata molto utilizzata, è stata un'importante fonte di ispirazione per la v3.

SNMP v2, e tutte le sue varianti, non sono compatibili con la v1, poiché i messaggi SNMP utilizzano un'intestazione e formati di dati di protocollo diversi.

La versione 3 è stata introdotta nei primi anni 2000 con il supporto per la crittografia e una pletora di concetti, convenzioni e terminologie diverse. Tuttavia, il protocollo di base non è stato modificato molto e molti fornitori hanno preferito rimanere sulle versioni v2 e v2c, più collaudate e meno pesanti dal punto di vista computazionale.

Servizi di uno switch monitorati tramite SNMP

A cosa serve SNMP?

SNMP è ampiamente utilizzato per il monitoraggio IT. Con il monitoraggio SNMP è possibile tenere sotto controllo i parametri principali di switch, access point cablati e wireless, router e molti altri tipi di dispositivi su cui SNMP è comunemente installato. Tra questi rientrano anche appliance, sensori hardware e stampanti, rendendo SNMP una soluzione completa per il monitoraggio dell’hardware.

Le capacità del protocollo SNMP vanno oltre il semplice monitoraggio. L'acronimo SNMP è Simple Network Management Protocol, quindi è possibile anche la gestione. La gestione e la configurazione a distanza dei dispositivi è uno degli usi principali dell'SNMP. Con un semplice client SNMP o uno strumento di monitoraggio, i parametri e le opzioni possono essere modificati in remoto tramite SNMP su molti dispositivi.

Come funziona SNMP?

L'impostazione del monitoraggio SNMP è di norma un compito poco impegnativo. Poiché molti dispositivi sono dotati di un agente SNMP già installato, è sufficiente attivarlo per iniziare a monitorare il dispositivo. Per attivare l'agente, è necessario configurarlo in modo che accetti le richieste attive, principalmente i comandi SNMP get e set. Tuttavia, di solito è meglio consultare prima il manuale del singolo dispositivo, poiché i fornitori hanno implementazioni diverse del protocollo.

SNMP utilizza le unità di dati di protocollo (PDU, Protocol Data Unit) per scambiare richieste e risposte tra manager e agenti. 

Una volta attivati gli agenti, la soluzione di monitoraggio scelta può ora recuperare informazioni e metriche sul dispositivo tramite SNMP. Spesso ciò avviene attraverso un'estrazione completa di tutti i dati SNMP sui dispositivi gestiti, un comando SNMP walk. Le modalità e i dati estratti dipendono dall'operatore o dallo strumento di monitoraggio. Ad esempio, Checkmk utilizza la scoperta dei servizi tramite SNMP recuperando solo i primi record (OID) di un dispositivo. Sulla base di queste informazioni, vengono effettuate ulteriori interrogazioni in base alle necessità. In questo modo si evita di trasferire prima grandi quantità di dati e si accelera notevolmente la fase di individuazione dei dispositivi SNMP, che può richiedere ore su infrastrutture di grandi dimensioni.

I principali dati monitorati tramite SNMP includono l’utilizzo della larghezza di banda, le statistiche delle interfacce — come la perdita di pacchetti e gli errori — e metriche SNMP fondamentali come il tempo di attività del dispositivo (uptime), il carico della CPU e l’utilizzo della memoria, che insieme forniscono una visione complessiva dello stato del dispositivo e delle prestazioni della rete.

La raccolta di queste metriche avviene dal lato dell’agente, dopo di che vengono trasmesse attraverso la rete affinché il manager possa analizzarle. A volte, un agente può inviare una trap al manager, ma nella maggior parte dei casi è il manager a richiedere i dati agli agenti. Soluzioni avanzate di monitoraggio SNMP di terze parti includono spesso sistemi di allerta che notificano in tempo reale gli amministratori in caso di eventi critici, garantendo una risposta tempestiva ai problemi di rete.

Come funziona SNMP

Che cos'è l'OID in SNMP?

OID (Object Identifier) è un meccanismo di identificazione per nominare qualsiasi tipo di oggetto o concetto. È uno standard internazionale per indirizzare qualsiasi cosa in modo molto specifico. SNMP ha adottato questo concetto, ma non l'ha creato.

Un OID SNMP è una lunga sequenza di numeri separati da punti. Ad esempio, 1.3.6.1.2.2.1.5 è un OID che identifica inequivocabilmente un oggetto in un albero logico gerarchico. Gli OID vanno letti da sinistra a destra, partendo dalla radice che può essere solo 0 o 1 o 2, a seconda dell'arco degli standard seguenti:

  • 0 è per ITU-T (uno dei tre settori dell'Unione Internazionale delle Telecomunicazioni).
  • 1 è per l'ISO (Organizzazione internazionale per la standardizzazione).
  • 2 è per un arco congiunto ISO/ITU-T.

Entrambe le organizzazioni definiscono rispettivamente i nodi figli, i numeri successivi, e possono delegare l'autorità di assegnazione ad altri.

Nell'esempio precedente, l'1 è per l'ISO, il 3 per "l'organizzazione identificata", il 6 per il Dipartimento della Difesa americano e giù per l'albero fino all'ultima cifra che si riferisce a una "cosa" specifica, a seconda del contesto. Questa cosa è spesso una variabile che identifica una metrica specifica del dispositivo monitorato. Può essere la temperatura di un processore, ad esempio, o il tempo di attività di un host.

Alcuni sottoalberi sono generici, altri appartengono a organizzazioni o aziende specifiche e specificano il loro prodotto. Questi ultimi sono monitorati da SNMP, il che rende l'OID fondamentale per sapere cosa e dove si trova ogni dispositivo che supporta SNMP. Ogni fornitore è libero di specificare i propri sottoalberi, a seconda dei propri dispositivi e delle loro funzioni.

Queste lunghe serie di numeri sarebbero di scarsa utilità se non fosse possibile recuperare il significato di ciascun numero. A tale scopo, si utilizza un altro elemento del funzionamento di SNMP, la MIB (Management Information Base).

Diagramma ad albero del MIB SNMP

Che cos'è una MIB in SNMP?

Una Management Information Base (MIB) è un componente fondamentale del sistema SNMP, che fornisce un database standardizzato per organizzare e interpretare i dati dei dispositivi.

Una MIB in SNMP traduce gli OID in forma leggibile, fornendo nomi, definizioni e descrizioni per i valori. Poiché ogni fornitore ha una classificazione diversa per i propri sottoalberi OID, una MIB si presenta come una tabella utilizzata per raggruppare le istanze di un oggetto tabellare.

In ogni MIB sono presenti delle righe, ognuna delle quali rappresenta una serie di informazioni o impostazioni appartenenti a un oggetto. Ad esempio, una riga può contenere il nome, il tipo e la temperatura corrente di un sensore hardware; un'altra può includere il numero di porte hardware, la velocità massima e corrente di ciascuna e la versione del firmware di uno switch. Più il dispositivo è complesso, più cifre vengono utilizzate per indicizzare tutte le sue caratteristiche, metriche e impostazioni.

Ogni fornitore mantiene e aggiorna le proprie MIB. Si tratta di dizionari leggibili dall'uomo che corrispondono agli OID specifici del dispositivo in questione. Il protocollo ha bisogno solo degli OID per funzionare, le MIB servono soprattutto a informare gli amministratori di rete su cosa si trova in ogni OID.

Esempio di MIB SNMP

SNMP get

SNMP si basa su un insieme di operazioni fondamentali, come il comando get, per recuperare dati dai dispositivi gestiti.

SNMP get è l'operazione più semplice del monitoraggio SNMP. Il manager SNMP utilizza il comando get per recuperare informazioni dall'agente, specificando l'OID di ciò che deve essere recuperato. È possibile ottenere un OID per ogni comando SNMP get, recuperando una singola metrica su ogni sweep.

A seconda della versione del protocollo SNMP utilizzata, potrebbe essere necessaria anche una stringa di comunità per autenticarsi con l'agente. In genere, deve essere fornita. L'indirizzo dei dispositivi di destinazione è ovviamente necessario. L'agente si occuperà di recuperare i dati corretti all'OID desiderato.

Che cos'è la walk SNMP?

E se si volesse recuperare un gran numero di metriche tramite SNMP senza doverle specificare tutte? SNMP walk fa esattamente questo. Utilizza il comando SNMP GetNext per recuperare un intero sottoalbero partendo da un OID verso il basso. Tutte le variabili del sottoalbero al di sotto dell'OID specificato vengono interrogate e rinviate al manager SNMP. Raccogliendo e strutturando in modo sistematico le informazioni dall’albero MIB, il comando SNMP walk aiuta a organizzare i dati per facilitare l’analisi e la risoluzione dei problemi.

Se non viene specificato alcun OID, ma solo l'indirizzo di un dispositivo, verranno interrogate tutte le variabili appartenenti a quel dispositivo. Questo restituisce una grande quantità di dati e può essere un'operazione lenta.

Nel monitoraggio SNMP, questo è uno dei modi più utili per verificare lo stato di salute di un dispositivo o di una parte della rete. Una walk SNMP è un modo semplice e facile da automatizzare per ottenere una buona visione di uno o più dispositivi gestiti.

SNMP traps

Le SNMP traps sono il modo in cui gli agenti comunicano con il manager senza essere interrogati.
Le SNMP traps permettono a un agente di notificare immediatamente al manager eventi importanti, senza dover attendere la richiesta.

L'agente può inviare trap generiche e proprietarie. Quelle generiche servono a segnalare eventi comuni, come un collegamento interrotto o ripristinato, la reinizializzazione del dispositivo o i guasti di autenticazione. Le trap proprietarie dipendono dal fornitore e possono comprendere decine di trap diverse.

Qualunque sia il tipo di trap SNMP inviata, il gestore la riceve e agisce in base alla configurazione dello strumento di monitoraggio della rete. I messaggi di trap sono fondamentali per la notifica in tempo reale degli eventi e per il rilevamento degli incidenti, offrendo uno dei meccanismi più vicini agli avvisi in tempo reale all’interno del protocollo SNMP e rendendoli quindi estremamente preziosi per il monitoraggio della rete.

Che cos'è una community string in SNMP?

Le community string SNMP agiscono come password per l'autenticazione tra agenti e gestori SNMP. Una community string è una stringa alfanumerica che, notoriamente, era impostata su "public" per impostazione predefinita, ma questo non è più comune. In SNMP v1 e v2c, la stringa viene inviata in chiaro attraverso la rete e, se corrisponde, viene concesso l'accesso all'agente.

SNMP v3 ha introdotto la crittografia delle community string, che non vengono più inviate in chiaro sulla rete, evitando così lo spoofing. La crittografia deve però essere preconfigurata. La crittografia SNMP può rallentare il monitoraggio, in quanto comporta un carico maggiore per l'agente, ma anche per il manager. Pertanto, è necessario valutare le capacità dell'hardware sottostante.

Indipendentemente dalla versione del protocollo SNMP utilizzata, si consiglia vivamente di modificare la community string predefinita, poiché è ben nota agli aggressori. SNMP non è molto sicuro e, a meno che la sezione di rete non sia chiusa all'esterno, la configurazione di una community string personalizzata e l'abilitazione della crittografia forniscono solo un ambiente moderatamente sicuro per il monitoraggio.

Volume Berlin - 94.5% used
Volume Munich - 87.8% used
Diagnosis Status - ok
CPU utilization - 8.1% used
CPU1 - Intel Xeon 1.80GHz
Temperature CPU1 - 45.0 °C
Power Consumption - 70 Watt
Physical Disk 0:1:0 - Offline
CPU utilization - 40% utilization
Power Supply - Normal
Interface 001 - Up
Interface Uplink-Rack 18 - Down
Input Phase 1 - 231.4V, 13.4 A
Output Phase 1 - 230.7V, 19.6 A
UPS Alarms - No alarms
Battery Charge - On mains

Come configurare SNMP nella rete: una panoramica guidata

Sulla base di quanto discusso finora, è utile riassumere le principali fasi coinvolte in una corretta implementazione di SNMP. Sebbene la configurazione del monitoraggio SNMP sia generalmente semplice, ogni fase svolge un ruolo importante nel garantire una comunicazione sicura, una raccolta dati accurata e una gestione efficiente della rete.

Se utilizzi Linux, puoi seguire il nostro completo tutorial per una guida pratica alla configurazione di SNMP.

Di seguito è riportata una panoramica generale dei passaggi essenziali necessari per attivare e utilizzare SNMP in modo efficace:

1. Configurazione degli agenti SNMP

Il processo inizia con gli agenti SNMP — i componenti installati sui dispositivi gestiti che raccolgono ed espongono i dati sulle prestazioni. Gli agenti devono essere correttamente abilitati e messi in sicurezza, utilizzando stringhe di community o credenziali SNMPv3, e configurati in modo da comunicare esclusivamente con i manager SNMP autorizzati. Queste impostazioni iniziali costituiscono la base per uno scambio di informazioni sicuro e controllato.

2. Configurazione del manager SNMP

Il manager SNMP funge da sistema centrale che interroga gli agenti, raccoglie i dati e interpreta le informazioni a fini di monitoraggio. Deve essere allineato con le credenziali degli agenti e configurato per comunicare a intervalli appropriati, in modo da mantenere l’efficienza senza sovraccaricare la rete.

Sebbene SNMP possa essere utilizzato anche direttamente dalla riga di comando per verifiche rapide o attività di troubleshooting, senza la necessità di un manager SNMP, questo approccio risulta meno intuitivo per l’uso quotidiano. Tuttavia, per diagnosi brevi e mirate, può essere un’opzione pratica ed efficiente. Per andare oltre questi controlli occasionali e ottenere una visibilità continua, è quindi importante configurare il manager SNMP, che di solito è integrato in un sistema di monitoraggio della rete più ampio.

3. Integrazione con una soluzione di monitoraggio della rete

Una volta che gli agenti e il manager sono operativi, l’integrazione con una soluzione di monitoraggio della rete consente di centralizzare e visualizzare tutti i dati raccolti. Attraverso questi sistemi è possibile monitorare in tempo reale le prestazioni della rete, la disponibilità e gli avvisi, ottenendo una visione consolidata dell’intera infrastruttura e semplificando la gestione della rete.

4. Manutenzione e ottimizzazione della configurazione

La configurazione iniziale è solo il punto di partenza. É infatti la manutenzione continua a garantire affidabilità e precisione a lungo termine. Ciò include la revisione degli intervalli di polling, l'aggiornamento delle credenziali e delle autorizzazioni di accesso, l'aggiornamento degli agenti SNMP e delle MIB man mano che i dispositivi evolvono e l'utilizzo dei trend dei dati storici per identificare e affrontare in modo proattivo potenziali problemi. A questo scopo, un sistema di monitoraggio IT completo offre un aiuto inestimabile. 

Con un sistema come Checkmk, diventa più facile risolvere i problemi SNMP, aggiornare gli agenti SNMP in massa e conservare dati storici completi come parte di una strategia di gestione dei dati integrata e più ampia. La documentazione ufficiale di Checkmk offre una buona panoramica di ciò che un sistema di monitoraggio IT moderno e completo può offrire quando si ha a che fare con il monitoraggio SNMP.

L'ottimizzazione costante mantiene il monitoraggio SNMP allineato alle mutevoli condizioni della rete e supporta una gestione della rete efficiente, sicura e scalabile nel tempo.

Monitoraggio con SNMP

Il monitoraggio SNMP può essere spiegato come l’interazione tra agenti installati sui dispositivi gestiti e uno o più manager che raccolgono e analizzano i dati provenienti da tali agenti. I dati ottenuti tramite SNMP forniscono informazioni sullo stato dei dispositivi all’interno della rete, supportando le attività di monitoraggio e gestione IT. La soluzione di monitoraggio funge da processore centrale che recupera i dati in modo mirato dagli agenti SNMP sui dispositivi monitorati, oppure funge da destinatario dei messaggi di evento.

Quali sono i vantaggi di SNMP?

Il punto più importante a favore dell'uso di SNMP è la sua capacità di recuperare facilmente informazioni da molti dispositivi della rete. La sua ampia diffusione nel settore nel corso degli anni rende l'implementazione di una soluzione di monitoraggio SNMP una scelta facile. Molti sistemi di monitoraggio della rete, come Checkmk, utilizzano SNMP per raccogliere informazioni. SNMP è "già presente" nella maggior parte delle reti, quindi utilizzarlo nel monitoraggio è spesso facile come attivare gli agenti.

Oltre a monitorare componenti di rete essenziali come router, switch e server, e a raccogliere metriche chiave come il carico della CPU per valutare lo stato del sistema e individuare risorse sovrautilizzate, SNMP offre numerosi ulteriori vantaggi rispetto ad altri protocolli di monitoraggio della rete. Ad esempio, può recuperare metriche da sensori ambientali come sistemi di raffreddamento, monitor di tensione e sensori di temperatura — dati che spesso non sono accessibili tramite altri protocolli o richiedono agenti specifici. Ma anche quando tali agenti sono disponibili, ottenere queste metriche raramente risulta semplice come con SNMP.

Il recupero delle informazioni tramite SNMP non richiede diritti di accesso di alto livello sul dispositivo. È sufficiente una stringa di comunità condivisa per avviare lo scambio di dati tra gli agenti e i manager. L'impostazione del monitoraggio tramite SNMP è quindi più semplice rispetto ad altre soluzioni.

Il lato oscuro di SNMP: I problemi e le difficoltà più comuni

Il monitoraggio SNMP è tutt’altro che privo di problemi. Monitorare dispositivi di rete che inviano solo trap SNMP può creare difficoltà, poiché queste vengono trasmesse come pacchetti UDP, che possono andare perduti. Di conseguenza, un problema verificatosi potrebbe non essere rilevato.

Anche quando il monitoraggio si basa esclusivamente sul polling SNMP, il processo non è affatto infallibile. Gli amministratori di rete possono riferire di numerose "storie infernali", dovute a implementazioni SNMP incomplete o errate da parte dei produttori di dispositivi, che portano gli agenti a segnalare dati imprecisi o i manager a sperimentare timeout nelle richieste. Un esempio comune è la segnalazione errata degli errori di interfaccia — metriche spesso monitorate tramite SNMP ma potenzialmente inaffidabili se il protocollo non è implementato correttamente. Risolvere tali incongruenze richiede una configurazione attenta per garantire una raccolta dati accurata e prestazioni di rete affidabili. In molti casi, gli amministratori devono regolare manualmente le impostazioni dei dispositivi, anche se sistemi di monitoraggio avanzati — come Checkmk — possono rilevare automaticamente e ignorare i valori difettosi noti. 

Non tutti i tipi di informazioni possono essere forniti tramite SNMP. Ad esempio, le versioni del sistema operativo o gli elenchi di applicazioni sui server non sono forniti da SNMP, o lo sono solo in misura limitata. In casi come questo, per raccogliere questi dati sono necessari più agenti, non solo quelli SNMP.

La risoluzione dei problemi con SNMP è di rado un processo rapido. L'esecuzione di molte richieste di walk SNMP in un ambiente con numerosi host finisce spesso per richiedere ore o per andare in tilt. Il tempo di elaborazione di alcune richieste SNMP può essere consistente e rallentare notevolmente il monitoraggio della rete con questo protocollo. Un motore SNMP integrato nel sistema di monitoraggio, come quello presente in Checkmk Enterprise Edition, può ridurre il consumo di CPU per queste richieste fino alla metà.

Alcuni di questi problemi possono sembrare comuni a molte altre soluzioni di monitoraggio. Tuttavia, in SNMP possono risultare più gravi, tanto da farlo considerare da alcune aziende e amministratori​​​ un male necessario. In effetti, è stato deprecato da importanti protagonisti del settore IT come Microsoft e Google, e il suo futuro potrebbe non essere più roseo come qualche anno fa. Per il momento, però, in assenza di un’alternativa credibile destinata a sostituirlo nel prossimo futuro, SNMP rimane una componente fondamentale del monitoraggio di rete.

FAQ

Quale porta utilizza SNMP?

SNMP utilizza due porte diverse, la UDP 161 e la 162. La prima è quella su cui gli agenti restano in ascolto delle richieste in arrivo dai manager SNMP, mentre la seconda è la porta su cui il manager si aspetta di ricevere le trap SNMP. In entrambi i casi, le porte di origine possono essere qualsiasi.

Cos'è il monitoraggio agentless?

Il monitoraggio agentless è un concetto nel campo del monitoraggio IT in cui non è presente alcun servizio o software specifico in esecuzione sul dispositivo da monitorare. Normalmente, questo ruolo è svolto da un agente. Nel monitoraggio agentless, il dispositivo di gestione remoto interroga i vari dispositivi della rete per ottenere informazioni. Questi ultimi espongono le proprie metriche senza utilizzare alcun agente, ma tramite protocolli specifici.

SNMP, pur avendo agenti effettivamente installati sui dispositivi gestiti, è considerato nella pratica un protocollo di monitoraggio agentless, poiché tali agenti sono solitamente già predisposti per il monitoraggio. Ciò elimina la necessità di installare e configurare manualmente l’agente, come invece avviene in una vera soluzione agentless.

Che cos'è il monitoraggio basato su agenti?

Il monitoraggio basato su agenti si basa sulla presenza di agenti sui dispositivi da monitorare. Questi piccoli servizi si occupano di raccogliere le metriche nel corso del tempo e di fornire un resoconto al manager. Questi agenti tolgono parte del carico ai manager, accelerando il monitoraggio in alcuni casi.

A differenza di una soluzione agentless, gli agenti devono essere installati o preinstallati su ogni dispositivo da monitorare e possibilmente anche configurati prima di essere utili.

Comandi di base di SNMP

Soltanto una parte dei comandi SNMP è comunemente utilizzata dagli amministratori di rete. I più utili per il monitoraggio sono:

  • SNMP get, per richiedere uno o più valori da un albero MIB.
  • SNMP getnext, per richiedere il valore OID successivo in un albero MIB.
  • SNMP walk, è una richiesta effettuata sul nodo radice di un sottoalbero MIB per recuperare automaticamente tutti i nodi del sottoalbero attraverso una serie di richieste get e getnext.
  • SNMP bulk walk, è una richiesta di grandi dimensioni, più grande di una walk, per recuperare pezzi di alberi OID su un'entità di rete.
  • SNMP table, è una richiesta simile a walk, ma produce il risultato in un formato tabellare, più facile da visualizzare.
  • SNMP set, è una richiesta di modifica dei valori di un dispositivo gestito.
  • SNMP traps, non richieste ma notifiche da parte di un agente a un manager su un evento verificatosi.