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:

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:

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.repo e impostare enabled=1 per la sezione zabbix-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.repo e impostare enabled=1 per la sezione zabbix-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