1 Creazione del database
Panoramica
Durante l'installazione di Zabbix server o proxy deve essere creato un database Zabbix.
Questa sezione fornisce istruzioni per la creazione di un database Zabbix. È disponibile un insieme separato di istruzioni per ciascun database supportato.
Per migliorare la sicurezza del database creando ruoli/utenti del database con privilegi minimi, vedere le best practice per la creazione del database per ciascun database supportato:
Per configurare connessioni TLS sicure, vedere Connessione sicura al database.
UTF-8 è l'unica codifica supportata da Zabbix. È noto che funziona senza vulnerabilità di sicurezza. Gli utenti devono essere consapevoli che esistono problemi di sicurezza noti se si utilizzano alcune delle altre codifiche. Per passare a UTF-8, vedere Ripristino del set di caratteri e della collation del database Zabbix. Vedere anche Limiti del filtraggio con collation utf8mb4.
Se si esegue l'installazione da Zabbix Git repository, è necessario eseguire il seguente comando prima di procedere ai passaggi successivi:
make dbschema
MySQL/MariaDB
I set di caratteri utf8 (ovvero utf8mb3) e utf8mb4 sono supportati (rispettivamente con le regole di confronto utf8_bin e utf8mb4_bin) affinché Zabbix server/proxy funzioni correttamente con il database MySQL. Per le nuove installazioni si consiglia di utilizzare utf8mb4.
I trigger deterministici devono essere creati durante l'importazione dello schema.
Su MySQL e MariaDB, ciò richiede che GLOBAL log_bin_trust_function_creators = 1 sia impostato se il binary logging è abilitato, non sono presenti privilegi di superuser e log_bin_trust_function_creators = 1 non è impostato nel file di configurazione di MySQL.
Se si sta installando dai pacchetti Zabbix, procedere alle istruzioni per la propria piattaforma.
Se si sta installando Zabbix dai sorgenti:
- Creare e configurare un database e un utente.
mysql -uroot -p<password>
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user 'zabbix'@'localhost' identified by '<password>';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
mysql> SET GLOBAL log_bin_trust_function_creators = 1;
mysql> quit;
- Importare i dati nel database e impostare utf8mb4 come set di caratteri predefinito (supponendo di trovarsi nella directory root dei sorgenti di Zabbix).
Per un database Zabbix proxy, deve essere importato solo
schema.sql(non images.sql né data.sql).
cd database/mysql
mysql -uzabbix -p<password> zabbix < schema.sql
# fermarsi qui se si sta creando il database per Zabbix proxy
mysql -uzabbix -p<password> zabbix < images.sql
mysql -uzabbix -p<password> --default-character-set=utf8mb4 zabbix < data.sql
log_bin_trust_function_creators può essere disabilitato dopo che lo schema è stato importato correttamente:
mysql -uroot -p<password>
mysql> SET GLOBAL log_bin_trust_function_creators = 0;
mysql> quit;
PostgreSQL
È necessario disporre di un utente del database con i permessi per creare oggetti del database.
Se si esegue l'installazione dai packages di Zabbix, procedere con le istruzioni per la propria piattaforma.
Se si installa Zabbix dai sorgenti:
- Creare un utente del database.
Il seguente comando shell creerà l'utente zabbix.
Specificare una password quando richiesto e ripetere la password (nota: potrebbe essere prima richiesta la password di sudo):
sudo -u postgres createuser --pwprompt zabbix
- Creare un database.
Il seguente comando shell creerà il database zabbix (ultimo parametro) con l'utente creato in precedenza come proprietario (-O zabbix).
sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
- Importare lo schema iniziale e i dati (supponendo di trovarsi nella directory root dei sorgenti di Zabbix).
Per un database Zabbix proxy, deve essere importato solo
schema.sql(non images.sql né data.sql).
cd database/postgresql
cat schema.sql | sudo -u zabbix psql zabbix
# fermarsi qui se si sta creando il database per Zabbix proxy
cat images.sql | sudo -u zabbix psql zabbix
cat data.sql | sudo -u zabbix psql zabbix
I comandi sopra riportati sono forniti come esempio e funzioneranno nella maggior parte delle installazioni GNU/Linux.
È possibile utilizzare comandi diversi a seconda di come è configurato il sistema/database, ad esempio:
psql -U <username>
In caso di problemi durante la configurazione del database, consultare l'amministratore del database.
TimescaleDB
Le istruzioni per creare e configurare TimescaleDB sono fornite in una sezione separata.
SQLite
L'uso di SQLite è supportato solo per Zabbix proxy!
Il database verrà creato automaticamente se non esiste.
Torna alla sezione di installazione.