Nell'articolo "Monitoraggio della rete con SNMP: storie dall'inferno" abbiamo presentato alcuni problemi che si verificano nel monitoraggio SNMP e che sono spesso il risultato di cattive implementazioni del protocollo da parte dei produttori. Inoltre, abbiamo fornito istruzioni dettagliate per il debug dei problemi SNMP. In questo articolo approfondiremo ulteriormente: Dopo tutto, SNMP è in uso da oltre 30 anni come standard de facto per il monitoraggio dei componenti di rete, con tutti i suoi vantaggi e svantaggi.

Sebbene SNMP sia considerato non performante e insicuro per vari motivi e presenti diversi limiti in materia di scalabilità, per tutto questo tempo non c'è stato alcun tentativo riuscito di sostituire questo protocollo in quanto tale. Con SNMP v2c e v3 esistono solo estensioni. Sebbene diversi produttori offrano interfacce proprietarie per l'accesso remoto ai propri dispositivi di rete, per il monitoraggio della rete manca ancora un approccio uniforme, come quello disponibile dal 2015 con Redfish nel monitoraggio dei server.

SNMP vi aiuta a raccogliere dati per il monitoraggio della rete.
SNMP fornisce i dati di monitoraggio dei sistemi. Così è possibile controllare, ad esempio, i tassi di errore o la larghezza di banda di un'interfaccia di rete nel monitoraggio della rete.

Redfish è una specifica per la manutenzione remota dei sistemi server tramite una REST-API, che prima o poi sostituirà il protocollo IPMI (Intelligent Platform Management Interface). Fornisce inoltre un'interfaccia di programmazione standardizzata per la manutenzione remota dei server, e un output basato su schemi che è anche leggibile dall'uomo e può essere utilizzato anche per applicazioni client e GUI basate su browser. La trasmissione dei dati in formato JSON avviene tramite HTTPS.

È sorprendente che non ci sia ancora stato un tentativo diffuso di introdurre un nuovo standard uniforme anche per il monitoraggio dei componenti di rete. Dopo tutto, anche network trend come il Software Defined Networking (SDN) o il Machine Learning (ML) stanno diventando sempre più importanti nelle strategie dei produttori. L'Intent-based networking (IBN), ad esempio, ha lo scopo di automatizzare le attività manuali di routine, come la configurazione, grazie all'AI (intelligenza artificiale), e di essere in grado di rilevare e risolvere automaticamente i problemi di rete. Inoltre, i produttori di tale approccio IBN offrono una visione in tempo reale delle attività di rete. Tuttavia, anche in questo caso è evidente che ogni produttore segua la propria definizione di IBN - d'altra parte, concepire una "monocultura" nelle reti aziendali sarebbe irrealistico.

Molti produttori offrono anche protocolli proprietari per i loro componenti di rete. Per l'integrazione di un interfaccia simile, tuttavia, è necessario uno sforzo consistente in termini di sviluppo - Checkmk offre già numerosi special agent utili questo scopo.

Un'alternativa a SNMP è ancora da trovare

Non è stata ancora trovata una vera alternativa a SNMP. Tuttavia, si può ipotizzare che questo protocollo verrà sostituito nel medio termine, poiché sta già raggiungendo i suoi limiti in termini di monitoraggio in tempo reale. Ciò è dovuto al funzionamento stesso di SNMP. Come spiegato in altri articoli del blog, il polling SNMP e le trap SNMP rappresentano due modalità diverse di monitoraggio.

Durante il polling, l'istanza di monitoraggio interroga lo stato dei componenti di rete a intervalli di tempo specifici. Se si verifica un incidente sul dispositivo tra due polling, ad esempio un breve cambiamento di stato di un'interfaccia, l'amministratore non ne viene a conoscenza. Per avvicinarsi alle interrogazioni in tempo reale, l'amministratore dovrebbe accorciare significativamente gli intervalli di tempo tra i vari polls in tutto l'ambiente di monitoraggio, aumentando notevolmente il carico sui dispositivi monitorati.

Con le trap SNMP, invece, i dispositivi di rete inviano una notifica all'istanza di monitoraggio quando si verifica un evento. Il vantaggio è che l'amministratore non deve avviare interrogazioni regolari e riceve una notifica se si verifica un evento. Lo svantaggio è che le trap SNMP inviano i dati come pacchetti UDP e non c'è una conferma di ricezione, quindi non è possibile verificare se il pacchetto è arrivato. Può anche accadere che il destinatario, cioè l'istanza di monitoraggio, venga sommerso di notifiche se un componente centrale si guasta.

Una combinazione di monitoraggio basato sullo stato e sugli eventi è quindi utile, ma non risolve il problema della mancante scalabilità mancante o di punti ciechi nella rete se i pacchetti UDP inviati dalle trap vengono persi. Con la telemetria in streaming, ad esempio, esiste un nuovo approccio al monitoraggio della rete che sta suscitando l'interesse di molte aziende con grandi infrastrutture e trovando un crescente sostegno anche tra i produttori di reti. Arista, Cisco, Juniper Networks o Nokia, ecc. stanno già lavorando con la Streaming Telemetry e hanno già avviato progetti open source per questa tecnologia con Pipeline (Cisco), OpenNTI (Juniper) e GoArista (Arista).

Monitoraggio della rete con Streaming Telemetry

A differenza del monitoraggio SNMP, i componenti della rete, come un router o uno switch, trasmettono continuamente dati all'istanza di monitoraggio utilizzando un modello push. È inoltre possibile per gli operatori e le applicazioni sottoscrivere specifici elementi di dati. L'amministratore può specificare quali informazioni sono richieste, con quale frequenza e dove il dispositivo di rete deve trasmettere il pacchetto di dati. In questo modo, la telemetria in streaming dovrebbe essere in grado di fornire un accesso in tempo reale ai dati che sono anche preparati per scopi di ML o di analisi. In questo modo, la tecnologia può contribuire a far progredire temi come l'automazione, la risoluzione dei problemi o persino l'ottimizzazione del traffico in ambienti di rete di grandi dimensioni.

Va notato, tuttavia, che la telemetria in streaming non è ancora stata standardizzata. Esistono diverse possibilità e variabili, che attualmente ogni produttore interpreta ancora in modo diverso. Ad esempio, sono disponibili diverse opzioni di trasporto, come TCP, UDP o gRPC. Esistono anche diverse opzioni per i formati dei file.

Resta quindi da vedere se ci sarà una standardizzazione o quale implementazione prevarrà. In ogni caso, sembra che la telemetria in streaming stia diventando un'opzione per il monitoraggio della rete in ambienti di grandi dimensioni. A seconda dell'evoluzione della tecnologia e della sua rilevanza, ci occuperemo anche di questi argomenti e studieremo una possibile integrazione in Checkmk.

A prescindere da ciò, si può quindi ritenere che non ci sia ancora una fine in vista per SNMP. Nonostante le sue carenze, finora non è emerso alcun successore in oltre 30 anni. Streaming Telemetry è un potenziale concorrente, ma è ancora troppo presto per dire se col tempo si trasformerà in un serio successore o 'solo' in un'utile aggiunta. Indipendentemente dal fatto che si tratti di Telemetria in streaming o di qualsiasi altra tecnologia, passerà molto tempo prima che una nuova tecnologia sia così avanzata da poter scalzare SNMP dal trono. È quindi probabile che SNMP rimanga il protocollo dominante nel monitoraggio della rete e, se ci sarà un erede al trono, SNMP continuerà a essere utilizzato - almeno in parallelo - per molto tempo ancora.