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. Katram atbalstītajam datubāzes veidam ir pieejams atsevišķs instrukciju kopums.
Lai uzlabotu datubāzes drošību, izveidojot datubāzes lomas/lietotājus ar minimālām tiesībām, skatiet datubāzes izveides labāko praksi katram atbalstītajam datubāzes veidam:
Drošu TLS savienojumu konfigurēšanai 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 trūkumiem. Lietotājiem jāņem vērā, ka, izmantojot dažus citus kodējumus, ir zināmas drošības problēmas. Lai pārietu uz UTF-8, skatiet Zabbix datubāzes rakstzīmju kopas un salīdzināšanas kārtulas labošana. Skatiet arī Filtrēšanas ierobežojumi ar utf8mb4 salīdzināšanas kārtulā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
Zabbix serverim/starpniekserverim pareizai darbībai ar MySQL datubāzi tiek atbalstītas rakstzīmju kopas utf8 (jeb utf8mb3) un utf8mb4 (attiecīgi ar utf8_bin un utf8mb4_bin kārtošanas secību). 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, nav superlietotāja tiesību un MySQL konfigurācijas failā nav iestatīts log_bin_trust_function_creators = 1.
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ējuma vērtību (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 norādītā čaulas komanda izveidos lietotāju zabbix.
Kad tiek prasīts, norādiet paroli un atkārtojiet to (ņemiet vērā, ka vispirms var tikt prasīta sudo parole):
sudo -u postgres createuser --pwprompt zabbix
- Izveidojiet datubāzi.
Tālāk norādītā čaulas komanda izveidos datubāzi zabbix (pēdējais parametrs), par kuras īpašnieku būs iepriekš izveidotais lietotājs (-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!
Datubāze tiks automātiski izveidota, ja tā nepastāv.
Atgriezieties uz instalēšanas sadaļu.