[comment]: # ({7ba28cfb-98c082ce})
# 6 TimescaleDB iestatīšana

[comment]: # ({/7ba28cfb-98c082ce})

[comment]: # ({36fb6804-acb21280})
#### Pārskats

Zabbix atbalsta TimescaleDB — uz PostgreSQL balstītu datubāzes risinājumu, kas automātiski sadala datus laika intervālos balstītos gabalos, lai nodrošinātu ātrāku veiktspēju lielā mērogā.

::: notewarning
Pašlaik TimescaleDB netiek atbalstīts Zabbix starpniekserverī.
:::

Šajā lapā sniegtās instrukcijas var izmantot šādos scenārijos:

-   TimescaleDB datubāzes izveidei vai migrēšanai no esošajām PostgreSQL tabulām uz TimescaleDB (skatiet [Konfigurācija](#configuration)).
-   Esošās TimescaleDB datubāzes shēmas jaunināšanai, ja tiek jaunināts Zabbix (skatiet [TimescaleDB shēmas jaunināšana](#upgrading-timescaledb-schema)).

[comment]: # ({/36fb6804-acb21280})

[comment]: # ({96defbd4-f731725c})
#### Konfigurācija

**Priekšnosacījumi**: datubāzes serverī ir instalēts [atbalstītas versijas](/manual/installation/requirements#thirdparty-external-surrounding-software) TimescaleDB paplašinājums. Instalēšanas norādījumus skatiet [TimescaleDB dokumentācijā](https://docs.tigerdata.com/self-hosted/latest/install/).

::: notewarning
Pirms TimescaleDB instalēšanas instalējiet atbalstītu PostgreSQL laidienu no [oficiālā PostgreSQL](https://www.postgresql.org/download/) repozitorija.
:::

Iespējojiet TimescaleDB paplašinājumu konkrētajai datubāzei, izpildot:

```bash
echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
```

Šīs komandas izpildei ir nepieciešamas datubāzes administratora tiesības.

::: noteclassic
Ja izmantojat datubāzes shēmu, kas nav 'public', iepriekš minētajai komandai jāpievieno klauzula SCHEMA.
Piem.:<br>
`echo "CREATE EXTENSION IF NOT EXISTS timescaledb SCHEMA yourschema CASCADE;" | sudo -u postgres psql zabbix`
:::

Pēc tam palaidiet skriptu `postgresql/timescaledb/schema.sql`.
Jaunām instalācijām skripts jāpalaiž pēc tam, kad parastā PostgreSQL datubāze ir izveidota ar sākotnējo shēmu/datiem (skatiet [datubāzes izveide](/manual/appendix/install/db_scripts)).

```bash
cat /usr/share/zabbix-sql-scripts/postgresql/timescaledb/schema.sql | sudo -u zabbix psql zabbix
```

::: noteimportant
Lūdzu, ignorējiet brīdinājuma ziņojumus, kas informē, ka, palaižot skriptu `schema.sql` TimescaleDB versijā 2.9.0 un jaunākās, netiek ievērotas labākās prakses.
Neraugoties uz šo brīdinājumu, konfigurācija tiks veiksmīgi pabeigta.
:::

Esošo vēstures, tendenču un audita žurnāla datu migrācija var aizņemt daudz laika.
Migrācijas laikā Zabbix serverim un lietotāja saskarnei jābūt apturētiem.

Skripts `schema.sql` iestata šādus apkopes parametrus:

-   Ignorēt vienuma vēstures periodu
-   Ignorēt vienuma tendenču periodu

Lai izmantotu sadalītu apkopes mehānismu vēsturei un tendencēm, abām šīm opcijām jābūt iespējotām.
Ir iespējams arī iespējot ignorēšanu atsevišķi tikai vēsturei vai tikai tendencēm.

Skripts `postgresql/timescaledb/schema.sql` iestata divus papildu parametrus:

-   Iespējot saspiešanu
-   Saspiest ierakstus, kas vecāki par 7 dienām

[comment]: # ({/96defbd4-f731725c})

[comment]: # ({5c6ac2c3-60e46db2})
Lai housekeeper veiksmīgi noņemtu saspiestos datus, jābūt iespējotām abām opcijām — *Override item history period* un *Override item trend period*.
Ja pārrakstīšana ir atspējota un tabulās ir saspiesti gabali, housekeeper nenoņems datus no šīm tabulām, un sadaļās [*Housekeeping*](/manual/web_interface/frontend_sections/administration/housekeeping) un [*System information*](/manual/web_interface/frontend_sections/reports/status_of_zabbix) tiks parādīti brīdinājumi par nepareizu konfigurāciju.

[comment]: # ({/5c6ac2c3-60e46db2})

[comment]: # ({56721869-8c3a80a9})
Visus šos parametrus pēc instalēšanas var mainīt sadaļā *Administrēšana* > [*Housekeeping*](/manual/web_interface/frontend_sections/administration/housekeeping).

::: notetip
Iespējams, vēlēsieties palaist TimescaleDB nodrošināto rīku timescaledb-tune, lai optimizētu PostgreSQL konfigurācijas parametrus savā `postgresql.conf`.
:::

[comment]: # ({/56721869-8c3a80a9})

[comment]: # ({bfdcad2b-60c5c806})
##### TimescaleDB shēmas jaunināšana

Ja, jauninot Zabbix uz versiju, kurā ir jaunas TimescaleDB hypertables, Zabbix serveris šīs hypertables nekonfigurē automātiski (piemēram, ja jaunināt no Zabbix 6.4 uz 7.0.3, jo versijās 7.0.0 un 7.0.2 ir ieviestas jaunas hypertables).

Lai konfigurētu jaunās TimescaleDB hypertables, veiciet šādas darbības:

1. Startējiet Zabbix serveri; tas jauninās esošo datubāzi.
2. Pārbaudiet servera žurnālfailu, lai pārliecinātos, ka datubāzes jaunināšana ir pabeigta; pēc pabeigšanas apturiet Zabbix serveri.
Ņemiet vērā, ka serveris reģistrē brīdinājumu, ja tas mēģina iespējot saspiešanu tabulai, kas nav hypertable.
3. Palaidiet `postgresql/timescaledb/schema.sql` skriptu; tas konfigurēs jaunās TimescaleDB hypertables.
Ņemiet vērā, ka kopš Zabbix 7.0.0 skripta atrašanās vieta un nosaukums ir mainīti no `postgresql/timescaledb.sql` uz `postgresql/timescaledb/schema.sql`.

::: noteimportant
Lūdzu, ignorējiet brīdinājuma ziņojumus, kas informē, ka, palaižot `schema.sql` skriptu TimescaleDB versijā 2.9.0 un jaunākās versijās, netiek ievērotas labākās prakses.
Neraugoties uz šo brīdinājumu, konfigurēšana tiks veiksmīgi pabeigta.
:::

[comment]: # ({/bfdcad2b-60c5c806})

[comment]: # ({dc9d91b5-2012f0a6})
#### TimescaleDB saspiešana

TimescaleDB iebūvētā saspiešana tiek atbalstīta visām Zabbix tabulām, kas ir TimescaleDB hypertables.
Jaunināšanas vai migrācijas uz TimescaleDB laikā lielo tabulu sākotnējā saspiešana var aizņemt daudz laika.

Ņemiet vērā, ka saspiešana tiek atbalstīta ar "timescale" Timescale Community licenci un netiek atbalstīta ar "apache" Apache 2.0 licenci.
Ja Zabbix konstatē, ka saspiešana netiek atbalstīta, Zabbix serveris žurnālā tiek ierakstīts brīdinājuma ziņojums, un lietotāji nevar iespējot saspiešanu lietotāja saskarnē.

::: notetip
Pirms saspiešanas lietošanas lietotājiem ieteicams iepazīties ar saspiešanu [TimescaleDB dokumentācijā](https://docs.tigerdata.com/use-timescale/latest/compression/).
:::

Ņemiet vērā, ka saspiešana paredz noteiktus ierobežojumus, konkrēti:

-   Saspiesto chunk modifikācijas (ievietošana, dzēšana, atjaunināšana) nav atļautas
-   Shēmas izmaiņas saspiestām tabulām nav atļautas.

Saspiešanas iestatījumus var mainīt blokā *Vēstures, tendenču un audita žurnāla saspiešana* sadaļā *Administrēšana* > *Apkope* Zabbix lietotāja saskarnē.

|Parametrs|Noklusējums|Komentāri|
|--|--|------|
|*Iespējot saspiešanu*|Iespējots|Atzīmējot vai noņemot atzīmi izvēles rūtiņā, saspiešana netiek aktivizēta/deaktivizēta nekavējoties. Tā kā saspiešanu apstrādā Housekeeper, izmaiņas stāsies spēkā līdz pat 2 reizēm `HousekeepingFrequency` stundu laikā (iestatīts [zabbix\_server.conf](/manual/appendix/config/zabbix_server))<br><br>Pēc saspiešanas atspējošanas jauni chunk, kas nonāk saspiešanas periodā, netiks saspiesti. Tomēr visi iepriekš saspiestie dati paliks saspiesti. Lai atspiestu iepriekš saspiestus chunk, izpildiet norādījumus [TimescaleDB dokumentācijā](https://docs.tigerdata.com/use-timescale/latest/compression/).<br><br>Ja veicat jaunināšanu no vecākām Zabbix versijām ar TimescaleDB atbalstu, saspiešana pēc noklusējuma nebūs iespējota.|
|*Saspiest ierakstus, kas vecāki par*|7d|Šis parametrs nevar būt mazāks par 7 dienām.<br><br>Neizmaināmu saspiesto chunk dēļ visi novēloti dati (piem., dati, ko aizkavējis starpniekserveris), kas ir vecāki par šo vērtību, tiks noraidīti.|

:::note
Lai uzlabotu tendenču atjaunināšanas veiktspēju, varat samazināt "chunk_time_interval" parametru tabulām `trends` un `trends_uint` no 30 dienām līdz 7 dienām vai mazāk, atkarībā no tā, cik daudz vienumu izmanto tendences.
Šī iestatījuma mērķis ir ievērot TimescaleDB labāko praksi un nodrošināt, ka chunk lielums paliek sistēmas pieejamo resursu robežās.
:::

[comment]: # ({/dc9d91b5-2012f0a6})
