Monitorare uno switch di rete o un router con Zabbix

Introduzione

Questa guida ti accompagna attraverso i passaggi necessari per iniziare il monitoraggio di base del tuo switch o router di rete usando Zabbix. Un router Cisco viene usato come esempio, ma la procedura si applica a qualsiasi dispositivo di rete abilitato SNMP.

A chi è destinata 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: installa seguendo le istruzioni per il tuo sistema operativo (vedi Installation from packages e Web interface installation).
  • Zabbix agent installato se stai monitorando metriche di rete locali.
  • Dispositivo abilitato SNMP: 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 dall'uomo. 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 downloader dei MIB:

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

Se devi aggiungere MIB specifici del vendor (ad esempio, da Cisco, Juniper), inseriscili nella directory MIB appropriata:

  • Per i sistemi basati su Linux, le posizioni 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 di ambiente MIBDIRS o il file snmp.conf includa 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 un 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 che esegue Ubuntu 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 per consentire le query SNMP. L'esempio seguente è per 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 descritti di seguito.

Esempio SNMPv2

1. Abilita SNMP e imposta la community string.

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

configure terminal

Quindi, abilita SNMP specificando una community string di sola lettura. Ad esempio:

snmp-server community <your_community_string> RO

Sostituisci <your_community_string> con la tua community string 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, è consigliato limitare l'accesso SNMP solo ai dispositivi necessari. Per ulteriori indicazioni sulla configurazione delle liste di controllo degli accessi (ACL), consulta la documentazione ufficiale Cisco.

2. Salva la configurazione.

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

write memory

Esempio SNMPv3

SNMPv3 offre una sicurezza avanzata con autenticazione e crittografia. La sua configurazione è più sicura di 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 del modello, è possibile fare riferimento a tutorial esterni sulla configurazione SNMP Cisco. Tuttavia, questa guida 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 su 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 community string 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 dispositivo (come Cisco IOS SNMP o Cisco Catalyst 3750<device model> SNMP).

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

Visualizza le metriche raccolte

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

Dati più recenti:

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

  • Seleziona il tuo host "Cisco Router" (o gli host rilevati) per visualizzare metriche come l'uptime hardware e di rete, la perdita ICMP, il ping e il 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 passo successivo, puoi:

Creare item SNMP

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

1. Identifica l'OID SNMP:

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

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

Trova l'OID per la 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. Crea un item SNMP:

  • Vai a Data collection > Hosts e fai clic sulla scheda Items per il 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, ad 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 il tasso.

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

Traduzione degli OID tra nomi numerici e nomi MIB

Quando si lavora con SNMP, potrebbe essere necessario convertire tra OID numerici e i relativi nomi MIB. Questa traduzione aiuta a identificare e risolvere i problemi relativi alle metriche in modo più semplice.

  • Per tradurre un nome MIB in un OID numerico: usa il comando snmptranslate con l'opzione -On. Ad esempio, per tradurre il nome MIB IF-MIB::ifHCInOctets.3 nel suo OID numerico, esegui:
snmptranslate -On IF-MIB::ifHCInOctets.3

Questo comando potrebbe restituire:

.1.3.6.1.2.1.31.1.1.1.6.3
  • Per tradurre un OID numerico nel suo nome MIB: usa il comando snmptranslate con l'opzione -IR (o -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 suo nome MIB, esegui:
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 sui problemi

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

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

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

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

Testa la tua configurazione

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

1. Apri la configurazione dell'host "Cisco Router" in Zabbix.

2. Vai alla scheda Macros e seleziona Inherited and host macros.

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 Update per applicare le modifiche.

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

7. Vai a Monitoring > Problems per verificare che venga visualizzato un avviso (ad esempio, "High ICMP ping response time").

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

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

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

Risoluzione dei problemi del monitoraggio SNMP

Se noti che l'icona SNMP nel frontend di Zabbix appare ROSSA oppure non vengono raccolti dati, 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 dispositivo. Ad esempio, controlla le impostazioni SNMP nella configurazione dell'host in Zabbix e confrontale con la configurazione del dispositivo. Su un dispositivo Cisco, puoi verificare le impostazioni SNMP eseguendo:

show running-config | include snmp

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

4. Verifica che SNMP sia abilitato correttamente 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 (tipicamente 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. Esamina i file di log del server Zabbix per eventuali errori relativi a SNMP, così da individuare meglio il problema:

tail -f /tmp/zabbix_server.log

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

Vedi anche: