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 als escenaris següents:
Assumim que l'extensió TimescaleDB ja s'ha instal·lat al servidor de base de dades (veieu les instruccions d'instal·lació).
L'extensió de TimescaleDB s'ha d'activar per la DB específica, executant:
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, executeu l'script postgresql/timescaledb/schema.sql
. Per a installacions noves, l'script ha de córrer després de que la base de dades PostgreSQL s'hagi creat amb l'esquema inicial esquema/dades (veieu creació de base de dades):
Ignoreu els missatges d'avís informatn que les millors pràctiques no s'han seguit quan executeu l'script schema.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 schema.sql
estableix els següents paràmetres de neteja:
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.
L'script postgresql/timescaledb/schema.sql
estableix dos paràmetres més:
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
.
Quan s'actualitza Zabbix a una versió que conté noves hipertaules TimescaleDB, el servidor Zabbix no configura automàticament aquestes hipertaules (per exemple, quan s'actualitza de Zabbix 6.4 a 7.0.3, ja que les versions 7.0.0 i 7.0.2 han afegit noves hipertaules).
Per configurar noves hipertaules TimescaleDB, seguiu aquestes passes:
postgresql/timescaledb/schema.sql
; això configura les noves hipertaules TimescaleDB. Tingueu en compte que, des de Zabbix 7.0.0, la ubicació i el nom de l'script han canviat de postgresql/timescaledb.sql
a postgresql/timescaledb/schema.sql
.Si us plau, ignoreu els missatges d'avís que informen que no es segueixen les millors pràctiques mentre s'executa l'script schema.sql
a la versió 2.9.0 o superior de TimescaleDB. Independentment d'aquest avís, la configuració acabarà correctament.
La compressió nadiua de TimescaleDB és compatible amb totes les taules Zabbix que són hipertaules TimescaleDB. Durant el actualització o migració a TimescaleDB, la compressió inicial de taules grans pot trigar molt.
Tingueu en compte que la compressió és compatible amb la llicència de la comunitat "Timescale" i no és compatible amb la llicència Apache 2.0 "apache". Si Zabbix detecta que la compressió no és pas compatible, mostra un missatge d'avís al registre del servidor Zabbix i els usuaris no poden pas habiliteu la compressió a la interfície.
Es recomana als usuaris que es familiaritzin amb la compressió a Documentació de Timescale abans d'utilitzar la compressió.
Tingueu en compte que hi ha certes limitacions imposades per la compressió, concretament:
La configuració de compressió es pot canviar al bloc Historial, tendències i compressió del registre d'auditoria a la secció Administració → Neteja de la interfície Zabbix.
Paràmetre | Per defecte | Comentaris |
---|---|---|
Activar la compressió | Activada | Marcar o desmarcar la casella de selecció no activa/desactiva la compressió de seguida. Com que la compressió la gestiona la neteja, els canvis tindran efecte en fins a 2 vegades hores HousekeepingFrequency (establert a zabbix_server.conf)Després de desactivar la compressió, els nous trossos que entren en el període de compressió comprimit. Tanmateix, totes les dades comprimides anteriorment es mantindran comprimides. Per descomprimir fragments comprimits anteriorment, seguiu les instruccions de Documentació de Timescale. Quan actualitzeu des de versions anteriors de Zabbix amb suport TimescaleDB, la compressió no s'habilitarà de manera predeterminada. |
Comprimir els registres més antics de | 7d | Aquest paràmetre no pot ser inferior a 7 dies. A causa de la immutabilitat dels fragments comprimits, es descartaran totes les dades tardanes (per exemple, dades retardades per un servidor intermediari) que siguin més antigues que aquest valor. |
Per obtindre un millor rendiment de l'actualització de tendències, és possible que vulgueu reduir el "chunk_time_interval" de les taules trends
i trends_uint
de 30 dies a 7 dies o menys, depenent de quants elements utilitzen les tendències. L'objectiu d'aquesta configuració és seguir les bones pràctiques de TimescaleDB i assegurar-se que la mida del fragment es mantingui dins dels recursos disponibles del sistema.