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

[comment]: # ({/6b30eb7c-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]: # ({082fb7aa-f731725c})
#### Konfigurācija

**Priekšnosacījumi**: datubāzes serverī ir instalēts atbalstītas versijas TimescaleDB paplašinājums [supported version](/manual/installation/requirements#thirdparty-external-surrounding-software).
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ās 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 privilēģijas.

::: noteclassic
Ja izmantojat citu datubāzes shēmu, nevis 'public', iepriekš norādītajai komandai jāpievieno SCHEMA klauzula.
Piemēram:<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 ir jāpalaiž pēc tam, kad parastā PostgreSQL datubāze ir izveidota ar sākotnējo shēmu/datiem (skatiet [database creation](/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 `schema.sql` skriptu ar TimescaleDB versiju 2.9.0 un jaunāku, netiek ievērota labākā prakse.
Neskatoties uz šo brīdinājumu, konfigurēšana 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 housekeepinga parametrus:

-   Pārrakstīt vienuma vēstures periodu
-   Pārrakstīt vienuma tendenču periodu

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

PostgreSQL un TimescaleDB gadījumā skripts `postgresql/timescaledb/schema.sql` iestata vēl divus papildu parametrus:

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

[comment]: # ({/082fb7aa-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]: # ({0bea3ea4-d6ee4f10})
##### TimescaleDB shēmas jaunināšana

Jauninot Zabbix uz versiju, kurā ir jaunas TimescaleDB hypertables, Zabbix serveris šos hypertables automātiski nekonfigurē (piemēram, ja jaunināt no Zabbix 6.4 uz 7.4, jo versijās 7.0.0 un 7.0.2 ir ieviesti jauni 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āla failu, 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īts 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, netiek ievērotas labākās prakses.
Neraugoties uz šo brīdinājumu, konfigurēšana tiks veiksmīgi pabeigta.
:::

[comment]: # ({/0bea3ea4-d6ee4f10})

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

Vietējā TimescaleDB saspiešana tiek atbalstīta visām Zabbix tabulām, kas ir TimescaleDB hipertabulas.
Jaunināšanas vai migrācijas laikā uz TimescaleDB 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 tā netiek atbalstīta ar "apache" Apache 2.0 licenci.
Ja Zabbix konstatē, ka saspiešana netiek atbalstīta, Zabbix servera žurnālā tiek ierakstīts brīdinājuma ziņojums, un lietotāji nevar iespējot saspiešanu lietotāja saskarnē.

::: notetip
Lietotāji tiek aicināti pirms saspiešanas izmantošanas iepazīties ar saspiešanu [TimescaleDB dokumentācijā](https://docs.tigerdata.com/use-timescale/latest/compression/).
:::

Ņemiet vērā, ka saspiešanai ir noteikti ierobežojumi, konkrēti:

-   Saspiestu gabalu modificēšana (ievietošana, dzēšana, atjaunināšana) nav atļauta
-   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* > *Housekeeping* Zabbix lietotāja saskarnē.

|Parameter|Default|Comments|
|--|--|------|
|*Enable compression*|Enabled|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ā ne vēlāk kā pēc 2 × `HousekeepingFrequency` stundām (iestatīts [zabbix\_server.conf](/manual/appendix/config/zabbix_server))<br><br>Pēc saspiešanas atspējošanas jauni gabali, kas ietilpst saspiešanas periodā, netiks saspiesti. Tomēr visi iepriekš saspiestie dati paliks saspiesti. Lai atspiestu iepriekš saspiestos gabalus, sekojiet norādījumiem [TimescaleDB dokumentācijā](https://docs.tigerdata.com/use-timescale/latest/compression/).<br><br>Jauninot no vecākām Zabbix versijām ar TimescaleDB atbalstu, saspiešana pēc noklusējuma netiks iespējota.|
|*Compress records older than*|7d|Šis parametrs nevar būt mazāks par 7 dienām.<br><br>Saspiestu gabalu nemainīguma dēļ visi novēlotie dati (piemēram, starpniekservera aizkavēti dati), kas ir vecāki par šo vērtību, tiks atmesti.|

:::note
Lai uzlabotu tendenču atjaunināšanas veiktspēju, iespējams, vēlēsieties samazināt "chunk_time_interval" 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 gabalu izmērs nepārsniedz sistēmā pieejamos resursus.
:::

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