Zabbix è uno strumento di monitoraggio open source per servizi di rete, hardware di rete, server e applicazioni. Progettato per tracciare e monitorare lo stato del sistema e dei server. Zabbix offre supporto per molti sistemi di database, inclusi MySQL, PostgreSQL, SQLite e IBM DB2 , per archiviare i dati. Il backend Zabbix è scritto in C e il frontend è scritto in PHP.
In questo tutorial, ti mostreremo passo dopo passo come installare e configurare un sistema di monitoraggio open source Zabbix 4.0 LTS sul sistema CentOS 8. Questa guida tratterà alcuni argomenti, tra cui l'installazione e la configurazione dello stack LAMP per la nostra installazione di Zabbix e come modificare la password predefinita per l'interfaccia utente Web di amministrazione di Zabbix.
Prerequisiti
- Server CentOS 8
- Privilegi di root
- Conoscenze di base sui comandi CentOS di Linux
Cosa faremo:
- Installa Apache Httpd
- Installa e configura PHP
- Installa e configura MariaDB
- Installa e configura Zabbix 4.0 LTS
- Configura Firewalld
- Configura SELinux
- Post-installazione Zabbix
- Cambia l'amministratore predefinito di Zabbix
Passaggio 1 - Installa Apache Httpd
Per questa guida utilizzeremo Apache/httpd per il nostro server web. Il server Zabbix verrà eseguito sotto il server web Apache.
Puoi installare il pacchetto Apache/httpd usando il comando dnf qui sotto.
dnf install httpd
Una volta completata l'installazione, aggiungi il servizio httpd all'avvio del sistema e avvia il servizio utilizzando i seguenti comandi.
systemctl enable httpd
systemctl start httpd
Ora controlla il servizio httpd usando il comando netstat di seguito e assicurati che la porta HTTP "80" sia nello stato "LISTEN".
netstat -plntu
Di seguito il risultato.
Di conseguenza, il servizio httpd è attivo e in esecuzione sulla porta HTTP predefinita "80" sul server CentOS 8.
Fase 2 - Installa PHP
Dopo aver installato il server web Apache/httpd, installeremo i pacchetti PHP e le sue estensioni necessarie per l'installazione di Zabbix. Installeremo e configureremo PHP come requisiti di installazione di Zabbix.
Installa i pacchetti PHP usando il comando dnf qui sotto.
dnf install php-cli php-common php-devel php-pear php-gd php-mbstring php-mysqlnd php-xml php-bcmath
Una volta completata l'installazione, configura la configurazione PHP '/etc/php.ini' utilizzando l'editor vim.
vim /etc/php.ini
Modificare i valori della configurazione come mostrato di seguito.
date.timezone = Asia/Jakarta
max_execution_time = 600
max_input_time = 600
memory_limit = 256M
post_max_size = 32M
upload_max_filesize = 16M
Salva e chiudi.
Ora riavvia il servizio Apache/httpd.
systemctl restart httpd
E l'installazione e la configurazione di PHP sul server CentOS 8 sono state completate.
Fase 3 - Installa e configura MariaDB
Per impostazione predefinita, Zabbix offre supporto per molti database per l'installazione, inclusi MySQL, PostgreSQL, SQLite e database Oracle. Per questa guida, utilizzeremo MariaDB come database per la nostra installazione di Zabbix.
Installa mariadb-server usando il comando dnf di seguito.
dnf install mariadb-server
Una volta completata l'installazione, aggiungi il servizio MariaDB all'avvio del sistema e avvia il servizio utilizzando il comando seguente.
systemctl enable mariadb
systemctl start mariadb
Il server MariaDB è attivo e funzionante.
Successivamente, configureremo la password di root di MariaDB. Esegui il comando 'mysql_secure_installation' di seguito per configurare la password di root.
mysql_secure_installation
Digita la tua password di root e premi Invio.
Set a root password? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
E la password di root di MariaDB è stata configurata.
Successivamente, creeremo un nuovo database e un nuovo utente per l'installazione di Zabbix. Creeremo un nuovo database e un nuovo utente chiamato "zabbix" con la password "[email protected]".
Accedi alla shell MariaDB/mysql usando il comando mysql di seguito.
mysql -u root -p
TYPE YOUR ROOT PASSWORD:
Ed esegui le seguenti query MariaDB di seguito sulla shell.
create database zabbix;
grant all privileges on zabbix.* to [email protected]'localhost' identified by '[email protected]';
grant all privileges on zabbix.* to [email protected]'%' identified by '[email protected]';
flush privileges;
Di conseguenza, è stato creato il nuovo database e utente per l'installazione di Zabbix.
Fase 4 - Installa e configura Zabbix 4.0 LTS
In questo passaggio, installeremo Zabbix 4.0 LTS. Installeremo la versione Zabbix LTS dal repository Zabbix ufficiale.
- Aggiungi repository e installa pacchetti
Innanzitutto, dobbiamo aggiungere il repository LTS di Zabbix 4.0 al sistema utilizzando il comando rpm di seguito.
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm
Successivamente, rimuovi la cache dei pacchetti di sistema e controlla tutti i repository disponibili sul sistema.
dnf clean all
dnf repolist
Ora otterrai il risultato come di seguito.
Di conseguenza, il repository Zabbix è stato aggiunto al sistema CentOS 8.
Ora esegui il comando dnf di seguito per installare Zabbix Server e Agent.
dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
Attendi il completamento dell'installazione di Zabbix.
Gambar
- Importa schema di database MySQL
Una volta completata l'installazione di Zabbix, importeremo lo schema del database MariaDB per Zabbix.
Vai alla directory '/usr/share/doc/zabbix-server-mysql' ed estrai lo schema del database.
cd /usr/share/doc/zabbix-server-mysql
gunzip create.sql.gz
Ora importa lo schema del database nel nostro database 'zabbix' usando il comando MySQL di seguito.
mysql -u root -p zabbix < create.sql
Digita la tua password di root MariaDB e lo schema del database è stato importato.
- Configura Zabbix Server e Zabbix Agent
Zabbix-server è il processo centrale del sistema software Zabbix. Configureremo il server Zabbix modificando la configurazione '/etc/zabbix/zabbix_server.conf'.
Modifica il file di configurazione '/etc/zabbix/zabbix_server.conf' usando l'editor vim.
vim /etc/zabbix/zabbix_server.conf
Nella riga di configurazione del database, digita la configurazione come segue e modifica il valore 'DBPassword' con la tua password del database.
DBHost=localhost
[email protected]
Salva e chiudi.
Successivamente, aggiungi il server zabbix all'avvio del sistema.
systemctl enable zabbix-server
E la configurazione del server zabbix è stata completata.
Successivamente, ti mostreremo la configurazione dell'agente zabbix. L'agente zabbix deve essere installato su tutte le macchine che verranno monitorate.
Modifica la configurazione di zabbix-agent '/etc/zabbix/zabbix_agentd.conf' usando l'editor vim.
vim /etc/zabbix/zabbix_agentd.conf
Ora cambia il valore "Server" e "ServerActive" con l'indirizzo IP del server zabbix come di seguito.
Server=10.5.5.50
ServerActive=10.5.5.50
Salva e chiudi.
Ora aggiungi il servizio zabbix-agent all'avvio del sistema.
systemctl enable zabbix-agent
E la configurazione dell'agente zabbix è stata completata.
Passaggio 5 - Configura Firewalld
Per la configurazione del firewalld, aggiungeremo nuovi servizi tra cui HTTP, HTTPS e la porta utilizzata dal server e dall'agente Zabbix.
Aggiungi le porte HTTP, HTTP e Zabbix '10050-10051' al firewalld utilizzando i seguenti comandi.
firewall-cmd --add-service={http,https} --permanent
firewall-cmd --add-port={10051/tcp,10050/tcp} --permanent
Dopodiché, ricarica il firewalld e controlla tutti i servizi e le porte disponibili su di esso.
firewall-cmd --reload
firewall-cmd --list-all
E ti verrà mostrato il risultato come di seguito.
Di conseguenza, le porte HTTP, HTTPS e Zabbix "10050-10051" sono state aggiunte al firewalld.
Fase 6 - Configura SELinux
Se stai eseguendo Zabbix su CentOS 8 con SELinux abilitato, devi eseguire tutti i comandi in questa sezione.
Installa le utility SELinux usando il comando dnf qui sotto.
dnf install policycoreutils checkpolicy setroubleshoot-server
Una volta completata l'installazione, crea una nuova directory '~/zabbix-linux' ed entra in essa.
mkdir -p ~/zabbix-selinux
cd ~/zabbix-selinux/
Ora crea un nuovo file del modulo della politica SELinux 'zabbix_server_add.te' usando l'editor vim.
vim zabbix_server_add.te
Incolla la seguente configurazione.
module zabbix_server_add 1.1;
require {
type zabbix_var_run_t;
type tmp_t;
type zabbix_t;
class sock_file { create unlink write };
class unix_stream_socket connectto;
class process setrlimit;
class capability dac_override;
}
#============= zabbix_t ==============
#!!!! This avc is allowed in the current policy
allow zabbix_t self:process setrlimit;
#!!!! This avc is allowed in the current policy
allow zabbix_t self:unix_stream_socket connectto;
#!!!! This avc is allowed in the current policy
allow zabbix_t tmp_t:sock_file { create unlink write };
#!!!! This avc is allowed in the current policy
allow zabbix_t zabbix_var_run_t:sock_file { create unlink write };
#!!!! This avc is allowed in the current policy
allow zabbix_t self:capability dac_override;
Salva e chiudi.
Ora converti 'zabbix_server_add.te' nel modulo della politica usando il comando checkmodule di seguito.
checkmodule -M -m -o zabbix_server_add.mod zabbix_server_add.te
Ora compila il modulo della politica 'zabbix_server_add.mod' usando il comando semodule_package.
semodule_package -m zabbix_server_add.mod -o zabbix_server_add.pp
Successivamente, carica il modulo della politica compilato 'zabbix_server_add.pp' sul sistema.
semodule -i zabbix_server_add.pp
Il modulo delle norme personalizzate locali per Zabbix è stato caricato.
Successivamente, per una configurazione aggiuntiva di SELinux. Esegui il comando setsbool di seguito.
setsebool -P httpd_can_network_connect 1
setsebool -P httpd_can_connect_zabbix 1
setsebool zabbix_can_network on
E la configurazione di SELinux per Zabbix è stata completata.
Passaggio 7 - Configurazione iniziale di Zabbix
Innanzitutto, avvia zabbix-server utilizzando i seguenti comandi.
systemctl start zabbix-server
systemctl status zabbix-server
Ora avvia il servizio zabbix-agent.
systemctl start zabbix-agent
systemctl status zabbix-agent
E quindi riavvia il servizio httpd.
systemctl restart httpd
Quindi, apri il tuo browser web e digita l'indirizzo IP del server come segue.
http://10.5.5.50/zabbix/
E riceverai il messaggio di benvenuto da Zabbix.
Fai clic sul pulsante "Passaggio successivo".
Ora, Zabbix verificherà tutti i requisiti di sistema per la sua installazione. Assicurati che non ci siano errori.
Fai clic sul pulsante "Passaggio successivo".
Per le informazioni sul database, digita tutte le impostazioni del database.
E fai clic sul pulsante "Passaggio successivo".
Ora arriva la configurazione dei dettagli del server Zabbix. Nel campo "Host", digita il tuo indirizzo IP del server e cambia il nome con il tuo nome di dominio o nome host.
Fai di nuovo clic sul pulsante "Passaggio successivo".
Assicurati che tutte queste configurazioni siano corrette, quindi fai clic sul "pulsante Avanti" per installare Zabbix.
E una volta completata l'installazione, otterrai la pagina come mostrato di seguito.
Fai clic sul pulsante "Fine" e verrai reindirizzato alla pagina di accesso di Zabbix.
Accedi con l'utente predefinito 'admin' e la password 'zabbix'.
E otterrai la dashboard Zabbix predefinita.
E l'installazione di Zabbix è stata completata.
Passaggio 8:modifica della password amministratore predefinita
Per quest'ultimo passaggio, cambieremo la password amministratore predefinita per zabbix.
Nella dashboard di amministrazione di Zabbix, fai clic sull'icona dell'utente in alto a destra.
Fare clic sul pulsante "Cambia password" e digitare la nuova password.
Ora fai clic sul pulsante "Aggiorna" e la password amministratore predefinita è stata modificata.
E l'installazione e la configurazione di Zabbix sul sistema CentOS 8 sono state completate con successo.