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ārtības labošana. Skatiet arī Filtrēšanas ierobežojumi ar utf8mb4 salīdzināšanas kārtībā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 salīdzināšanas kārtību), 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 privilēģiju, 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ējuma (pieņemot, ka atrodaties Zabbix avota koda saknes direktorijā).
Zabbix starpniekservera datubāzei jāimportē tikai
schema.sql(nevisimages.sqlvaidata.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 kodiem:
- 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, iespējams, tiks prasī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 kodu 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ļā.
Oracle
Norādījumi Oracle datubāzes 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 uz instalēšanas sadaļu.