#1 Database maken

Overzicht

Tijdens de installatie van de Zabbix-server of -proxy moet een Zabbix-database worden aangemaakt.

Deze sectie biedt instructies voor het aanmaken van een Zabbix-database. Er zijn aparte instructies beschikbaar voor elke ondersteunde database.

UTF-8 is de enige codering die door Zabbix wordt ondersteund. Het is bekend dat het werkt zonder enige beveiligingsproblemen. Gebruikers moeten zich ervan bewust zijn dat er bekende beveiligingsproblemen zijn bij het gebruik van sommige andere coderingen. Voor het overschakelen naar UTF-8, zie Het herstellen van de tekenreeks en collatie van de Zabbix-database.

Als u installeert vanuit de Zabbix Git repository, moet u de volgende opdracht uitvoeren voordat u verder gaat met de volgende stappen:

$ make dbschema

MySQL/MariaDB

Karaktersets utf8 (ook bekend als utf8mb3) en utf8mb4 worden ondersteund (met respectievelijk utf8_bin en utf8mb4_bin collatie) om de Zabbix-server/-proxy correct te laten werken met de MySQL-database. Het wordt aanbevolen om utf8mb4 te gebruiken voor nieuwe installaties.

Deterministische triggers moeten worden aangemaakt tijdens het importeren van het schema. Op MySQL en MariaDB vereist dit dat GLOBAL log_bin_trust_function_creators = 1 wordt ingesteld als binaire logging is ingeschakeld en er geen supergebruikersrechten zijn, en log_bin_trust_function_creators = 1 is niet ingesteld in het MySQL-configuratiebestand.

Als u installeert vanuit Zabbix packages, ga dan naar de instructies voor uw platform.

Als u Zabbix installeert vanuit bronnen:

  • Maak een database en een gebruiker aan en configureer deze.
mysql -uroot -p<wachtwoord>
       
       mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
       mysql> create user 'zabbix'@'localhost' identified by '<wachtwoord>';
       mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
       mysql> SET GLOBAL log_bin_trust_function_creators = 1;
       mysql> quit;
  • Importeer de gegevens in de database en stel utf8mb4 als standaardkarakterset in. Voor een Zabbix-proxydatabase moet alleen schema.sql worden geïmporteerd (niet images.sql of data.sql).
cd database/mysql
       mysql -uzabbix -p<wachtwoord> zabbix < schema.sql
       # Stop hier als u een database voor de Zabbix-proxy maakt
       mysql -uzabbix -p<wachtwoord> zabbix < images.sql
       mysql -uzabbix -p<wachtwoord> --default-character-set=utf8mb4 zabbix < data.sql

log_bin_trust_function_creators kan worden uitgeschakeld nadat het schema succesvol is geïmporteerd:

mysql -uroot -p<wachtwoord>
       
       mysql> SET GLOBAL log_bin_trust_function_creators = 0;
       mysql> quit;

PostgreSQL

U moet een databasegebruiker hebben met rechten om databasesobjecten te maken.

Als u installeert vanuit Zabbix packages, ga dan naar de instructies voor uw platform.

Als u Zabbix installeert vanuit bronnen:

  • Maak een databasegebruiker aan.

De volgende shell-opdracht zal de gebruiker zabbix aanmaken. Geef een wachtwoord op wanneer daarom wordt gevraagd en herhaal het wachtwoord (let op, mogelijk wordt u eerst gevraagd om het sudo-wachtwoord):

sudo -u postgres createuser --pwprompt zabbix
  • Maak een database aan.

De volgende shell-opdracht zal de database zabbix (laatste parameter) aanmaken met de eerder aangemaakte gebruiker als eigenaar (-O zabbix).

sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
  • Importeer het initiële schema en de gegevens (onder de veronderstelling dat u zich in de hoofdmap van Zabbix-bronnen bevindt). Voor een Zabbix-proxydatabase moet alleen schema.sql worden geïmporteerd (niet images.sql of data.sql).
cd database/postgresql
       cat schema.sql | sudo -u zabbix psql zabbix
       # Stop hier als u een database voor de Zabbix-proxy maakt
       cat images.sql | sudo -u zabbix psql zabbix
       cat data.sql | sudo -u zabbix psql zabbix

De bovenstaande opdrachten worden gegeven als een voorbeeld dat zal werken in de meeste GNU/Linux-installaties. U kunt verschillende opdrachten gebruiken, afhankelijk van hoe uw systeem/database is geconfigureerd, bijvoorbeeld:

psql -U <gebruikersnaam>

Als u problemen ondervindt bij het instellen van de database, raadpleeg dan uw databasebeheerder.

TijdschaalDB

Instructies voor het maken en configureren van TimescaleDB vindt u in a aparte sectie.

Orakel

Instructies voor het maken en configureren van de Oracle-database worden gegeven in een aparte sectie.

SQLite

Het gebruik van SQLite wordt alleen ondersteund voor Zabbix-proxy!

Als SQLite met Zabbix-proxy wordt gebruikt, wordt de database automatisch aangemaakt als het niet bestaat.

shell> cd database/sqlite3
       shell> sqlite3 /var/lib/sqlite/zabbix.db <schema.sql

Keer terug naar de installatiesectie.