2 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, assumendo una piattaforma Linux/BSD/Unix.

Questi sono esempi di dimensionamento e configurazione hardware da cui iniziare. Ogni installazione di Zabbix è unica. Assicurarsi di eseguire benchmark delle prestazioni del sistema Zabbix in un ambiente di staging o di sviluppo, in modo da comprendere pienamente 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 1 metrica = 1 item + 1 trigger + 1 grafico
2 Esempio con istanze Amazon EC2 per uso generico, che utilizzano architettura ARM64 o x86_64; durante la valutazione e i test dell'installazione di Zabbix, prima dell'installazione nell'ambiente di produzione, deve essere selezionato un tipo di istanza appropriato, ad esempio ottimizzato per calcolo/memoria/storage.

La configurazione effettiva dipende in larga misura dal numero di item attivi e dagli intervalli di aggiornamento (per i dettagli, vedere la sezione dimensione del database di questa pagina). Per 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/libreria richiesto è strettamente necessario. Quelli opzionali sono necessari per supportare alcune funzioni specifiche.

Software Mandatory status Supported versions Comments
MySQL/Percona One of 8.0.30-9.6.X Richiesto se MySQL (o Percona) viene usato come database backend di Zabbix. È richiesto il motore InnoDB.

Supporto aggiunto per le versioni MySQL:
- 9.5.X da Zabbix 7.4.6;
- 9.6.X da Zabbix 7.4.9.

Si consiglia di usare la libreria C API (libmysqlclient) per compilare server/proxy.
MariaDB ^ 10.5.00-12.2.X È richiesto il motore InnoDB.

La versione consigliata è 11.4.

Si consiglia di usare la libreria MariaDB Connector/C per compilare server/proxy.

Supporto aggiunto per le versioni MariaDB:
- 12.0.X da Zabbix 7.4.3;
- 12.2.X da Zabbix 7.4.9.

Vedi anche: Possibili deadlock con MariaDB e Accesso agli elementi dell'interfaccia con MariaDB 10.5.1-10.5.9.
.
PostgreSQL ^ 13.0-18.X Richiesto se PostgreSQL viene usato come database backend di Zabbix.
A seconda delle dimensioni dell'installazione, potrebbe essere necessario aumentare la proprietà di configurazione work_mem di PostgreSQL (4MB è il valore predefinito), in modo che la quantità di memoria usata dal database per una particolare operazione sia sufficiente e l'esecuzione delle query non richieda troppo tempo.

Supporto aggiunto per le versioni PostgreSQL:
- 18.X da Zabbix 7.4.4.
TimescaleDB for PostgreSQL ^ 2.13.0-2.26.X Richiesto se TimescaleDB viene usato come estensione del database PostgreSQL. Assicurarsi di installare TimescaleDB Community Edition, che supporta la compressione.

Si noti che PostgreSQL 15 è supportato da TimescaleDB 2.10.
Per i dettagli sulla compatibilità tra le versioni di PostgreSQL e TimescaleDB, è possibile fare riferimento anche alla documentazione di TimescaleDB.

Supporto aggiunto per le versioni TimescaleDB:
- 2.20.X, 2.21.X da Zabbix 7.4.1;
- 2.22.X da Zabbix 7.4.4;
- 2.23.X da Zabbix 7.4.6;
- 2.24.X da Zabbix 7.4.7;
- 2.25.X da Zabbix 7.4.8;
- 2.26.X da Zabbix 7.4.9.
SQLite Optional 3.3.5-3.53.X SQLite è supportato solo con i proxy di Zabbix. Richiesto se SQLite viene usato come database del proxy di Zabbix.

Supporto per le versioni SQLite:
- 3.53.X da Zabbix 7.4.9.
Elasticsearch ^ 7.X Elasticsearch è supportato solo con i server di Zabbix, esclusivamente per l'archiviazione dei dati storici. Il supporto di Elasticsearch è attualmente sperimentale. Vedi anche il software richiesto per server/proxy.
smartmontools ^ 7.1 or later Richiesto per Zabbix agent 2.
who ^ Richiesto per il plugin del conteggio 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, come parte di q applets, sono richiesti per il plugin system.sw.packages su Gentoo Linux.

Sebbene Zabbix possa funzionare con database disponibili nei sistemi operativi, per la migliore esperienza consigliamo di usare database installati dai repository ufficiali del produttore del database.

Frontend

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

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

Software Mandatory status Supported versions Comments
PHP Yes 8.0.0 - 8.5.X Supporto aggiunto per le versioni di PHP:
- 8.5.X da Zabbix 7.4.9.
Apache One of 2.4 or later
Nginx 1.20 or later
MySQL One of See Third-party external surrounding software
PostgreSQL
PHP extensions
mysqli Yes Richiesto se MySQL viene usato come database backend di Zabbix.
pgsql Richiesto se PostgreSQL viene usato come database backend di Zabbix.
bcmath php-bcmath (--enable-bcmath)
mbstring php-mbstring (--enable-mbstring)
sockets php-net-socket (--enable-sockets); richiesto per il supporto agli script utente.
gd 2.0.28 or later php-gd (se fornito 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 or later php-xml (se fornito come pacchetto separato dal distributore)
xmlwriter php-xmlwriter (se fornito come pacchetto separato dal distributore)
xmlreader php-xmlreader (se fornito come pacchetto separato dal distributore)
ctype php-ctype (--enable-ctype)
session php-session (se fornito come pacchetto separato dal distributore)
ldap No php-ldap; richiesto per l'autenticazione LDAP.
openssl php-openssl; richiesto per l'autenticazione SAML.
gettext php-gettext (--with-gettext); richiesto per le traduzioni.
cURL 7.19.4 or later php-curl; richiesto per Duo Universal Prompt MFA e autenticazione SMTP.

Librerie frontend di terze parti fornite con Zabbix:

Library Mandatory status Supplied version Comments
jQuery JavaScript Library Yes 3.6.0 Libreria JavaScript che semplifica il processo di sviluppo cross-browser.
jQuery UI 1.12.1 Un insieme di interazioni dell'interfaccia utente, effetti, widget e temi costruiti sopra jQuery.
SAML PHP Toolkit 4.3.1 Un toolkit PHP che aggiunge il supporto all'autenticazione SAML 2.0 per poter accedere a Zabbix.

Cronologia della versione fornita:
- 4.0.0 da Zabbix 7.4.0;
- 4.3.1 da Zabbix 7.4.8 (consigliata).
Duo Universal PHP library 1.1.2 Una libreria PHP che aggiunge il supporto all'autenticazione multifattore Duo Universal Prompt per Zabbix.

Cronologia della versione fornita:
- 1.0.2 da Zabbix 7.4.0;
- 1.1.0 da Zabbix 7.4.7;
- 1.1.2 da Zabbix 7.4.10 (consigliata).
Symfony Yaml Component 5.1.0 Aggiunge il supporto per esportare e importare gli elementi di configurazione di Zabbix nel formato YAML.

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

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

Librerie di terze parti usate per scrivere e debuggare il codice frontend di Zabbix:

Library Mandatory status Minimum version Description
Composer No 2.4.1 Un gestore di pacchetti a livello di applicazione 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 di unit testing PHP per testare il frontend di Zabbix.
SASS 3.4.22 Un linguaggio di scripting preprocessore 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/libreria richiesto è strettamente necessario. Quelli opzionali sono necessari per supportare alcune funzioni specifiche.

Requirement Mandatory status Description
libpcre2 Yes La libreria PCRE2 è richiesta per il supporto di Perl Compatible Regular Expression (PCRE).
È supportata la versione PCRE2 v10.x.
libevent Richiesta per la comunicazione tra processi. Versione 2.0.10 o superiore.
libevent-pthreads Richiesta per la comunicazione tra processi.
libpthread Richiesta per il supporto di mutex e read-write lock (può far parte di libc).
libresolv Richiesta per la risoluzione DNS (può far parte di libc).
libiconv Richiesta per la codifica/convertibilità del formato del testo (può far parte di libc). Obbligatoria per Zabbix server su Linux.
libz Richiesta per il supporto della compressione.
libm Libreria matematica. Richiesta solo da Zabbix server.
libmysqlclient One of Richiesta se viene usato MySQL.
libmariadb Richiesta se viene usato MariaDB.
libpq5 Richiesta se viene usato PostgreSQL; la versione di libpq5 deve corrispondere o essere superiore alla versione del database PostgreSQL utilizzato.
libsqlite3 Richiesta se viene usato SQLite. Richiesta solo per Zabbix proxy.
libOpenIPMI No Richiesta per il supporto IPMI. Richiesta solo per Zabbix server.
libssh2 or libssh Richiesta per i controlli SSH. Versione 1.8.0 o superiore (libssh2); 0.9.0 o superiore (libssh).
libcurl Richiesta per le seguenti funzionalità:
- elementi di Web monitoring, VMware monitoring e HTTP agent (per tutti: versione 7.19.1 o superiore);
- elementi Zabbix agent web.page.* (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).
Per tutte le funzionalità è consigliata la versione 7.28.0 o superiore.
Per usare le funzionalità aggiornate di cURL per gli elementi web.page.*, riavviare Zabbix server/proxy.
Per l'autenticazione SMTP, usare il pacchetto libcurl-full in fase di esecuzione.
libxml2 Richiesta per VMware monitoring e per il pre-processing XML XPath.
net-snmp Richiesta per il supporto SNMP. Versione 5.3.0 o superiore.
Il supporto dei protocolli di crittografia forte (AES192/AES192C, AES256/AES256C) è disponibile a partire dalla libreria net-snmp 5.8; sui sistemi basati su RHEL 8+ si consiglia di usare net-snmp 5.8.15 o versioni successive.
libunixodbc Richiesta per database monitoring.
libgnutls or libopenssl Richiesta quando si usa la crittografia.
Versioni minime: libgnutls - 3.1.18, libopenssl - 1.0.1
libldap Richiesta per il supporto LDAP.
fping Richiesta per gli elementi ICMP ping.
c-ares Richiesta per la risoluzione DNS asincrona se Zabbix è configurato con l'opzione --with-ares. In caso contrario, verrà usato libevent.
Versione minima: 1.16.0
Agent
Requisito Stato obbligatorio Descrizione
libpcre2 La libreria PCRE2 è richiesta per il supporto di Perl Compatible Regular Expression (PCRE).
È supportata PCRE2 v10.x.
Richiesta per il monitoraggio dei log. Richiesta anche su Windows.
libpthread Richiesta per il supporto di mutex e blocchi lettura-scrittura (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 codifica/trasformazione del formato del testo in UTF-8 negli item di log, contenuto file, file regex e regmatch (può far parte di libc). Non richiesta su Windows.
libgnutls or libopenssl No Richiesta se si utilizza la crittografia.
Versioni minime: libgnutls - 3.1.18, libopenssl - 1.0.1
Su Microsoft Windows è richiesto OpenSSL 1.1.1 o successivo.
libldap Richiesta se viene utilizzato 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 successiva (si raccomanda la 7.28.0 o successiva).
Per utilizzare le funzionalità cURL aggiornate, riavviare Zabbix agent.
libmodbus Richiesta solo se viene utilizzato il monitoraggio Modbus.
Versione 3.0 o successiva.
Agent 2
Requirement Mandatory status Description
Go Yes Necessario per compilare Zabbix agent 2 e i suoi plugin dai sorgenti.
È supportato Go 1.24.10 o versioni successive. Vedere go.dev per le istruzioni di installazione.
Le librerie Go utilizzate da Zabbix agent 2 e dai suoi 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. È inoltre richiesta 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 hai ottenuto Zabbix dal repository dei sorgenti o da un archivio, le dipendenze necessarie sono già incluse nell'albero dei sorgenti.

Se hai ottenuto Zabbix dal pacchetto della tua distribuzione, le dipendenze necessarie sono già fornite dal sistema di pacchettizzazione.

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

Se tuttavia desideri fornire le tue versioni di queste dipendenze (ad esempio, se stai preparando un pacchetto per una distribuzione Linux), di seguito è riportato l'elenco delle versioni delle librerie con cui Java gateway è noto per funzionare. 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:

Library Mandatory status Bundled version Comments
android-json 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.16
logback-core 1.5.16
slf4j-api 2.0.16

Java gateway può essere compilato utilizzando Oracle Java oppure OpenJDK open source (versione 1.6 o successiva). I pacchetti forniti da Zabbix sono compilati utilizzando OpenJDK. La tabella seguente elenca i pacchetti OpenJDK utilizzati per compilare i pacchetti Zabbix per distribuzione:

Distribution OpenJDK package
AlmaLinux 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3)
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 9 java-11-openjdk-devel (amd64, arm64: 11.0.18.0.10-3)
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 12 default-jdk-headless (amd64, arm64: 2:1.17-74)
Debian 11 default-jdk-headless (amd64: 2:1.11-72)
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 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4.0.1; arm64: 11.0.20.0.8-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 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 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3)
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 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3)
Rocky Linux 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4; arm64: 1.8.0.382.b05-2)
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 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)

Numeri di porta predefiniti

Il seguente elenco delle porte aperte per componente è applicabile alla configurazione predefinita:

Componente Zabbix Numero di porta Protocollo Tipo di connessione
Zabbix agent 10050 TCP su richiesta
Zabbix agent 2 10050 TCP su richiesta
Zabbix server 10051 TCP su richiesta
Zabbix proxy 10051 TCP su richiesta
Zabbix Java gateway 10052 TCP su richiesta
Zabbix web service 10053 TCP su richiesta
Zabbix frontend 80 HTTP su richiesta
443 HTTPS su richiesta
Zabbix trapper 10051 TCP su richiesta

I numeri di porta devono essere aperti nel firewall per abilitare le comunicazioni di Zabbix. Le connessioni TCP in uscita di solito non richiedono impostazioni esplicite del firewall.

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 Zabbix server 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 di housekeeper per lo storico

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 storico 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 e 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 degli item di testo/log è impossibile da prevedere con precisione, ma si possono stimare circa 500 byte per valore.

  • Impostazione di housekeeper per i trend

Zabbix conserva un insieme di valori max/min/avg/count su 1 ora per ciascun item nella tabella trends. Questi dati vengono utilizzati per i trend e per i grafici 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 totale. 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, ovvero 11GB per 5 anni.

  • Impostazioni di housekeeper per gli eventi

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

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

Facoltativamente, gli eventi possono avere tag; ogni record di tag richiede circa 100 byte di spazio su disco1. Il numero di tag per evento (#tags) dipende dalla configurazione. Quindi ciascun evento 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 Di più 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 per il sistema Zabbix:

Parameter Formula for required disk space (in bytes)
Configurazione di Zabbix Dimensione fissa. Normalmente 10MB o meno.
Storico days*(items/refresh rate)*24*3600*bytes
items : numero di item
days : numero di giorni per cui conservare lo storico
refresh rate : intervallo medio di aggiornamento degli item
bytes : numero di byte necessari per conservare un singolo valore, dipende dal motore di database, normalmente \~90 byte.
Trend days*(items/3600)*24*3600*bytes
items : numero di item
days : numero di giorni per cui conservare lo storico
bytes : numero di byte necessari per conservare un singolo trend, dipende dal motore di database, normalmente \~90 byte.
Eventi days*events*24*3600*bytes
events : numero di eventi al secondo. Un (1) evento al secondo nello scenario peggiore.
days : numero di giorni per cui conservare lo storico
bytes : numero di byte necessari per conservare un singolo evento, dipende dal motore di database, normalmente \~330 + numero medio di tag per evento * 100 byte.

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

Configurazione + Storico + Trend + Eventi

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 di 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.

Requisiti di rete

Il seguente elenco delle porte aperte per componente è applicabile alla configurazione predefinita.

Componenti Porta
Frontend http sulla 80, https sulla 443
Server 10051 (per l'uso con proxy/agent attivi)
Proxy attivo 10051
Proxy passivo 10051
Agent2 10050
Trapper
Java gateway 10052
WebService 10053

I numeri di porta devono essere aperti nel firewall per abilitare le comunicazioni esterne con Zabbix. Le connessioni TCP in uscita di solito non richiedono impostazioni esplicite del firewall.