Datu bāzes izveide
Pārskats
Zabbix datubāze ir jāizveido Zabbix serveris vai starpniekserveris 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āapzinās, 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 salīdzināšanas labošanas. Skatiet arī Filtrēšanas ierobežojumi ar utf8mb4 salīdzināšanā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
utf8mb4 rakstzīmju kopums ar utf8mb4_bin salīdzināšanas kārtību tiek atbalstīts, lai Zabbix serveris/starpniekserveris darbotos pareizi ar MySQL/MariaDB datubāzēm.
Lai izvairītos no problēmām nākotnē, ir stingri ieteicams izmantot utf8mb4 rakstzīmju kopumu ar utf8mb4_bin salīdzināšanas kārtību gan jaunām, gan esošām instalācijām.
Lai pārvērstu datubāzes, kurās tiek izmantots utf8mb3 rakstzīmju kopums un utf8mb3_bin salīdzināšanas kārtība, uz utf8mb4 rakstzīmju kopumu un utf8mb4_bin salīdzināšanas kārtību, izpildiet norādījumus sadaļā Zabbix datubāzes rakstzīmju kopas un salīdzināšanas kārtības labošana.
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ā žurnāloš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 kodiem:
- 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 kopumu kā noklusējumu (pieņemot, ka atrodaties Zabbix avota kodu 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 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ļā.
Elasticsearch un ClickHouse
Zabbix var arī glabāt vēstures datus Elasticsearch vai ClickHouse. Iestatīšanas norādījumus skatiet saistītajās lapās.
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.