Zabbix Monitoring – Simple Check, Agent, SNMP
Zabbix consente di monitorare oggetti di rete secondo diverse modalità. Attraverso i Simple Checks è possibile verificare la disponibilità di servizi di rete (HTTP, SMTP, FTP, ecc…) senza l’installazione di software sui dispositivi. L’installazione dell’agent invece consente di raccogliere metriche sulle componenti gestite direttamente dal sistema operativo (CPU, traffico di rete, spazio di archiviazione). E’ inoltre possibile utilizzare il monitoring via protocollo SNMP per tutti quei dispositivi che lo supportano (o in alternativa all’agent su sistemi server).
Configurazione Notifiche
Sono supportati diversi metodi di notifica; Email, SMS, Jabber.
Per la configurazione delle notifiche via email Accedere al menù “Administration, Media types, Create media type”. Impostare i parametri del server SMTP e salvare le modifiche.
https://www.zabbix.com/documentation/4.0/manual/config/notifications/media/email
E’ ora necessario associare il media type configurato agli utenti. Accedere al menù “Administration, Users”, selezionare l’utente desiderato, accedere al tab Media e premere su Add per aggiungere il media type. Selezionare per quali livelli di severity l’utente deve ricevere gli alert.
Simple Check ICMP
Un Simple Check di tipo ICMP è uno dei metodi più semplici per monitorare la disponibilità di un host senza l’installazione dell’ agent.
Per prima cosa configurare un nuovo Host Group dal menù “Configuration, Host groups, Create host group” chiamandolo ICMP Monitoring Group.
Creare un nuovo Host dal menù “Configuration, Hosts, Create host”. Assegnare al nuovo host il nome Google e l’indirizzo IP 8.8.8.8 configurando come gruppo di appartenenza ICMP Monitoring Group.
Spostarsi sul tab Templates ed assegnare all’host il template Template Module ICMP Ping. Premere sul tasto Add per aggiungere l’host. Accedendo al menù “Configuration, Hosts” il nuovo host appena creato dovrebbe comparire nell’elenco.
Dal menù “Monitoring, Latest data” selezionando l’host group “ICMP Monitoring Group” è possibile accedere alle statistiche e ai grafici.
A livello di test modificare le proprietà dell’host inserendo un indirizzo ip fake (ad esempio 8.8.8.7). L’host inizia a non rispondere alle richieste icmp e nel menù “Monitoring, Problems” dopo qualche istante compare un alert.
Monitoring Server Windows via Agent
Creare un nuovo host group Windows Monitoring Group e un nuovo host SRV-TEST. Configurare il nuovo host come segue:
Host Group: Windows Monitoring Group
Agent Interfaces: Ip del server, lasciare la porta di default
Template: Template OS Windows.
Una volta aggiunto l’host è necessario installare l’agent sul server. Scaricare il pacchetto .msi per windows dal sito ufficiale zabbix e lanciare il setup sul server di destinazione.
Quando richiesto inserire l’indirizzo IP del server Zabbix. Se non si vogliono attivare gli Active Checks (dall’host verso il server Zabbix) lasciare vuoto il campo.
Installare i componenti di default.
Terminata l’installazione l’host dovrebbe comparire nell’elenco.
Items e Triggers vengono generati in automatico grazie ad una funzionalità chiamata Low Level Discovery (LLD). Questa genera automaticamente gli Item basandosi sulle discovery rules e sui prototypes definiti nei templates associati all’host.
Esclusione di specifici servizi dal LLD
Le discovery rules definite nel “Template OS Windows” creano in automatico dei Triggers per il monitoring dei servizi di sistema di Windows. Tuttavia alcuni servizi, nonostante siano configurati in modalità di startup automatico, possono risultare in alcuni momenti non in esecuzione in quanto innescati on demand. Questo comporta la generazione di numerosi alert da parte di Zabbix. Per escludere determinati servizi dalle regole di LLD (evitando quendi la creazione dei triggers) è necessario accedere al menù “Administration, General, Regular Expressions” e modificare la regola Windows service names for discovery. Di default sono già impostate alcune esclusioni, è possibile aggiungerne altre creando una nuova espressione seguendo la sintassi dell’esempio:
^(sppsvc|WbioSrvc|TrustedInstaller|RemoteRegistry|MapsBroker|OneSyncSvc.*|clr_optimization.*|ShellHWDetection)$
Configurazione manuale di items
Per ogni template è possibile aggiungere manualmente items oltre a quelli presenti di default. Ad esempio il “Template OS Windows” include 3 items per il monitoring del carico della cpu (Processor Load). E’ possibile visualizzarli dal menù “Configuration, Templates, Template OS Windows, Items, CPU”.
Se si vuole aggiungere un item per il monitoraggio della percentuale di utilizzo della CPU (concetto diverso rispetto a CPU load) è necessario definire un nuovo item utilizzando le key di zabbix. Nel caso specifico:
system.cpu.util[,,avg1]
La configurazione dell’item dovrebbe essere la seguente:
Installazione Agent su Ubuntu
Aggiungere i repository di zabbix:
Ubuntu 18.04
sudo wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
Ubuntu 16.04
sudo wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+xenial_all.debsudo dpkg -i zabbix-release_4.0*
sudo apt update
Installare zabbix agent:
sudo apt install zabbix-agent
Modificare il file di configurazione /etc/zabbix/zabbix_agentd.conf:
Server=192.168.10.2
ServerActive=
Hostname=Linux1
Avviare l’agent:
sudo service zabbix-agent start
sudo update-rc.d zabbix-agent enable
Verificare che l’agent sia in esecuzione:
sudo service zabbix-agent status
Monitoring dispositivi via SNMP
Nell’esempio seguente viene illustrato come effettuare il monitoring di dispositivi che supportano il protocollo SNMP (nel caso specifico un nas QNAP).
Dal menù “Administration, General, Macros” verificare che le seguenti macro siano definite:
{$SNMP_COMMUNITY} = public
{$SNMP_PORT} = 161
Se il template per il dispositivo da configurare non è presente nell’archivio di default è possibile scaricarne uno tra quelli presenti nella community Zabbix Share e importarlo. I template per QNAP sono disponibili al seguente link.
Configurare sul QNAP l’invio delle Trap SNMP inserendo l’indirizzo del server Zabbix e il nome della Community.
Sul server Zabbix aggiungere il nuovo Host configurando l’indirizzo dell’interfaccia SNMP e associandogli il template “Template SNMP QNAP NAS” importato in precedenza.
Dopo qualche istante l’host dovrebbe risultare connessio via SNMP.
Riferimenti:
https://www.zabbix.com/documentation/4.0/start
https://www.zabbix.com/download_agents