4 Installazione da pacchetti
Panoramica
I pacchetti ufficiali di Zabbix 7.4 sono disponibili sul sito web di Zabbix, dove è possibile selezionare il sistema operativo e il componente Zabbix per generare le istruzioni e i comandi di installazione necessari. Assicurati di consultare le note di installazione dei pacchetti riportate di seguito e la pagina Installazione e configurazione.
I pacchetti sono disponibili per le seguenti distribuzioni Linux:
- Red Hat Enterprise Linux e derivate: AlmaLinux, Amazon Linux 2023, CentOS Stream, CentOS 7, Oracle Linux, Rocky Linux
- Debian, Ubuntu, Raspberry Pi OS, Raspbian
- SUSE Linux Enterprise Server, openSUSE Leap
Alcune distribuzioni OS (in particolare quelle basate su Debian) forniscono i propri pacchetti Zabbix. Questi pacchetti non sono supportati da Zabbix e potrebbero essere obsoleti o privi delle funzionalità e delle correzioni di bug più recenti. Si consiglia di utilizzare solo i pacchetti ufficiali del Repository ufficiale Zabbix. Se in precedenza hai installato Zabbix dal repository del tuo sistema operativo, consulta i passaggi per aggiornare i pacchetti Zabbix dai repository OS.
I pacchetti supportano database MySQL/PostgreSQL e web server Apache/Nginx. Nota che il server Zabbix e il proxy non possono condividere lo stesso database; usa nomi di database diversi se entrambi sono installati sullo stesso host.
Se necessario, sono disponibili pacchetti separati per Zabbix agent/agent 2, Zabbix get e Zabbix sender nel Repository ufficiale Zabbix.
Zabbix fornisce anche binari precompilati di Zabbix agent per sistemi operativi non Linux; vedi:
- Installazione di agent per Windows da MSI
- Installazione di agent per macOS da PKG
- Binary legacy (per sistemi più vecchi o meno comuni, come HP-UX, NetBSD, Tru64 e versioni precedenti di SLES)
Note sull'installazione dei pacchetti
Le seguenti note si applicano a tutti i sistemi:
- Se si utilizza PostgreSQL,
DBHost=localhost(o un indirizzo IP) nella configurazione di Zabbix server/proxy fa sì che PostgreSQL utilizzi un socket di rete invece di un socket UNIX locale; vedere Configurazione di SELinux per le istruzioni di configurazione correlate. - Se si utilizza TimescaleDB, vedere la configurazione aggiuntiva di TimescaleDB.
- Se si installa Zabbix Java gateway (per il monitoraggio di applicazioni JMX), vedere le istruzioni di configurazione aggiuntive per i sistemi basati su RHEL e i sistemi basati su Debian.
- Per eseguire Zabbix agent come root, vedere Esecuzione di agent come root.
Le seguenti note si applicano a RHEL e alle sue derivate:
- Se è stato abilitato il repository EPEL per EL9, che fornisce anche pacchetti Zabbix, deve essere escluso dalla risoluzione dei pacchetti prima di installare i pacchetti ufficiali Zabbix; vedere Installazione accidentale dei pacchetti EPEL Zabbix.
- Per installare i pacchetti Zabbix negli ambienti Red Hat UBI, vedere Pacchetti Zabbix per RHEL negli ambienti Red Hat UBI.
- Per utilizzare gli item ICMP ping, i pacchetti per
fpingsono disponibili anche nel Zabbix Official Repository.
Configurazione SELinux
Zabbix utilizza la comunicazione inter-processo basata su socket. Sui sistemi in cui Security-Enhanced Linux (SELinux) è abilitato, potrebbe essere necessario aggiungere regole SELinux per consentire a Zabbix di creare/usare socket di dominio UNIX nella directory SocketDir. I file socket sono utilizzati da Zabbix server (alerter, preprocessing, IPMI) e da Zabbix proxy (IPMI), e sono presenti mentre il processo è in esecuzione.
Con SELinux abilitato in modalità enforcing, eseguire i seguenti comandi per abilitare la comunicazione tra frontend e server di Zabbix:
Per RHEL 7 (e versioni successive), AlmaLinux, CentOS Stream, Oracle Linux, Rocky Linux 8 (e versioni successive):
setsebool -P httpd_can_connect_zabbix on
Se il database è accessibile tramite rete (incluso localhost per PostgreSQL), consentire anche al frontend di Zabbix di connettersi al database:
setsebool -P httpd_can_network_connect_db on
Per RHEL precedente alla 7:
setsebool -P httpd_can_network_connect on
setsebool -P zabbix_can_network on
Dopo aver applicato le impostazioni SELinux, riavviare Apache:
systemctl restart httpd
In alternativa, è possibile installare un pacchetto zabbix-selinux-policy predefinito dal Zabbix Official Repository.
Questo pacchetto è fornito per tutte le versioni di OS supportate per semplificare il deployment di Zabbix e impedire agli utenti di disattivare SELinux a causa della complessità della configurazione.
Per la massima sicurezza, si consiglia di impostare configurazioni SELinux personalizzate.
Il pacchetto zabbix-selinux-policy contiene una policy SELinux di base, che consente a Zabbix di creare e usare socket e abilita la connessione HTTPd a PostgreSQL (utilizzato dal frontend).
Il file sorgente zabbix_policy.te contiene le seguenti regole:
module zabbix_policy 1.2;
require {
type zabbix_t;
type zabbix_port_t;
type zabbix_var_run_t;
type postgresql_port_t;
type httpd_t;
class tcp_socket name_connect;
class sock_file { create unlink };
class unix_stream_socket connectto;
}
#============= zabbix_t ==============
allow zabbix_t self:unix_stream_socket connectto;
allow zabbix_t zabbix_port_t:tcp_socket name_connect;
allow zabbix_t zabbix_var_run_t:sock_file create;
allow zabbix_t zabbix_var_run_t:sock_file unlink;
allow httpd_t zabbix_port_t:tcp_socket name_connect;
#============= httpd_t ==============
allow httpd_t postgresql_port_t:tcp_socket name_connect;
Pacchetti Debuginfo
I pacchetti Debuginfo contengono i simboli di debug per i binari di Zabbix.
Non sono necessari per una normale installazione o per il funzionamento, ma sono utili per la risoluzione avanzata dei problemi.
Si noti che i pacchetti Debuginfo sono disponibili per le seguenti versioni: Red Hat Enterprise Linux 7 e precedenti (incluse le derivate) e SUSE Linux Enterprise Server 15 e precedenti (incluse le derivate).
Per abilitare il repository zabbix-debuginfo:
- Su RHEL 7, modificare
/etc/yum.repos.d/zabbix.repoe impostareenabled=1per la sezionezabbix-debuginfo:
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=http://repo.zabbix.com/zabbix/7.4/stable/rhel/7/$basearch/debuginfo/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1
- Su SUSE, modificare
/etc/zypp/repos.d/zabbix.repoe impostareenabled=1per la sezionezabbix-debuginfo:
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo
type=rpm-md
baseurl=https://repo.zabbix.com/zabbix/7.4/stable/sles/15/$basearch/debuginfo/
gpgcheck=1
gpgkey=https://repo.zabbix.com/zabbix/7.4/stable/sles/15/$basearch/debuginfo/repodata/repomd.xml.key
enabled=0
update=1
Una volta abilitato, installare i pacchetti:
- Su RHEL, installare un singolo pacchetto con informazioni di debug per tutti i componenti di Zabbix:
dnf install zabbix-debuginfo
- Su SUSE, installare i pacchetti debuginfo specifici per componente:
zypper install zabbix-<component>-debuginfo