Zabbix 4.0 – Installazione su Ubuntu 18.04
Zabbix è un software open source che consente il monitoraggio delle risorse di una infrastruttura IT come server, applicazioni, dispositivi di rete, dispositivi di storage, sistemi di virtualizzazione e molto altro. Consente inoltre la raccolta di dati relativi all’integrità e alle performance dei dispositivi monitorati offrendo funzioni avanzate di visualizzazione come mappe, grafici e dashboard. Per l’archiviazione dei dati raccolti Zabbix può interfacciarsi a diversi database come MySQL e PostgreSQL.
Architettura
Zabbix è composto da diversi moduli:
– Server: la componente core che ha il compito monitorare le risorse, raccogliere dati ed inviare notifiche.
– Agent: per il monitoraggio dispositivi server zabbix può essere distribuito in modalità agentless (senza agenti). Tuttavia l’installazione dell’Agent consente di raccogliere informazioni su particolari oggetti come CPU, memoria e tutto ciò che è gestito direttamente dal sistema operativo.
– Frontend: l’interfaccia web che consente la configurazione del software e l’analisi dei dati raccolti.
– Proxy: componente che raccoglie dati dai dispositivi e li invia al Server riducendone il carico di lavoro.
– Host: qualsiasi server o dispositivo monitorato da Zabbix. Ogni host include una serie di items.
– Host Groups: consentono di raggruppare e categorizzare host con caratteristiche comuni.
– Templates: un template è un insieme di parametri (controlli, oggetti, triggers, grafici, ecc…) che possono essere applicati ad ogni singolo host o ad host groups.
Installazione Server
Di seguito viene descritta l’installazione di Zabbix 4.0 su server Bionic Beaver. Nonostante sia già stata rilasciata la versione 4.2 è consigliabile utilizzare in ambienti di produzione le versioni LTS (Long Term Support).
Per prima cosa effettuare un’ installazione minimale di Ubuntu 18.04 (installare solamente il server SSH).
Installare gli aggiornamenti e riavviare:
sudo apt update
sudo apt upgrade
Aggiungere il repository per installare i pacchetti di zabbix da apt:
sudo wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
sudo dpkg -i zabbix-release_4.0-2+bionic_all.deb
sudo apt update
Installare il server con supporto Mysql e il frontend (il proxy non è necessario):
sudo apt install zabbix-server-mysql
sudo apt install zabbix-frontend-php
Creazione database di MySQL
Eseguire lo script mysql_secure_installation per mettere in sicurezza MySQL e impostare la password di root.
sudo mysql_secure_installation
Creare il database e l’utente utilizzato da zabbix per la connessione:
sudo mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘<password>’;
mysql> quit;
Importare lo schema e i dati iniziali del database. Nell’esempio il nome del database è “zabbix” (indicato a fondo riga).
sudo zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix
Quando richiesto inserire la password dell’utente zabbix utilizzato per la connessione al database.
Modificare il file /etc/zabbix/zabbix_server.conf inserendo le credenziali di accesso al database.
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=<password>
Avviare il server Zabbix:
sudo service zabbix-server start
sudo update-rc.d zabbix-server enable
Modificare il file /etc/apache2/conf-enabled/zabbix.conf e verificare la configurazione di PHP (modificare la sezione relativa alla versione di php in uso). In particolare è necessario configurare correttamente il TimeZone.
<IfModule mod_php7.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value max_input_vars 10000
php_value always_populate_raw_post_data -1
php_value date.timezone Europe/Rome
</IfModule mod_php7.c>
Riavviare Apache:
sudo service apache2 restart
Installazione Frontend
Aprire la pagina http://server_ip/zabbix
Dovrebbe comparire la pagina iniziale di configurazione del frontend. Premere Next step per procedere.
Verificare che tutti i prerequisiti siano soddisfatti:
Impostare i parametri di connessione al database:
Nella pagina Zabbix server details lasciare le impostazioni di default e opzionalmente inserire nel campo Name una descrizione.
Verificare le informazioni di riepilogo e procedere con l’installazione:
L’installazione dovrebbe terminare con successo.
Durante l’installazione viene creato il file di configurazione /usr/share/zabbix/conf/zabbix.conf.php. E’ consigliato effettuarne un backup.
Installazione Agent
Anche il server Zabbix deve essere monitorato, quindi è consigliabile installare l’agent.
sudo apt install zabbix-agent
sudo service zabbix-agent start
sudo update-rc.d zabbix-agent enable
E’ ora possibile iniziare a configurare Zabbix accedendo all’indirizzo http://server_ip/zabbix
Le credenziali di default sono le seguenti (lo username è case sensitive):
Username: Admin
Password: zabbix
Accedendo al menù “Configuration, Hosts” dovrebbe comparire nell’elenco il server Zabbix che al momento è l’unico host configurato.
E’ ora possibile procedere alla configurazine di Zabbix e aggiungere altri host da monitorare.
Modifica Url di accesso
Se si vuole accedere al frontend utilizzando l’url http://server_ip/ (omettendo quindi /zabbix) è necessario modificare i seguenti file:
/etc/apache2/sites-available\000-default
/etc/apache2/sites-available\default-ssl (nel caso si voglia abilitare l’accesso via ssl)
Impostare il parametro DocumentRoot come segue:
DocumentRoot /usr/share/zabbix
Riferimenti:
https://www.zabbix.com/documentation/4.0/manual/installation/install_from_packages/debian_ubuntu