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 turpināt ar 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 kārtošanu), lai Zabbix serveris/starpniekserveris pareizi darbotos ar MySQL datubāzi. Jaunām instalācijām ieteicams izmantot utf8mb4.
Deterministiskie 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 un nav superlietotāja tiesību, kā arī log_bin_trust_function_creators = 1 nav iestatīts MySQL konfigurācijas failā.
Ja instalējat Zabbix no pakotnēm vai konteineriem, skatiet attiecīgās instrukcijas.
Ja instalējat Zabbix no avota koda:
- 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ējumu (pieņemot, ka atrodaties Zabbix avota koda saknes direktorijā).
Zabbix starpniekservera datubāzei jāimportē tikai
schema.sql(nevisimages.sqlundata.sql).
cd database/mysql
mysql -uzabbix -p<password> zabbix < schema.sql
# apstājieties šeit, ja veidojat datubāzi Zabbix starpniekserverim
mysql -uzabbix -p<password> zabbix < images.sql
mysql -uzabbix -p<password> --default-character-set=utf8mb4 zabbix < data.sql
log_bin_trust_function_creators var atspējot pēc tam, kad shēma ir veiksmīgi importēta:
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 tiesībām izveidot datubāzes objektus.
Ja instalējat Zabbix no pakotnēm vai konteineriem, skatiet attiecīgās instrukcijas.
Ja instalējat Zabbix no avota koda:
- Izveidojiet datubāzes lietotāju.
Tālāk redzamā čaulas komanda izveidos lietotāju zabbix.
Kad tiek prasīts, norādiet paroli un atkārtojiet to (ņemiet vērā, ka vispirms var tikt pieprasīta sudo parole):
sudo -u postgres createuser --pwprompt zabbix
- Izveidojiet datubāzi.
Tālāk redzamā čaulas komanda izveidos datubāzi zabbix (pēdējais parametrs), par tās īpašnieku norādot iepriekš izveidoto lietotāju (-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 avota koda saknes direktorijā).
Zabbix starpniekservera datubāzei jāimportē tikai
schema.sql(nevisimages.sqlundata.sql).
cd database/postgresql
cat schema.sql | sudo -u zabbix psql zabbix
# apstājieties šeit, ja veidojat datubāzi Zabbix starpniekserverim
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 citas komandas, piemēram:
psql -U <username>
Ja rodas 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!
Ja datubāze nepastāv, tā tiks izveidota automātiski.
Atgriezieties pie instalēšanas sadaļas.