You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

5 Configuració TimescaleDB

Vista general

Zabbix suporta TimescaleDB, una solució de base de dades basada en PostgreSQL que parteix automàticament les dades en blocs temporals per suportar rendiment ràpid a gran escala.

Actualment, TimescaleDB no s'admet a Zabbix.

Les instruccions d'aquesta pàgina es poden emprar per crear una base de dades TimescaleDB o migrar les taules PostgreSQL existents cap a TimescaleDB.

Configuració

Assumim que l'extensió TimescaleDB ja s'ha instal·lat al servidor de base de dades (veieu instruccions d'instal·lació).

L'extensió de TimescaleDB s'ha d'activar per la DB específica, executant:

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

Per executar aquesta comanda cal privilegis d'administrador de la base de dades.

Si empreu un esquema de base de dades diferent a 'public', heu d'afegir una clàusula SCHEMA a la comanda de més amunt. Per exemple:
echo "CREATE EXTENSION IF NOT EXISTS timescaledb SCHEMA yourschema CASCADE;" | sudo -u postgres psql zabbix

Després, executar l'script timescaledb.sql ubicat a database/postgresql. Per instal·lacions noves, l'script ha de córrer després de que la base de dades PostgreSQL s'hagi creat amb l'esquema inicial (veieu creació de base de dades):

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

Ignoreu els missatges d'avís informatn que les millors pràctiques no s'han seguit quan executeu l'script timescaledb.sql a la versió 2.9.0 o superior de TimescaleDB. A banda d'aquest avís, la configuració s'executarà correctament.

La migració de l'historial i informació de tendències existents pot dur molt de temps. El servidor Zabbix i el frontal s'aturaran durant el període de migració.

L'script timescaledb.sql estableix els següents paràmetres de neteja:

  • Sobreescriure l'element del període històric
  • Sobreescriure l'element del període de tendències

Per emprar neteja particionada per l'històric i les tendències, ambdós paràmetres s'han d'activar. També és possible activar la sobreescriptura individualment només per històric o tendències.

Per la versió 10.2 o superior de PostgreSQL i la versió 1.5 o superior de TimescaleDB, l'script timescaledb.sql estableix dos paràmetres més:

  • Permetre compressió
  • Comprimir els registres anteriors a 7 dies
Upgrading TimescaleDB schema

When upgrading Zabbix to a version that contains new TimescaleDB hypertables, Zabbix server does not automatically configure those hypertables (for example, when upgrading from Zabbix 6.4 to 7.2, as versions 7.0.0 and 7.0.2 have introduced new hypertables).

To configure new TimescaleDB hypertables, follow these steps:

  1. Start Zabbix server; this upgrades the existing database.
  2. Check the server log file that the database upgrade is completed; when completed, stop Zabbix server. Note that the server logs a warning if it attempts to enable compression for a table that is not a hypertable.
  3. Run the postgresql/timescaledb/schema.sql script; this configures the new TimescaleDB hypertables. Note that, since Zabbix 7.0.0, the script's location and name have changed from postgresql/timescaledb.sql to postgresql/timescaledb/schema.sql.

Please ignore warning messages informing that the best practices are not followed while running schema.sql script on TimescaleDB version 2.9.0 and higher. Regardless of this warning, the configuration will be completed successfully.

Per esborrar correctament les dades comprimides per la neteja, les opcions Anul·lar el període d'historial d'elements i Anul·lar del període de tendència d'elements han d'esser habilitades. Si la substitució és desactivada i les taules tenen fragments comprimits, la neteja no treurà pas dades d'aquestes taules i es veuran avisos sobre una configuració incorrecta a les seccions Neteja i Informació del sistema.

Tots aquests paràmetres es poden modificar des d'AdministracióNeteja després de la instal·lació.

Podeu executar la utilitat timescaledb-tune, proveïda per TimescaleDB, per optimitzar els paràmetres de configuració de PostgreSQL a l'arxiu postgresql.conf.

Compressió TimescaleDB

La compressió nadiua de TimescaleDB és suportada a partir de Zabbix 5.0 per a PostgreSQL versió 10.2 o superior i TimescaleDB versió 1.5 o superior per totes les taules Zabbix gestionades per TimescaleDB. Mentre s'actualitza o es migra cap a TimescaleDB, la compressió inicial de les taules grans pot prendre molt de temps.

Veieu que la compressió és admesa sota la llicència "timescale" Timescale Community i que no s'admet sota la llicència "apache" Apache 2.0. A partir de Zabbix 6.0.7, Zabbix detecta si la compressió és admesa; si no ho és pas, escriu un missatge d'advertència al registre del servidor Zabbix i els usuaris no poden pas activar la compressió a la interfície.

Es recomana als usuaris familiaritzar-se amb la documentació de la compressió TimescaleDB abans d'emprar-la.

Veieu que hi ha algunes limitacions imposades per la compressió en particular:

  • Les modificacions de blocs comprimits (insercions, supressions, actualitzacions) no són pas permeses.
  • Les modificacions de esquema de les taules comprimides no són pas permeses.

Els paràmetres de compressió es poden modificar al bloc Compressió de l'històric i de les tendències, a la secció AdministracióNeteja de la interfície Zabbix.

Paràmetre Per defecte Comentaris
Activar la compressió Activa Marcar o desmarcar la casella no activa/desactiva pas la compressió sobtadament. Com la compressió la gestiona el procés de Neteja, les modificacions tindran efecte en dos cops l'horari HousekeepingFrequency (definit a zabbix_server.conf)

Després d'haver desactivat la compressió, els nous trossos que entren al període de compressió no seran pas comprimits. Tanmateix, totes les dades abans comprimides seguiran comprimides. Per descomprimir els blocs abans comprimits, seguiu les instruccions de la documentació TimescaleDB.

Mentre s'actualitza a partir de versions antigues de Zabbix amb suport de TimescaleDB, la compressió no s'activarà pas per defecte.
Comprimir els registres anterior a 7d Aquest paràmetre no pot pas ésser inferior a 7 dies.

Per la immutabilitat dels blocs comprimits, totes les dades posteriors (per exemple, les dades endarrerides per un proxy) que són anteriors a aquest valor, seran esborrades.