- 10 Monitorare uno switch o un router di rete con Zabbix
10 Monitorare uno switch o un router di rete con Zabbix
Introduzione
Questa guida illustra 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 nuovi utenti Zabbix e 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, consulta la pagina SNMP agent o la sezione Configuration del manuale di Zabbix.
Prerequisiti
Prima di procedere con questa guida, assicurati di avere:
- Zabbix server e Zabbix frontend installati: installali 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 adeguato supporto MIB, 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 produttore (ad esempio, di Cisco o 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 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, consulta la 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 dispositivo di rete sia già installato fisicamente e collegato.
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. Abilita SNMP e imposta la stringa community.
Accedi alla console del tuo router Cisco ed entra in modalità di configurazione:
configure terminal
Quindi, abilita SNMP specificando una stringa community di sola lettura. Ad esempio:
snmp-server community <your_community_string> RO
Sostituisci <your_community_string> con la tua stringa 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, è consigliabile 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 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 in Zabbix frontend
1. Accedi a Zabbix frontend.
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 creane uno nuovo, 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 meglio corrisponde 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:
- Aggiungere item SNMP personalizzati per monitorare metriche aggiuntive.
- Configurare gli avvisi sui problemi per ricevere notifiche su potenziali problemi.
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 corrispondenti nomi MIB. Questa traduzione aiuta a identificare e risolvere i problemi relativi alle metriche in modo più semplice.
- Tradurre un nome MIB in un OID numerico: usa il comando
snmptranslatecon l'opzione-On. Per esempio, per tradurre il nome MIBIF-MIB::ifHCInOctets.3nel 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
- Tradurre un OID numerico nel suo nome MIB: usa il comando
snmptranslatecon l'opzione-IR(o-m ALL) per invertire la traduzione. Per esempio, per tradurre di nuovo l'OID numerico.1.3.6.1.2.1.31.1.1.1.6.3nel 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 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 che 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 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 garantisce 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 non vi siano firewall o problemi di rete che blocchino 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:
- Creazione di un item - scopri come aggiungere metriche aggiuntive.
- Agent SNMP - informazioni aggiuntive sul monitoraggio SNMP con Zabbix.
- Template standardizzati per dispositivi di rete - informazioni sui template SNMP disponibili.
- Individuazione degli OID SNMP - informazioni aggiuntive sull'individuazione SNMP su uno switch.
- Configurazione di una regola di network discovery - informazioni aggiuntive su come configurare una regola di network discovery utilizzata da Zabbix per individuare host e servizi.