Zabbix è un software aziendale gratuito e open source utilizzato per monitorare la disponibilità di sistemi e componenti di rete. Zabbix può monitorare contemporaneamente migliaia di server, macchine virtuali o componenti di rete. Zabbix può monitorare quasi tutto ciò che riguarda un sistema come CPU, memoria, spazio su disco e I / O, processi, rete, database, macchine virtuali e servizi web. Se l'accesso ZMI viene fornito a Zabbix, può anche monitorare l'hardware come temperatura, tensione e così via.
Prerequisiti
- Un'istanza del server Vultr Ubuntu 16.04.
- Un utente sudo .
Per questa esercitazione, utilizzeremo 192.0.2.1
come indirizzo IP pubblico del server Zabbix e 192.0.2.2
come indirizzo IP pubblico di un host Zabbix che monitoreremo a distanza. Assicurati di sostituire tutte le occorrenze dell'indirizzo IP di esempio con i tuoi indirizzi IP pubblici effettivi.
Aggiorna il tuo sistema di base usando la guida Come aggiornare Ubuntu 16.04 . Dopo aver aggiornato il sistema, procedere con l'installazione delle dipendenze.
Installa Apache e PHP
All'installazione di Zabbix Web, crea automaticamente una configurazione per il server Web Apache.
Installa il web server Apache per servire l'interfaccia utente Web o front-end di Zabbix.
sudo apt -y install apache2
Avviare il web server Apache e abilitarlo ad avviarsi automaticamente all'avvio.
sudo systemctl start apache2
sudo systemctl enable apache2
Installa l'ultima versione di PHP insieme ai moduli richiesti da Zabbix.
sudo apt -y install php php7.0 libapache2-mod-php7.0 php7.0-cli php7.0-gd php7.0-bcmath php7.0-ctype php7.0-xml php7.0-sockets php7.0-mbstring php7.0-gettext php7.0-ldap php7.0-pgsql
Installa e configura PostgreSQL
PostgreSQL è un sistema di database relazionale ad oggetti. Aggiungi il repository PostgreSQL nel tuo sistema.
echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
Importa la chiave di firma del repository e aggiorna gli elenchi dei pacchetti.
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
Installa il server di database PostgreSQL.
sudo apt -y install postgresql postgresql-contrib
Avviare il server PostgreSQL e abilitarlo ad avviarsi automaticamente all'avvio.
sudo systemctl start postgresql
sudo systemctl enable postgresql
Cambia la password per l'utente PostgreSQL predefinito.
sudo passwd postgres
Accedi come utente PostgreSQL.
sudo su - postgres
Crea un nuovo utente PostgreSQL per Zabbix.
createuser zabbix
PostgreSQL fornisce la psql
shell per eseguire query sul database. Passa alla shell PostgreSQL eseguendo.
psql
Impostare una password per l'utente del database appena creato per il database Zabbix.
ALTER USER zabbix WITH ENCRYPTED password 'StrongPassword';
Crea un nuovo database per Zabbix.
CREATE DATABASE zabbix OWNER zabbix;
Esci dalla psql
shell.
\q
Passa sudo
all'utente postgres
dall'utente corrente .
exit
Installa Zabbix
Zabbix fornisce file binari di installazione per Ubuntu, che possono essere installati direttamente dal repository Zabbix. Aggiungi il repository Zabbix nel tuo sistema.
wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+xenial_all.deb
sudo dpkg -i zabbix-release_3.4-1+xenial_all.deb
sudo apt update
Installa Zabbix server
e Zabbix web
.
sudo apt -y install zabbix-server-pgsql zabbix-frontend-php
Importa il database PostgreSQL, che viene fornito insieme all'applicazione.
zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | sudo -H -u zabbix bash -c 'psql -U zabbix zabbix'
Alla fine dell'output dovresti vedere qualcosa di simile al seguente.
...
INSERT 0 1
INSERT 0 1
COMMIT
Apri il file di configurazione di Zabbix per aggiornare i dettagli del database.
sudo nano /etc/zabbix/zabbix_server.conf
Trova le seguenti righe e aggiorna i valori in base alla configurazione del database. Sarà necessario decommentare le linee DBHost
e DBPort
.
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=StrongPassword
DBPort=5432
Zabbix installa automaticamente il file host virtuale per Apache. Dovremo configurare l'host virtuale per aggiornare il fuso orario.
sudo nano /etc/apache2/conf-available/zabbix.conf
Trova le seguenti righe.
<IfModule mod_php7.c>
...
#php_value date.timezone Europe/Riga
Aggiorna le linee in base al tuo fuso orario, come mostrato di seguito.
<IfModule mod_php7.c>
...
php_value date.timezone Asia/Kolkata
Ora riavvia Apache per applicare queste modifiche alla configurazione.
sudo systemctl restart apache2
Inoltre, avvia il server Zabbix e abilita l'avvio automatico all'avvio.
sudo systemctl start zabbix-server
sudo systemctl enable zabbix-server
Dovresti avere il server Zabbix attivo e funzionante. È possibile verificare lo stato del processo.
sudo systemctl status zabbix-server
Per accedere alla dashboard di amministrazione, è possibile aprire http://192.0.2.1/zabbix
utilizzando il browser preferito. Vedrai un messaggio di benvenuto. Dovresti avere tutti i prerequisiti soddisfatti sulla prossima interfaccia. Seguire le istruzioni sulla pagina di installazione per installare il software. Una volta installato il software, accedi utilizzando il nome utente Admin
e la password zabbix
. Zabbix è ora installato e pronto per raccogliere i dati dall'agente Zabbix.
Installa l'agente sul server
Per monitorare il server su cui è installato Zabbix, è possibile configurare l'agente sul server. L'agente Zabbix raccoglierà i dati dell'evento dal server Linux per inviarli al server Zabbix. Per impostazione predefinita, il numero di porta 10050
viene utilizzato per inviare eventi e dati al server.
Installa l'agente Zabbix.
sudo apt -y install zabbix-agent
Avviare l'agente e abilitare l'avvio automatico all'avvio.
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
Poiché la comunicazione tra l'agente Zabbix e il server Zabbix viene effettuata localmente, non è necessario impostare alcuna crittografia.
Prima che il server Zabbix possa ricevere dati, è necessario abilitare l'host. Accedi alla dashboard di amministrazione web del server Zabbix e vai a Configuration >> Host
. Vedrai una voce disabilitata dell'host del server Zabbix. Selezionare la voce e fare clic sul Enable
pulsante per abilitare il monitoraggio dell'applicazione server Zabbix e del sistema di base su cui è installato il server Zabbix.
Setup Agent su macchine Linux remote
Esistono tre metodi con cui un agente Zabbix remoto può inviare eventi al server Zabbix. Il primo metodo consiste nell'utilizzare una connessione non crittografata, mentre il secondo utilizza una chiave precondivisa protetta. Il terzo e più sicuro metodo è crittografare la trasmissione utilizzando i certificati RSA.
Prima di procedere con l'installazione e la configurazione dell'agente Zabbix sul computer remoto, è necessario generare i certificati sul sistema server Zabbix. In questo tutorial utilizzeremo i certificati autofirmati.
Esegui i seguenti comandi sul server Zabbix come sudo
utente .
Creare una nuova directory per archiviare le chiavi Zabbix e generare la chiave privata per la CA.
mkdir ~/zabbix-keys && cd ~/zabbix-keys
openssl genrsa -aes256 -out zabbix-ca.key 4096
Ti chiederà una passphrase per proteggere la chiave privata. Una volta generata la chiave privata, procedere con la generazione del certificato per la CA.
openssl req -x509 -new -key zabbix-ca.key -sha256 -days 3560 -out zabbix-ca.crt
Fornire la passphrase della chiave privata. Ti chiederà alcuni dettagli sul tuo paese, stato, organizzazione. Fornire i dettagli di conseguenza.
user@vultr:~/zabbix-keys$ openssl req -x509 -new -key zabbix-ca.key -sha256 -days 3560 -out zabbix-ca.crt
Enter pass phrase for zabbix-ca.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:IN
State or Province Name (full name) [Some-State]:My State
Locality Name (eg, city) []:My City
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:My Unit
Common Name (e.g. server FQDN or YOUR name) []:Zabbix CA
Email Address []:[email protected]
Abbiamo generato correttamente il certificato CA. Generare la chiave privata e CSR per il server Zabbix.
openssl genrsa -out zabbix-server.key 2048
openssl req -new -key zabbix-server.key -out zabbix-server.csr
Non fornire una passphrase per crittografare la chiave privata quando si esegue il comando sopra. Utilizzando il CSR, genera il certificato per il server Zabbix.
openssl x509 -req -in zabbix-server.csr -CA zabbix-ca.crt -CAkey zabbix-ca.key -CAcreateserial -out zabbix-server.crt -days 1825 -sha256
Allo stesso modo, genera la chiave privata e CSR per l'host o l'agente Zabbix.
openssl genrsa -out zabbix-host1.key 2048
openssl req -new -key zabbix-host1.key -out zabbix-host1.csr
Ora genera un certificato.
openssl x509 -req -in zabbix-host1.csr -CA zabbix-ca.crt -CAkey zabbix-ca.key -CAcreateserial -out zabbix-host1.crt -days 1460 -sha256
Copia i certificati nella directory di configurazione di Zabbix.
sudo mkdir /etc/zabbix/keys
sudo cp zabbix-ca.* zabbix-server.* /etc/zabbix/keys
Fornire la proprietà dei certificati all'utente Zabbix.
sudo chown -R zabbix: /etc/zabbix/keys
Apri il file di configurazione del server Zabbix per aggiornare il percorso dei certificati.
sudo nano /etc/zabbix/zabbix_server.conf
Trova queste righe nel file di configurazione e modificale come mostrato di seguito.
TLSCAFile=/etc/zabbix/keys/zabbix-ca.crt
TLSCertFile=/etc/zabbix/keys/zabbix-server.crt
TLSKeyFile=/etc/zabbix/keys/zabbix-server.key
Salvare il file ed uscire dall'editor. Riavvia il server Zabbix per rendere effettive le modifiche alla configurazione.
sudo systemctl restart zabbix-server
Copia i certificati utilizzando il scp
comando sul computer host che desideri monitorare.
cd ~/zabbix-keys
scp zabbix-ca.crt zabbix-host1.* [email protected]:~
Assicurarsi di sostituire 192.0.2.2
con l'indirizzo IP effettivo dell'host remoto su cui si desidera installare l'agente Zabbix.
Installa l'host Zabbix
Ora che abbiamo copiato i certificati sul sistema host, siamo pronti per installare l'agente Zabbix.
D'ora in poi, tutti i comandi devono essere eseguiti sull'host che si desidera monitorare .
Aggiungi il repository Zabbix nel sistema.
wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+xenial_all.deb
sudo dpkg -i zabbix-release_3.4-1+xenial_all.deb
sudo apt update
Installa l'agente Zabbix nel sistema.
sudo apt -y install zabbix-agent
Per la configurazione e l'installazione di Zabbix, vai al passaggio Installa l'host Zabbix della guida Zabbix per CentOS 7 .