10 Monitorare uno switch o un router di rete con Zabbix

Introduzione

Questa guida illustra i passaggi necessari per avviare il monitoraggio di base del tuo switch o router di rete utilizzando Zabbix. Come esempio viene usato un router Cisco, ma la procedura si applica a qualsiasi dispositivo di rete con SNMP abilitato.

A chi è rivolta questa guida

Questa guida è pensata per i nuovi utenti di Zabbix e per gli amministratori di rete che desiderano abilitare rapidamente il monitoraggio di base dei dispositivi di rete. Se hai bisogno di una personalizzazione approfondita o di opzioni di configurazione avanzate, fai riferimento alla pagina SNMP agent o alla sezione Configuration del manuale di Zabbix.

Prerequisiti

Prima di procedere con questa guida, assicurati di avere:

  • Zabbix server e Zabbix frontend installati: esegui l'installazione secondo le istruzioni per il tuo sistema operativo (vedi Installation from packages e Web interface installation).
  • Zabbix agent installato se devi monitorare metriche di rete locali.
  • Dispositivo con SNMP abilitato: uno switch o router di rete (ad esempio, un router Cisco) con SNMP abilitato.
  • File MIB installati: l'installazione dei file MIB consente a Zabbix di tradurre gli OID numerici in nomi e descrizioni leggibili. Senza un supporto MIB adeguato, potresti vedere solo valori numerici, rendendo più difficile configurare gli item e risolvere i problemi.

Per installare i file MIB su Ubuntu:

1. Installa il pacchetto per il download dei MIB:

sudo apt-get update
sudo apt-get install snmp-mibs-downloader

Se devi aggiungere MIB specifici del fornitore (ad esempio, di Cisco o Juniper), inseriscili nella directory MIB appropriata:

  • Per i sistemi basati su Linux, i percorsi comuni includono /usr/share/snmp/mibs/ o /usr/local/share/snmp/mibs/.
  • Per le installazioni di Zabbix, i file MIB possono essere archiviati in /var/lib/zabbix/mibs/.

Assicurati che la variabile d'ambiente MIBDIRS o il file snmp.conf includano il percorso corretto.

Per verificare che il sistema riconosca i nuovi MIB, usa:

snmptranslate -IR -On <MIB-NAME>::<object>

Per istruzioni dettagliate, fai riferimento alla documentazione della tua libreria SNMP:

2. Modifica /etc/snmp/snmp.conf e commenta la riga che inizia con mibs : per consentire al sistema di caricare tutti i MIB disponibili.

3. Verifica eseguendo uno snmpwalk (ad esempio, snmpwalk -v 2c -c <your_community_string> <device_IP>) e controlla che gli OID vengano visualizzati con nomi descrittivi.

A seconda del tuo ambiente, alcuni passaggi di questa guida potrebbero differire leggermente. Questa guida si basa su un ambiente con Ubuntu in esecuzione e su un dispositivo di rete Cisco Catalyst 3750V2-24FS monitorato.

Si presume che il tuo dispositivo di rete sia già installato fisicamente e connesso.

Configurare il dispositivo di rete (esempio di router Cisco)

Per il monitoraggio tramite SNMP, è necessario configurare il dispositivo di rete in modo da consentire le query SNMP. L'esempio seguente è relativo a SNMPv2 e non tiene conto delle impostazioni esistenti. Attenzione: l'applicazione di questi comandi potrebbe sovrascrivere le configurazioni SNMP correnti.

Per un router Cisco, la configurazione in genere prevede i passaggi indicati di seguito.

Esempio SNMPv2

1. Abilitare SNMP e impostare la stringa di community.

Accedi alla console del tuo router Cisco ed entra in modalità di configurazione:

configure terminal

Quindi, abilita SNMP specificando una stringa di community in sola lettura. Per esempio:

snmp-server community <your_community_string> RO

Sostituisci <your_community_string> con la tua stringa di community sicura. Nota: l'opzione RO (Read-Only) consente a SNMP di recuperare dati dal dispositivo, ma impedisce qualsiasi modifica alla configurazione.

Per motivi di sicurezza, si consiglia di limitare l'accesso SNMP solo ai dispositivi necessari. Per ulteriori indicazioni sulla configurazione delle liste di controllo degli accessi (ACL), consulta la documentazione ufficiale di Cisco.

2. Salvare la configurazione.

Salva le modifiche per assicurarti che le impostazioni SNMP persistano dopo un riavvio:

write memory

Esempio SNMPv3

SNMPv3 offre una sicurezza avanzata con autenticazione e crittografia. La sua configurazione è più sicura rispetto a SNMPv2 e dovrebbe essere verificata in base alla documentazione specifica del dispositivo.

1. Creare un gruppo SNMP.

Configurare un gruppo SNMPv3 con privacy (crittografia) abilitata:

configure terminal
snmp-server group <your_group> v3 priv

2. Creare un utente SNMP.

Aggiungere un utente SNMPv3 con autenticazione e privacy. Sostituire i segnaposto con i valori desiderati:

snmp-server user <your_user> <your_group> v3 auth md5 <auth_password> priv aes 128 <priv_password>

3. Salvare la configurazione:

write memory

Per ulteriori dettagli o istruzioni specifiche per il modello, è possibile fare riferimento ai tutorial esterni sulla configurazione SNMP di Cisco. Questa guida, tuttavia, fornisce i passaggi di base per abilitare il monitoraggio SNMP.

Configurare il frontend di Zabbix

Creare un host nel frontend di Zabbix

1. Accedi al frontend di Zabbix.

2. Aggiungi un nuovo host.

Vai a Data collection > Hosts e fai clic su Create host.

  • Host name: inserisci un nome per il tuo dispositivo (ad esempio, "Cisco Router").
  • Host groups: seleziona un gruppo esistente oppure crea un nuovo gruppo, ad esempio "Network Devices".
  • Interfaces:
    • Fai clic su Add sotto Interfaces.
    • Scegli SNMP come tipo di interfaccia.
    • Inserisci l'indirizzo IP o il nome DNS del tuo router Cisco.
    • Imposta la porta SNMP predefinita (di solito 161).
    • Usa il menu a discesa per selezionare la versione SNMP appropriata (ad esempio SNMPv2).
    • Per SNMPv1/v2, inserisci la stringa di community nel campo SNMP community. Per SNMPv3, verranno richieste credenziali aggiuntive (Context name, Security name e Security level, ecc.).

3. Collega i template

Nel campo Templates, seleziona il template SNMP che corrisponde meglio al tuo dispositivo. Zabbix fornisce una gamma di template SNMP predefiniti per molte famiglie di dispositivi. Ad esempio, se stai monitorando un dispositivo Cisco, scegli il template che corrisponde al sistema operativo o al modello del tuo dispositivo (come Cisco IOS SNMP o Cisco Catalyst 3750<modello dispositivo> SNMP).

4. Fai clic su Add per salvare l'host.

Visualizzare le metriche raccolte

Congratulazioni! Zabbix è ora configurato per monitorare il tuo dispositivo di rete.

Dati più recenti:

  • Vai su Monitoring > Latest data nel frontend di Zabbix.

  • Seleziona il tuo host “Cisco Router” (o gli host rilevati automaticamente) per visualizzare metriche quali uptime dell'hardware e della rete, perdita ICMP, ping e tempo di risposta, ecc.

  • Grafici e schermate:

Per visualizzare i dati sulle prestazioni, fai clic su Graphs accanto agli item SNMP per vedere metriche dettagliate.

Come passaggio successivo, puoi:

Creare item SNMP

Una volta configurato l'host, puoi creare item per monitorare metriche specifiche. Nota: questo passaggio è facoltativo se stai utilizzando un template, poiché i template contengono già insiemi predefiniti di item.

1. Identificare l'OID SNMP:

Usa il comando snmpwalk per elencare gli OID disponibili sul tuo dispositivo. Per esempio:

snmpwalk -v 2c -c <your_community_string> <device_IP> .

Trova l'OID della metrica che desideri monitorare (ad esempio, IF-MIB::ifHCInOctets.3 per il traffico in ingresso sulla porta 3). Per ottenere l'OID numerico, puoi usare:

snmpget -v 2c -c <your_community_string> -On <device_IP> IF-MIB::ifHCInOctets.3

2. Creare un item SNMP:

  • Vai a Data collection > Hosts e fai clic sulla scheda Items del tuo host SNMP, quindi fai clic su Create item.
  • Name: inserisci un nome descrittivo (ad esempio, “Traffico in ingresso porta 3”).
  • Type: seleziona SNMP agent.
  • Key: fornisci una chiave significativa (ad esempio, cisco.ifHCInOctets.3).
  • Host interface: assicurati che sia selezionata l'interfaccia SNMP.
  • SNMP OID: inserisci l'OID usando uno dei formati supportati, per esempio:
    • get[1.3.6.1.2.1.31.1.1.1.6.3] per un singolo valore;
    • walk[1.3.6.1.2.1.31.1.1.1.6.3] per recuperare in modo asincrono un sottoalbero di valori.

  • Preprocessing (se necessario): se l'item restituisce un contatore cumulativo (come il traffico dell'interfaccia), vai alla scheda Preprocessing e aggiungi un passaggio di preprocessing come “Change per second” per calcolare la velocità.

Per recuperare più valori in un'unica transazione SNMP, puoi specificare diversi OID usando la sintassi walk[OID1,OID2,...].

Traduzione degli OID tra nomi numerici e MIB

Quando si lavora con SNMP, potrebbe essere necessario convertire tra OID numerici e i corrispondenti nomi MIB. Questa traduzione aiuta a identificare e risolvere i problemi delle metriche più facilmente.

  • Traduzione di un nome MIB in un OID numerico: utilizzare il comando snmptranslate con l'opzione -On. Ad esempio, per tradurre il nome MIB IF-MIB::ifHCInOctets.3 nel relativo OID numerico, eseguire:
snmptranslate -On IF-MIB::ifHCInOctets.3

Questo comando potrebbe restituire:

.1.3.6.1.2.1.31.1.1.1.6.3
  • Traduzione di un OID numerico nel relativo nome MIB: utilizzare il comando snmptranslate con l'opzione -IR (oppure -m ALL) per invertire la traduzione. Ad esempio, per tradurre l'OID numerico .1.3.6.1.2.1.31.1.1.1.6.3 di nuovo nel relativo nome MIB, eseguire:
snmptranslate -IR -On .1.3.6.1.2.1.31.1.1.1.6.3

Questo comando potrebbe restituire:

IF-MIB::ifHCInOctets.3

Configurare gli avvisi di problema

Questa guida fornisce i passaggi di configurazione di base per l'invio di avvisi email.

1. Vai a Impostazioni utente > Profilo, passa alla scheda Supporti e aggiungi il tuo indirizzo email.

2. Segui la guida per Ricevere una notifica di problema.

La prossima volta che Zabbix rileverà un problema, dovresti ricevere un avviso via email.

Testa la tua configurazione

Per assicurarti che Zabbix rilevi correttamente i problemi di prestazioni della rete, simula un problema reale aumentando la soglia del tempo di risposta del ping ICMP.

1. Apri la configurazione del tuo host "Cisco Router" in Zabbix.

2. Vai alla scheda Macro e seleziona Macro ereditate e dell'host.

3. Individua la macro {$ICMP_RESPONSE_TIME_WARN} (o una macro simile per la soglia del tempo di risposta).

4. Imposta un valore molto basso (ad esempio, 0.001) per attivare un avviso quando il tempo di risposta del ping supera questo valore.

5. Fai clic su Aggiorna per applicare le modifiche.

6. Attendi qualche istante affinché Zabbix rilevi il problema simulato.

7. Vai a Monitoraggio > Problemi per verificare che venga visualizzato un avviso (ad esempio, "Tempo di risposta del ping ICMP elevato").

Se gli avvisi sono configurati, dovresti ricevere anche un avviso di problema.

8. Ripristina il valore originale della macro e fai clic su Aggiorna per salvare le modifiche.

9. Conferma che il problema sia stato risolto e scompaia dalla sezione Problemi.

Risoluzione dei problemi del monitoraggio SNMP

Se noti che l'icona SNMP nel frontend di Zabbix appare ROSSA oppure non viene raccolto alcun dato, prova i seguenti passaggi:

1. Verifica la connettività SNMP.

Per SNMPv2 esegui il seguente comando dal tuo server Zabbix:

snmpwalk -v 2c -c <community_string> <device_IP> .

Questo comando verifica che il dispositivo risponda alle query SNMP.

Per SNMPv3, includi le credenziali SNMPv3 appropriate:

snmpwalk -v3 -u <your_user> -l authPriv -a MD5 -A <auth_password> -x AES -X <priv_password> <device_IP> .

Questo verifica che le credenziali SNMPv3 siano corrette e che il dispositivo risponda in modo sicuro.

2. Assicurati che i file MIB siano installati e abilitati come descritto nei prerequisiti. Per verificarlo, il seguente comando non deve restituire errori quando interroghi un dispositivo di rete:

snmpwalk -v 2c -c <your_community_string> <device_IP> ifInOctets

Questo dovrebbe restituire OID tradotti senza errori.

3. Conferma che la versione SNMP e le credenziali configurate in Zabbix corrispondano a quelle impostate sul tuo dispositivo. Ad esempio, controlla le impostazioni SNMP nella configurazione del host in Zabbix e confrontale con la configurazione del tuo dispositivo. Su un dispositivo Cisco, puoi controllare le impostazioni SNMP eseguendo:

show running-config | include snmp

Questo assicura che la stringa di community (per SNMPv2) o i dettagli dell'utente SNMPv3 siano corretti.

4. Verifica che SNMP sia correttamente abilitato sul tuo dispositivo di rete. Su un router Cisco, accedi alla console ed esegui:

show running-config | include snmp

Questo comando mostra la configurazione SNMP attiva e aiuta a confermare che SNMP sia configurato correttamente.

5. Assicurati che nessun firewall o problema di rete stia bloccando il traffico SNMP (in genere sulla porta 161) tra il server Zabbix e il dispositivo. Puoi testare la connettività usando:

nc -zv <device_IP> 161

nc -zv verifica se la porta 161 è aperta e in ascolto sul dispositivo.

Inoltre, se stai usando UFW su Ubuntu, controlla lo stato del firewall:

sudo ufw status

Oppure, per iptables:

sudo iptables -L -n

6. Controlla i file di log del server Zabbix per eventuali errori relativi a SNMP, in modo da individuare il problema:

tail -f /tmp/zabbix_server.log

tail -f ti consente di monitorare gli aggiornamenti del log in tempo reale.

Vedi anche: