1 Creazione del database
Panoramica
Un database Zabbix deve essere creato durante l'installazione di Zabbix server o proxy.
Questa sezione fornisce istruzioni per creare un database Zabbix. Per ciascun database supportato è disponibile un insieme separato di istruzioni.
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 alcuna 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 collazione del database Zabbix. Vedere anche Limiti del filtraggio con le collazioni 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 (detto anche utf8mb3) e utf8mb4 sono supportati (rispettivamente con le collation utf8_bin e utf8mb4_bin) affinché server/proxy Zabbix funzionino correttamente con il database MySQL. Per le nuove installazioni, si consiglia di usare utf8mb4.
I trigger deterministici devono essere creati durante l'importazione dello schema.
Su MySQL e MariaDB, questo richiede che GLOBAL log_bin_trust_function_creators = 1 sia impostato se il binary logging è abilitato e non si dispongono dei privilegi di superuser e log_bin_trust_function_creators = 1 non è impostato nel file di configurazione di MySQL.
Se stai installando Zabbix da pacchetti o container, consulta le rispettive istruzioni.
Se stai installando Zabbix dai sorgenti:
- Crea e configura 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;
- Importa i dati nel database e imposta il set di caratteri utf8mb4 come predefinito (supponendo che tu sia nella directory principale dei sorgenti di Zabbix).
Per un database di Zabbix proxy, deve essere importato solo
schema.sql(nonimages.sqlnédata.sql).
cd database/mysql
mysql -uzabbix -p<password> zabbix < schema.sql
# fermati qui se stai 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 con successo:
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 stai installando Zabbix da pacchetti o container, consulta le rispettive istruzioni.
Se stai installando Zabbix dai sorgenti:
- Crea un utente del database.
Il seguente comando shell creerà l'utente zabbix.
Specifica una password quando richiesto e ripeti la password (nota: potresti prima essere richiesto di inserire la password di sudo):
sudo -u postgres createuser --pwprompt zabbix
- Crea 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
- Importa lo schema e i dati iniziali (supponendo che tu sia nella directory root dei sorgenti di Zabbix).
Per un database di Zabbix proxy, deve essere importato solo
schema.sql(nonimages.sqlnédata.sql).
cd database/postgresql
cat schema.sql | sudo -u zabbix psql zabbix
# fermati qui se stai 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 sono forniti come esempio e funzioneranno nella maggior parte delle installazioni GNU/Linux.
Puoi usare comandi diversi a seconda di come è configurato il tuo sistema/database, ad esempio:
psql -U <username>
Se hai problemi nella configurazione del database, consulta 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.