Requisiti

Hardware

Memoria

Zabbix richiede sia memoria fisica che memoria su disco. La quantità di memoria su disco necessaria dipende ovviamente dal numero di host e di parametri che vengono monitorati. Se si prevede di conservare una lunga cronologia dei parametri monitorati, è opportuno considerare almeno un paio di gigabyte per avere spazio sufficiente a memorizzare la cronologia nel database. Ogni processo daemon di Zabbix richiede diverse connessioni a un server di database. La quantità di memoria allocata per la connessione dipende dalla configurazione del motore di database.

Maggiore è la memoria fisica disponibile, più velocemente funzionerà il database (e quindi Zabbix).

CPU

Zabbix e in particolare il database di Zabbix possono richiedere risorse CPU significative a seconda del numero di parametri monitorati e del motore di database scelto.

Altro hardware

Per utilizzare il supporto alle notifiche SMS in Zabbix sono necessari una porta di comunicazione seriale e un modem GSM seriale. Funzionerà anche un convertitore da USB a seriale.

Esempi di configurazione hardware

La tabella fornisce esempi di configurazione hardware, presupponendo una piattaforma Linux/BSD/Unix.

Questi sono esempi di dimensionamento e configurazione hardware da cui iniziare. Ogni installazione di Zabbix è unica. Assicurarsi di eseguire un benchmark delle prestazioni del proprio sistema Zabbix in un ambiente di staging o di sviluppo, in modo da comprendere appieno i requisiti prima di distribuire l'installazione di Zabbix nell'ambiente di produzione.

Dimensione dell'installazione Metriche monitorate1 Core CPU/vCPU Memoria
(GiB)
Database Amazon EC22
Piccola 1 000 2 8 MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
m6i.large/m6g.large
Media 10 000 4 16 MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
m6i.xlarge/m6g.xlarge
Grande 100 000 16 64 MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
m6i.4xlarge/m6g.4xlarge
Molto grande 1 000 000 32 96 MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
m6i.8xlarge/m6g.8xlarge

1 Ai fini del dimensionamento, 1 metrica monitorata è rappresentata approssimativamente dalla formula 1 metrica = 1 item + 1 trigger + 1 grafico. Questa è solo una regola di stima, non una formula per calcolare le metriche monitorate.
2 Esempio con istanze EC2 general purpose di Amazon, che utilizzano l'architettura ARM64 o x86_64; durante la valutazione e i test dell'installazione di Zabbix, prima dell'installazione nell'ambiente di produzione, è necessario selezionare un tipo di istanza appropriato, ad esempio ottimizzato per il calcolo, la memoria o lo storage.

La configurazione effettiva dipende in larga misura dal numero di item attivi e dalle frequenze di aggiornamento (per i dettagli, vedere la sezione dimensioni del database di questa pagina). Per le installazioni di grandi dimensioni, è altamente consigliato eseguire il database su un server separato.

Piattaforme supportate

A causa dei requisiti di sicurezza e della natura mission-critical del server di monitoraggio, UNIX è l'unico sistema operativo in grado di garantire costantemente le prestazioni, la tolleranza ai guasti e la resilienza necessarie. Zabbix funziona sulle versioni leader di mercato.

I componenti di Zabbix sono disponibili e testati per le seguenti piattaforme:

Piattaforma Server Agent Agent 2 Commenti
Linux x x x
Windows - x x Zabbix agent è supportato su tutte le versioni desktop e server a partire da Windows XP (64-bit)/Server 2003.

Zabbix agent 2 è supportato su tutte le versioni desktop e server a partire da Windows 10 (32-bit)/Server 2016, poiché è compilato solo con una versione Go supportata per prevenire vulnerabilità critiche di sicurezza. Da Go 1.21, le versioni minime richieste di Windows sono state innalzate, rendendo Windows 10/Server 2016 la versione minima per Zabbix agent 2.
macOS x x -
IBM AIX x x - Zabbix agent non funziona sulle piattaforme AIX con versioni inferiori a 6.1 TL07 / 7.1 TL01.
FreeBSD x x -
OpenBSD x x -
Solaris x x -
NetBSD x x -
HP-UX x x -

Zabbix server/agent può funzionare anche su altri sistemi operativi di tipo Unix.

Zabbix disabilita i core dump se compilato con crittografia e non si avvia se il sistema non consente la disabilitazione dei core dump.

Software richiesto

Zabbix è basato su moderni server web, principali motori di database e sul linguaggio di scripting PHP.

Software esterno di terze parti circostante

Se indicato come obbligatorio, il software/la libreria richiesto è strettamente necessario.
Quelli opzionali sono necessari per supportare alcune funzioni specifiche.

Software Stato obbligatorio Versioni supportate Commenti
*MySQL/Percona Uno dei due 8.4.0-9.7.X Richiesto se MySQL (o Percona) viene utilizzato come database backend di Zabbix. È richiesto il motore InnoDB.

Per la compilazione di server/proxy, consigliamo di utilizzare la libreria C API (libmysqlclient).

Raccomandiamo vivamente di utilizzare negli ambienti di produzione solo release LTS. Le release contrassegnate come "rolling release", "early access" o simili non sono consigliate.
MariaDB 10.11.00-12.3.X È richiesto il motore InnoDB.

Per la compilazione di server/proxy, consigliamo di utilizzare la libreria MariaDB Connector/C.

Vedere anche: Possibili deadlock con MariaDB e Accesso agli elementi dell'interfaccia utente con MariaDB 10.5.1-10.5.9.

Raccomandiamo vivamente di utilizzare negli ambienti di produzione solo release LTS. Le release contrassegnate come "rolling release", "early access" o simili non sono consigliate.
PostgreSQL 15.0-18.X Richiesto se PostgreSQL viene utilizzato come database backend di Zabbix.
A seconda delle dimensioni dell'installazione, potrebbe essere necessario aumentare la proprietà di configurazione work_mem di PostgreSQL (il valore predefinito è 4 MB), in modo che la quantità di memoria utilizzata dal database per una determinata operazione sia sufficiente e l'esecuzione della query non richieda troppo tempo.
TimescaleDB per PostgreSQL 2.20.X-2.29.X Richiesto se TimescaleDB viene utilizzato come estensione del database PostgreSQL. Assicurarsi di installare TimescaleDB Community Edition, che supporta la compressione.

Per informazioni dettagliate sulla compatibilità delle versioni di PostgreSQL e TimescaleDB, vedere la documentazione di TimescaleDB.
Elasticsearch 7.X Richiesto se Elasticsearch viene utilizzato come database backend di Zabbix.
Elasticsearch può essere utilizzato solo per memorizzare i dati della cronologia ed è supportato solo con i server Zabbix. Il supporto di Elasticsearch è attualmente sperimentale. Vedere anche il software richiesto per server/proxy.
ClickHouse 25.8.22.X-26.4.X Richiesto se ClickHouse viene utilizzato come database backend di Zabbix per memorizzare i dati della cronologia (supportato solo con i server Zabbix).

Le versioni supportate si applicano solo alla memorizzazione della cronologia; per utilizzare ClickHouse come origine dati di telemetria, è richiesto ClickHouse 26.8.17.4 o versione successiva.

L'ora di sistema sul server Zabbix e sul server ClickHouse deve essere sincronizzata; in caso contrario, le query di telemetria potrebbero non includere alcuni dati o restituire gli stessi dati due volte.
SQLite Opzionale 3.3.5-3.53.X SQLite è supportato solo con i proxy Zabbix. Richiesto se SQLite viene utilizzato come database del proxy Zabbix.
smartmontools 7.1 o versione successiva Richiesto per Zabbix agent 2.
who Richiesto per il plugin del conteggio degli utenti.
dpkg Richiesto per il plugin system.sw.packages.
pkgtool Richiesto per il plugin system.sw.packages.
rpm Richiesto per il plugin system.sw.packages.
pacman Richiesto per il plugin system.sw.packages.
q applets qlist e qsize, inclusi negli applet q, sono richiesti per il plugin system.sw.packages su Gentoo Linux.

Sebbene Zabbix possa funzionare con i database disponibili nei sistemi operativi, per un'esperienza ottimale consigliamo di utilizzare database installati dai repository ufficiali degli sviluppatori del database.

frontend

La larghezza minima dello schermo supportata dal frontend di Zabbix è di 1200px.

Se indicato come obbligatorio, il software/la libreria richiesto è strettamente necessario. Quelli opzionali sono necessari per supportare alcune funzioni specifiche.

Software Stato obbligatorio Versioni supportate Commenti
PHP Sì 8.2.0 - 8.5.X
Apache Uno dei seguenti 2.4 o successiva
Nginx 1.20 o successiva
MySQL Uno dei seguenti Vedere Software esterno di terze parti circostante
PostgreSQL
Estensioni PHP
mysqli Sì Necessaria se MySQL viene utilizzato come database backend di Zabbix.
pgsql Necessaria se PostgreSQL viene utilizzato come database backend di Zabbix.
bcmath php-bcmath (--enable-bcmath)
mbstring php-mbstring (--enable-mbstring)
sockets php-net-socket (--enable-sockets); necessaria per il supporto agli script utente.
gd 2.0.28 o successiva php-gd (se fornita come pacchetto separato dal distributore); l'estensione PHP GD deve supportare immagini PNG (--with-png-dir), immagini JPEG (--with-jpeg-dir) e FreeType 2 (--with-freetype-dir). Potrebbe essere richiesta la versione 2.3.0 o successiva per evitare possibili sovrapposizioni di testo nei grafici per alcune lingue del frontend.
libxml 2.6.15 o successiva php-xml (se fornita come pacchetto separato dal distributore)
xmlwriter php-xmlwriter (se fornita come pacchetto separato dal distributore)
xmlreader php-xmlreader (se fornita come pacchetto separato dal distributore)
ctype php-ctype (--enable-ctype)
session php-session (se fornita come pacchetto separato dal distributore)
ldap No php-ldap; necessaria per l'autenticazione LDAP.
openssl php-openssl; necessaria per l'autenticazione SAML.
gettext php-gettext (--with-gettext); necessaria per le traduzioni.
cURL 7.19.4 o successiva php-curl; necessaria per Duo Universal Prompt MFA, l'autenticazione SMTP e per testare la fonte dati di telemetria.

Librerie frontend di terze parti fornite con Zabbix:

Libreria Stato obbligatorio Versione fornita Commenti
Libreria JavaScript jQuery Sì 3.6.0 Libreria JavaScript che semplifica il processo di sviluppo cross-browser.
jQuery UI 1.12.1 Un insieme di interazioni, effetti, widget e temi dell'interfaccia utente basati su jQuery.
SAML PHP Toolkit 4.3.1 Un toolkit PHP che aggiunge il supporto all'autenticazione SAML 2.0 per consentire l'accesso a Zabbix.
Duo Universal PHP library 1.1.2 Una libreria PHP che aggiunge il supporto all'autenticazione a più fattori Duo Universal Prompt per Zabbix.
Symfony Yaml Component 5.1.0 Aggiunge il supporto all'esportazione e all'importazione degli elementi di configurazione di Zabbix nel formato YAML.

Zabbix potrebbe funzionare anche con versioni precedenti di Apache, MySQL e PostgreSQL.

Per font diversi da DejaVu, quello predefinito, potrebbe essere richiesta la funzione PHP imagerotate. Se manca, questi font potrebbero essere visualizzati in modo errato quando viene mostrato un grafico. Questa funzione è disponibile solo se PHP viene compilato con GD integrato, cosa che non avviene in Debian e in altre distribuzioni.

Librerie di terze parti utilizzate per scrivere ed eseguire il debug del codice del frontend di Zabbix:

Libreria Stato obbligatorio Versione minima Descrizione
Composer No 2.4.1 Un gestore di pacchetti a livello applicativo per PHP che fornisce un formato standard per la gestione delle dipendenze del software PHP e delle librerie richieste.
PHPUnit 8.5.29 Un framework per i test unitari PHP utilizzato per testare il frontend di Zabbix.
SASS 3.4.22 Un linguaggio di scripting preprocessor che viene interpretato e compilato in Cascading Style Sheets (CSS).
Browser web lato client

I cookie e JavaScript devono essere abilitati.

Sono supportate le versioni stabili più recenti di Google Chrome, Mozilla Firefox, Microsoft Edge, Apple Safari e Opera.

È implementata la policy same-origin per gli IFrame, il che significa che Zabbix non può essere inserito in frame su un dominio diverso.

Tuttavia, le pagine inserite in un frame di Zabbix avranno accesso al frontend di Zabbix (tramite JavaScript) se la pagina inserita nel frame e il frontend di Zabbix si trovano sullo stesso dominio. Una pagina come http://secure-zabbix.com/cms/page.html, se inserita nelle dashboard su http://secure-zabbix.com/zabbix/, avrà pieno accesso JS a Zabbix.

Server/proxy

Se indicato come obbligatorio, il software/la libreria richiesto è strettamente necessario. Quelli opzionali sono necessari per supportare alcune funzioni specifiche.

Requisito Stato obbligatorio Descrizione
libpcre2 Sì La libreria PCRE2 è necessaria per il supporto alle espressioni regolari compatibili con Perl (PCRE).
È supportata PCRE2 v10.x.
libevent Necessaria per la comunicazione tra processi. Versione 2.0.10 o superiore.
libevent-pthreads Necessaria per la comunicazione tra processi.
libpthread Necessaria per il supporto dei mutex e dei lock di lettura-scrittura (potrebbe essere parte di libc).
libresolv Necessaria per la risoluzione DNS (potrebbe essere parte di libc).
libiconv Necessaria per la conversione della codifica/formattazione del testo (potrebbe essere parte di libc). Obbligatoria per Zabbix server su Linux.
libz Necessaria per il supporto della compressione.
libm Libreria matematica. Necessaria solo per Zabbix server.
libmysqlclient Una delle Necessaria se viene utilizzato MySQL.
libmariadb Necessaria se viene utilizzato MariaDB.
libpq5 Necessaria se viene utilizzato PostgreSQL; la versione di libpq5 deve corrispondere alla versione del database PostgreSQL utilizzato o essere superiore.
libsqlite3 Necessaria se viene utilizzato SQLite. Necessaria solo per Zabbix proxy.
libOpenIPMI No Necessaria per il supporto IPMI. Necessaria solo per Zabbix server.
libssh2 o libssh Necessaria per i controlli SSH. Versione 1.8.0 o superiore (libssh2); 0.9.0 o superiore (libssh).
libcurl Necessaria per le seguenti funzionalità:
- item di monitoraggio web, monitoraggio VMware e HTTP agent (per tutti: versione 7.19.1 o superiore);
- item web.page.* di Zabbix agent (versione 7.19.1 o superiore; vedere anche i requisiti di agent);
- autenticazione SMTP (Basic: versione 7.20.0 o superiore; OAuth: versione 7.33 o superiore; vedere anche i requisiti di frontend);
- Elasticsearch (versione 7.28.0 o superiore);
- item Telemetry query (versione 7.28.0 o superiore).

È consigliata la versione 7.28.0 o superiore per tutte le funzionalità.
Per utilizzare le funzionalità cURL aggiornate per gli item web.page.*, riavviare Zabbix server/proxy.
Per l'autenticazione SMTP, utilizzare il pacchetto libcurl-full in fase di esecuzione.
libxml2 Necessaria per il monitoraggio VMware e la pre-elaborazione XML XPath.
net-snmp Necessaria per il supporto SNMP. Versione 5.3.0 o superiore.
Il supporto dei protocolli di crittografia avanzata (AES192/AES192C, AES256/AES256C) è disponibile a partire dalla libreria net-snmp 5.8; sui sistemi basati su RHEL 8 o superiore è consigliato utilizzare net-snmp 5.8.15 o successiva.
libunixodbc Necessaria per il monitoraggio dei database.
libgnutls o libopenssl Necessaria quando si utilizza la crittografia.
Versioni minime: libgnutls - 3.1.18, libopenssl - 1.0.1
libldap Necessaria per il supporto LDAP.
fping Necessaria per gli item ping ICMP.
c-ares Necessaria per la risoluzione DNS asincrona se Zabbix è configurato con l'opzione --with-ares. In caso contrario, verrà utilizzata libevent.
Versione minima: 1.16.0. La funzionalità di memorizzazione nella cache delle query DNS e di failover (cache delle query abilitata per impostazione predefinita) richiede c-ares 1.26.0 o successiva. Sui sistemi in cui c-ares è fornita dal pacchetto del sistema operativo, assicurarsi che la libreria runtime installata esponga le funzionalità del resolver necessarie per la memorizzazione nella cache DNS e il failover.
g++ Compilatore C++. Necessario per compilare Zabbix proxy con l'opzione --with-apm, per il monitoraggio delle prestazioni delle applicazioni (APM).
gRPC Necessario per APM su Zabbix proxy, se compilato con l'opzione --with-apm.
Librerie necessarie: grpc++, grpc, gpr.
L'utility grpc_cpp_plugin è inoltre necessaria per compilare Zabbix proxy.

La versione necessaria è disponibile nei repository standard dei pacchetti dei seguenti sistemi operativi:
- Ubuntu 23.04 o successivo;
- Debian 12 (Bookworm) o successivo;
- Alpine Linux 3.15 o successivo;
- RHEL, Rocky Linux, CentOS Stream 9 o successivo (solo dal repository EPEL);
- Fedora X o successivo.
Nelle versioni precedenti dei sistemi operativi, gRPC deve essere compilato dal codice sorgente.
protobuf Necessario per APM su Zabbix proxy, se compilato con l'opzione --with-apm.
Il compilatore protoc è inoltre necessario per compilare Zabbix proxy.
Abseil Necessaria per APM su Zabbix proxy, se compilato con l'opzione --with-apm.
Librerie necessarie: absl_synchronization, absl_base.
Di solito viene installata insieme a gRPC.
Agent
Requirement Mandatory status Description
libpcre2 Yes La libreria PCRE2 è richiesta per il supporto alle Perl Compatible Regular Expression (PCRE).
È supportata la versione PCRE2 v10.x.
Richiesta per il monitoraggio dei log. Richiesta anche su Windows.
libpthread Richiesta per il supporto a mutex e read-write lock (può far parte di libc). Non richiesta su Windows.
libresolv Richiesta per la risoluzione DNS (può far parte di libc). Non richiesta su Windows.
libiconv Richiesta per la conversione di codifica/formato del testo in UTF-8 negli item di log, contenuto di file, regex di file e item regmatch (può far parte di libc). Non richiesta su Windows.
libgnutls or libopenssl No Richiesta se si usa la crittografia.
Versioni minime: libgnutls - 3.1.18, libopenssl - 1.0.1
Su Microsoft Windows è richiesta OpenSSL 1.1.1 o successiva.
libldap Richiesta se viene usato LDAP. Non supportata su Windows.
libcurl Richiesta per il supporto esteso degli item web.page.* di Zabbix agent.
Senza libcurl, è disponibile la funzionalità di base (ad esempio, web.page.get[http://example.com]). Con libcurl, l'agent supporta funzionalità aggiuntive, come URL HTTP con credenziali (ad esempio, http://user:[email protected]) e URL HTTPS.
È richiesta la versione 7.19.1 o superiore (si consiglia la 7.28.0 o superiore).
Per usare le funzionalità aggiornate di cURL, riavviare Zabbix agent.
libmodbus Richiesta solo se viene usato il monitoraggio Modbus.
Versione 3.0 o superiore.
Agent 2
Requirement Mandatory status Description
Go Yes Necessario per compilare Zabbix agent 2 e i relativi plugin dai sorgenti.
È supportato Go 1.25 o versioni successive. Vedere go.dev per le istruzioni di installazione.
Le librerie Go utilizzate da Zabbix agent 2 e dai relativi plugin sono elencate nel repository Git di Zabbix (le librerie contrassegnate come indirect nel repository sono dipendenze di altre librerie richieste):
- Zabbix agent 2
- Plugin support
- PostgreSQL
- MongoDB
- MSSQL
- Ember+
- NVIDIA GPU
- Example plugin
libpcre2 Yes La libreria PCRE2 è richiesta per il supporto alle Perl Compatible Regular Expression (PCRE).
È supportata la versione PCRE2 v10.x.
Richiesta per il monitoraggio dei log. Richiesta anche su Windows.
libopenssl No Richiesta quando si utilizza la crittografia.
Su piattaforme UNIX è richiesta OpenSSL 1.0.1 o versioni successive.
La libreria OpenSSL deve avere il supporto PSK abilitato. LibreSSL non è supportata.
Sui sistemi Microsoft Windows è richiesta OpenSSL 1.1.1 o versioni successive.
Servizio web

L'ultima versione stabile di Google Chrome è supportata per la generazione di report pianificati tramite il servizio web di Zabbix.

La versione di Go richiesta per compilare il servizio web corrisponde a quella utilizzata per Zabbix agent 2.

Java gateway

Se avete ottenuto Zabbix dal repository dei sorgenti o da un archivio, le dipendenze necessarie sono già incluse nell'albero dei sorgenti.

Se avete ottenuto Zabbix dal pacchetto della vostra distribuzione, le dipendenze necessarie sono già fornite dal sistema di packaging.

In entrambi i casi descritti sopra, il software è pronto per essere utilizzato e non sono necessari download aggiuntivi.

Se, tuttavia, desiderate fornire le vostre versioni di queste dipendenze, ad esempio se state preparando un pacchetto per una distribuzione Linux, di seguito è riportato l'elenco delle versioni delle librerie con cui è noto che Java gateway funziona. Zabbix potrebbe funzionare anche con altre versioni di queste librerie.

La tabella seguente elenca i file JAR attualmente inclusi con Java gateway nel codice originale:

Libreria Stato obbligatorio Versione inclusa Commenti
android-json Sì 4.3r1 JSON (JavaScript Object Notation) è un formato leggero per lo scambio di dati. Questa è l'implementazione Android compatibile con org.json, estratta dall'SDK Android.
logback-classic 1.5.25
logback-core 1.5.25
slf4j-api 2.0.16

Java gateway può essere compilato utilizzando Oracle Java oppure l'open source OpenJDK (versione 8 o successiva). I pacchetti forniti da Zabbix vengono compilati utilizzando OpenJDK. La tabella seguente elenca i pacchetti OpenJDK utilizzati per compilare i pacchetti Zabbix dalle varie distribuzioni:

Distribuzione Pacchetto OpenJDK
AlmaLinux 10 java-21-openjdk-devel (amd64, arm64: 21.0.12.0.8-1.2)
AlmaLinux 9 java-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-2)
AlmaLinux 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.332.b09-2; arm64: 1.8.0.382.b05-2)
Amazon Linux 2023 java-22-amazon-corretto-devel (amd64, arm64: 22.0.2+9-1)
CentOS Stream 10 java-21-openjdk-devel (amd64, arm64: 21.0.11.0.10-2)
CentOS Stream 9 java-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-2)
CentOS Stream 8 java-1.8.0-openjdk-devel (amd64, arm64: 1.8.0.362.b08-3)
CentOS 7 java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1)
Debian 13 default-jdk-headless (amd64, arm64: 2:1.21-76)
Debian 12 default-jdk-headless (amd64, arm64: 2:1.17-74)
Debian 11 default-jdk-headless (amd64: 2:1.11-72)
OpenSUSE Leap 16 java-21-openjdk-devel (amd64, arm64: 21.0.11.0-160000.2.1)
OpenSUSE Leap 15 java-17-openjdk-devel (amd64: 17.0.5.0-150400.3.9.3; arm64: 17.0.8.0-150400.3.27.1)
Oracle Linux 10 java-21-openjdk-devel (amd64, arm64: 21.0.11.0.10-2.0.1)
Oracle Linux 9 java-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-2.0.1)
Oracle Linux 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4.0.1); java-11-openjdk-devel (arm64: 11.0.20.0.8-3.0.1)
Oracle Linux 7 java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1)
Raspberry Pi OS 13 default-jdk-headless (arm64, armhf: 2:1.21-76)
Raspberry Pi OS 12 default-jdk-headless (arm64, armhf: 2:1.17-74)
Raspberry Pi OS 11 default-jdk-headless (arm64: 2:1.11-72; armhf: 2:1.11-72+b4)
RHEL 10 java-21-openjdk-devel (amd64, arm64: 21.0.12.0.8-1.2)
RHEL 9 java-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-2)
RHEL 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4; arm64: 1.8.0.382.b05-2)
RHEL 7 java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1)
Rocky Linux 10 java-21-openjdk-devel (amd64, arm64: 21.0.12.0.8-1.2)
Rocky Linux 9 java-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-2)
Rocky Linux 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4; arm64: 1.8.0.382.b05-2)
SLES 16 java-21-openjdk-devel (amd64, arm64: 21.0.11.0-160000.1.1)
SLES 15 java-17-openjdk-devel (amd64: 17.0.5.0-150400.3.9.3; arm64: 17.0.8.0-150400.3.27.1)
Ubuntu 26.04 default-jdk-headless (amd64, arm64: 2:1.25-77)
Ubuntu 24.04 default-jdk-headless (amd64, arm64: 2:1.21-75+exp1)
Ubuntu 22.04 default-jdk-headless (amd64, arm64: 2:1.11-72build2)
Ubuntu 20.04 default-jdk-headless (amd64, arm64: 2:1.11-72)
Adattatore bridge

L'adattatore bridge di Zabbix non presenta requisiti particolari.

Porte predefinite

Il seguente elenco contiene le porte che i componenti Zabbix possono utilizzare in una configurazione predefinita:

Componente Zabbix Protocollo e porta Connessione avviata da
Zabbix agent TCP 10050 Zabbix server o Zabbix proxy (solo controlli passivi)
Zabbix agent 2 TCP 10050 Zabbix server o Zabbix proxy (solo controlli passivi)
Zabbix server TCP 10051 Zabbix agent attivi, Zabbix proxy attivo, Zabbix sender, Zabbix frontend
Zabbix proxy TCP 10051 Zabbix agent attivi, Zabbix sender, Zabbix server (solo proxy passivo)
Zabbix Java gateway TCP 10052 Zabbix server o proxy
Zabbix web service TCP 10053 Zabbix server
Zabbix MCP server TCP 8443 Client MCP (agent AI)
Zabbix frontend TCP 80 Browser web, Zabbix web service (report pianificati), client API
TCP 443
Trap SNMP (snmptrapd) UDP 162 Dispositivi SNMP
Adattatore bridge Zabbix TCP 10054 Zabbix server

Aprire solo le porte richieste dai componenti effettivamente in esecuzione e limitare ogni regola del firewall agli host specifici che devono connettersi (ad esempio, consentire la porta 10050 solo dal Zabbix server o dal proxy, non da qualsiasi indirizzo). Non esporre direttamente le porte Zabbix a Internet.
Prima di aprire le porte, proteggere l'installazione: abilitare la crittografia tra i componenti, limitare gli host consentiti nei file di configurazione dei componenti e consultare le best practice di sicurezza.

Dimensione del database

I dati di configurazione di Zabbix richiedono una quantità fissa di spazio su disco e non crescono molto.

La dimensione del database di Zabbix dipende principalmente da queste variabili, che definiscono la quantità di dati storici memorizzati:

  • Numero di valori elaborati al secondo

Questo è il numero medio di nuovi valori che il server Zabbix riceve ogni secondo. Ad esempio, se abbiamo 3000 item da monitorare con un intervallo di aggiornamento di 60 secondi, il numero di valori al secondo viene calcolato come 3000/60 = 50.

Ciò significa che ogni secondo vengono aggiunti 50 nuovi valori al database di Zabbix.

  • Impostazioni dell'housekeeper per la history

Zabbix conserva i valori per un periodo di tempo fisso, normalmente diverse settimane o mesi. Ogni nuovo valore richiede una certa quantità di spazio su disco per i dati e l'indice.

Quindi, se volessimo conservare 30 giorni di history e ricevessimo 50 valori al secondo, il numero totale di valori sarebbe circa (30*24*3600)* 50 = 129.600.000, ovvero circa 130M di valori.

A seconda del motore di database utilizzato, del tipo di valori ricevuti (float, interi, stringhe, file di log, ecc.), lo spazio su disco necessario per conservare un singolo valore può variare da 40 byte a centinaia di byte. Normalmente è di circa 90 byte per valore per gli item numerici2. Nel nostro caso, ciò significa che 130M di valori richiederanno 130M * 90 byte = 10.9GB di spazio su disco.

La dimensione dei valori di item di testo/log è impossibile da prevedere con precisione, ma si può stimare circa 500 byte per valore.

  • Impostazione dell'housekeeper per i trends

Zabbix conserva un insieme di valori max/min/avg/count su 1 ora per ciascun item nella tabella trends. I dati vengono utilizzati per i grafici di trend e di lungo periodo. Il periodo di un'ora non può essere personalizzato.

Il database di Zabbix, a seconda del tipo di database, richiede circa 90 byte per ciascun total. Supponiamo di voler conservare i dati di trend per 5 anni. I valori per 3000 item richiederanno 3000*24*365* 90 = 2.2GB all'anno, oppure 11GB per 5 anni.

  • Impostazioni dell'housekeeper per gli eventi

Ogni evento di Zabbix richiede approssimativamente 250 byte di spazio su disco1. È difficile stimare il numero di eventi generati quotidianamente da Zabbix. Nel caso peggiore, possiamo assumere che Zabbix generi un evento al secondo.

Per ogni evento recuperato, viene creato un record event_recovery. Normalmente la maggior parte degli eventi verrà recuperata, quindi possiamo assumere un record event_recovery per evento. Ciò significa 80 byte aggiuntivi per evento.

Facoltativamente, gli eventi possono avere tag; ogni record di tag richiede approssimativamente 100 byte di spazio su disco1. Il numero di tag per evento (#tags) dipende dalla configurazione. Quindi ciascuno richiederà ulteriori #tags * 100 byte di spazio su disco.

Ciò significa che, se vogliamo conservare 3 anni di eventi, saranno necessari 3*365*24*3600* (250+80+#tags*100) = ~30GB+#tags*100B di spazio su disco2.

1 Maggiore in presenza di nomi evento, tag e valori non ASCII.
2 Le stime delle dimensioni si basano su MySQL e potrebbero essere diverse per altri database.

La tabella contiene formule che possono essere utilizzate per calcolare lo spazio su disco richiesto dal sistema Zabbix:

Parameter Formula for required disk space (in bytes)
Zabbix configuration Fixed size. Normally 10MB or less.
History days*(items/refresh rate)*24*3600*bytes
items : number of items
days : number of days to keep history
refresh rate : average refresh rate of items
bytes : number of bytes required to keep single value, depends on database engine, normally ~90 bytes.
Trends days*(items/3600)*24*3600*bytes
items : number of items
days : number of days to keep history
bytes : number of bytes required to keep single trend, depends on the database engine, normally ~90 bytes.
Events days*events*24*3600*bytes
events : number of event per second. One (1) event per second in worst-case scenario.
days : number of days to keep history
bytes : number of bytes required to keep single event, depends on the database engine, normally ~330 + average number of tags per event * 100 bytes.

Quindi, lo spazio totale richiesto su disco può essere calcolato come:

Configuration + History + Trends + Events

Lo spazio su disco NON verrà utilizzato immediatamente dopo l'installazione di Zabbix. La dimensione del database crescerà e poi smetterà di crescere a un certo punto, che dipende dalle impostazioni dell'housekeeper.

Sincronizzazione dell'ora

È molto importante avere un'ora di sistema precisa sul server su cui è in esecuzione Zabbix. ntpd è il demone più diffuso che sincronizza l'ora del host con quella di altre macchine. Si raccomanda vivamente di mantenere sincronizzata l'ora di sistema su tutti i sistemi su cui sono in esecuzione i componenti di Zabbix.