#1 Database maken

Overzicht

Er moet een Zabbix-database worden gemaakt tijdens de installatie van Zabbix server of proxy.

Dit gedeelte bevat instructies voor het maken van een Zabbix-database. EEN voor elke ondersteunde database is een aparte set instructies beschikbaar.

UTF-8 is de enige codering die door Zabbix wordt ondersteund. Het is bekend dat het werkt zonder beveiligingsfouten. Gebruikers moeten zich ervan bewust zijn dat er bekende beveiligingsproblemen als u enkele van de andere coderingen gebruikt.

Indien u installeert vanuit de Zabbix Git repository, moet u het volgende commando uitvoeren voordat u doorgaat naar de volgende stappen:

make dbschema

MySQL/MariaDB

Karaktersets utf8 (ook wel utf8mb3 genoemd) en utf8mb4 worden ondersteund (met respectievelijk utf8_bin en utf8mb4_bin collatie) om ervoor te zorgen dat Zabbix server/proxy correct werkt met een MySQL-database. Het wordt aanbevolen om utf8mb4 te gebruiken voor nieuwe installaties.

Voor Zabbix 6.0.11 en nieuwer moeten deterministische triggers worden aangemaakt tijdens het importeren van het schema. Op MySQL en MariaDB is hiervoor vereist dat GLOBAL log_bin_trust_function_creators = 1 wordt ingesteld als binaire logging is ingeschakeld en er geen superuser-privileges zijn, en als log_bin_trust_function_creators = 1 niet is ingesteld in het MySQL-configuratiebestand.

Als u Zabbix installeert vanuit de 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. Voor een Zabbix proxy-database 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 Zabbix proxy aanmaakt
       mysql -uzabbix -p<wachtwoord> zabbix < images.sql
       mysql -uzabbix -p<wachtwoord> 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 machtigingen om databases aan te maken.

Als u Zabbix installeert vanuit de 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 hierom wordt gevraagd en herhaal het wachtwoord (let op, u wordt mogelijk eerst gevraagd om een sudo-wachtwoord):

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

De volgende shell-opdracht zal de database zabbix (laatste parameter) aanmaken, waarbij de eerder aangemaakte gebruiker de eigenaar wordt (-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 proxy-database moet alleen schema.sql worden geïmporteerd (geen images.sql of data.sql).

cd database/postgresql
       cat schema.sql | sudo -u zabbix psql zabbix
       # stop hier als u een database voor Zabbix proxy aanmaakt
       cat images.sql | sudo -u zabbix psql zabbix
       cat data.sql | sudo -u zabbix psql zabbix

De bovenstaande opdrachten worden als voorbeeld gegeven en 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.