1 Datubāzes izveide

Pārskats

Zabbix datubāze ir jāizveido Zabbix servera vai starpniekservera instalēšanas laikā.

Šajā sadaļā ir sniegtas instrukcijas Zabbix datubāzes izveidei. Katrai atbalstītajai datubāzei ir pieejams atsevišķs instrukciju kopums.

Lai uzlabotu datubāzes drošību, izveidojot datubāzes lomas/lietotājus ar minimālajām privilēģijām, skatiet datubāzes izveides paraugpraksi katrai atbalstītajai datubāzei:

Lai konfigurētu drošus TLS savienojumus, skatiet Drošs savienojums ar datubāzi.

UTF-8 ir vienīgais Zabbix atbalstītais kodējums. Ir zināms, ka tas darbojas bez drošības ievainojamībām. Lietotājiem jāņem vērā, ka, izmantojot dažus citus kodējumus, pastāv zināmas drošības problēmas. Lai pārslēgtos uz UTF-8, skatiet Zabbix datubāzes rakstzīmju kopas un kolācijas labošana. Skatiet arī Filtrēšanas ierobežojumi ar utf8mb4 kolācijām.

Ja instalējat no Zabbix Git repository, pirms pārejas uz nākamajām darbībām ir jāizpilda šāda komanda:

make dbschema

MySQL/MariaDB

Rakstzīmju kopas utf8 (jeb utf8mb3) un utf8mb4 tiek atbalstītas (attiecīgi ar utf8_bin un utf8mb4_bin kolāciju), lai Zabbix serveris/starpniekserveris varētu pareizi darboties ar MySQL datubāzi. Jaunām instalācijām ieteicams izmantot utf8mb4.

Deterministiski trigeri ir jāizveido shēmas importēšanas laikā. MySQL un MariaDB gadījumā tas prasa iestatīt GLOBAL log_bin_trust_function_creators = 1, ja ir iespējota binārā žurnalēšana, nav superlietotāja privilēģiju un MySQL konfigurācijas failā nav iestatīts log_bin_trust_function_creators = 1.

Ja instalējat no Zabbix pakotnēm, pārejiet uz savas platformas instrukcijām.

Ja instalējat Zabbix no pirmkoda:

  • Izveidojiet un konfigurējiet datubāzi un lietotāju.
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;
  • Importējiet datus datubāzē un iestatiet utf8mb4 rakstzīmju kopu kā noklusējuma vērtību (pieņemot, ka atrodaties Zabbix pirmkoda saknes direktorijā). Zabbix starpniekservera datubāzei jāimportē tikai schema.sql (nevis images.sql vai data.sql).
cd database/mysql
mysql -uzabbix -p<password> zabbix < schema.sql
# stop here if you are creating database for Zabbix proxy
mysql -uzabbix -p<password> zabbix < images.sql
mysql -uzabbix -p<password> --default-character-set=utf8mb4 zabbix < data.sql

Pēc veiksmīgas shēmas importēšanas log_bin_trust_function_creators var atspējot:

mysql -uroot -p<password>

mysql> SET GLOBAL log_bin_trust_function_creators = 0;
mysql> quit;

PostgreSQL

Jums ir nepieciešams datubāzes lietotājs ar atļaujām izveidot datubāzes objektus.

Ja instalējat no Zabbix pakotnēm, pārejiet uz savas platformas instrukcijām.

Ja instalējat Zabbix no pirmkoda:

  • Izveidojiet datubāzes lietotāju.

Šī shell komanda izveidos lietotāju zabbix. Kad tiks prasīts, norādiet paroli un atkārtojiet to (ņemiet vērā, ka vispirms jums var tikt prasīta sudo parole):

sudo -u postgres createuser --pwprompt zabbix
  • Izveidojiet datubāzi.

Šī shell komanda izveidos datubāzi zabbix (pēdējais parametrs), izmantojot iepriekš izveidoto lietotāju kā īpašnieku (-O zabbix).

sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
  • Importējiet sākotnējo shēmu un datus (pieņemot, ka atrodaties Zabbix pirmkoda saknes direktorijā). Zabbix starpniekserveris datubāzei jāimportē tikai schema.sql (nevis images.sql vai data.sql).
cd database/postgresql
cat schema.sql | sudo -u zabbix psql zabbix
# stop here if you are creating database for Zabbix proxy
cat images.sql | sudo -u zabbix psql zabbix
cat data.sql | sudo -u zabbix psql zabbix

Iepriekš minētās komandas ir sniegtas kā piemērs, kas darbosies lielākajā daļā GNU/Linux instalāciju. Atkarībā no tā, kā ir konfigurēta jūsu sistēma/datubāze, varat izmantot arī citas komandas, piemēram:

psql -U <username>

Ja jums rodas jebkādas problēmas ar datubāzes iestatīšanu, lūdzu, sazinieties ar savu datubāzes administratoru.

TimescaleDB

Norādījumi TimescaleDB izveidei un konfigurēšanai ir sniegti atsevišķā sadaļā.

SQLite

SQLite izmantošana tiek atbalstīta tikai Zabbix starpniekserverim!

Datubāze tiks automātiski izveidota, ja tā nepastāv.

Atgriezieties uz instalēšanas sadaļu.