Zabbix es compatible con TimescaleDB, una solución de base de datos basada en PostgreSQL que divide automáticamente los datos en fragmentos basados en el tiempo para permitir una escala de rendimiento muy rápido
Actualmente, TimescaleDB no es compatible con el proxy Zabbix.
Las instrucciones de esta página se pueden utilizar para crear la base de datos TimescaleDB o migrar desde tablas PostgreSQL existentes a TimescaleDB.
Suponemos que la extensión TimescaleDB ya se ha instalado en el servidor de base de datos (ver instrucciones de instalación).
La extensión TimescaleDB también debe estar habilitada para la base de datos específica ejecutando:
La ejecución de este comando requiere privilegios de administrador de base de datos.
Si utiliza un esquema de base de datos que no sea "público", deberá agregar una cláusula SCHEMA al comando anterior. P.ej.:
echo "CREATE EXTENSION IF NOT EXISTS timescaledb SCHEMA yourschema CASCADE;" | sudo -u postgres psql zabbix`
Luego ejecute el script timescaledb.sql
ubicado en database/postgresql. Para instalaciones nuevas, el script debe ejecutarse después de la instalación habitual. La base de datos PostgreSQL se ha creado con el esquema/datos iniciales (ver creación de base de datos):
Ignore los mensajes de advertencia que informan que no se siguen las mejores prácticas mientras ejecuta el script timescaledb.sql
en TimescaleDB versión 2.9.0 y superior. Independientemente de esta advertencia, la configuración se completará exitosamente.
La migración del historial existente y de los datos de tendencias puede llevar mucho tiempo. El servidor y la interfaz de Zabbix deben estar inactivos durante el período de migración.
El script timescaledb.sql
establece los siguientes parámetros de mantenimiento:
Para utilizar la limpieza dividida para la historia y las tendencias, ambas opciones deben estar habilitadas. También es posible habilitar la anulación individualmente ya sea solo para historia o solo para tendencias.
Para PostgreSQL versión 10.2 o superior y TimescaleDB versión 1.5 o superiores, el script timescaledb.sql
establece dos parámetros adicionales:
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:
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.
Para eliminar con éxito los datos comprimidos por parte del limpiador interno, ambas opciones Anular el período del historial de elementos y Anular período de tendencia de elementos deben estar habilitadas. Si la anulación está deshabilitada y las tablas tienen fragmentos comprimidos, el limpiador interno no eliminará datos de estas tablas y se mostrarán advertencias sobre una configuración incorrecta en Limpiador interno y en la Información del sistema.
Todos estos parámetros se pueden cambiar en Administración → Limpiador interno después de la instalación.
Es posible que desee ejecutar la herramienta timescaledb-tune proporcionada por TimescaleDB para optimizar los parámetros de configuración de PostgreSQL en su postgresql.conf
.
La compresión nativa TimescaleDB es compatible a partir de Zabbix 5.0 para PostgreSQL versión 10.2 o superior y TimescaleDB versión 1.5 o superior para todas las tablas de Zabbix administradas por TimescaleDB. Durante la actualización o migración a TimescaleDB, la compresión inicial de las grandes tablas pueden llevar mucho tiempo.
Tenga en cuenta que la compresión es compatible con la licencia comunitaria Timescale "timescale" y no es compatible con la licencia "apache" Apache 2.0. Si Zabbix detecta que la compresión no está admitida, se escribe un mensaje de advertencia en el registro del servidor Zabbix y los usuarios no pueden habilitar la compresión en la interfaz.
Se anima a los usuarios a familiarizarse con la documentación de compresión de TimescaleDB antes de usar la compresión.
Tenga en cuenta que existen ciertas limitaciones impuestas por la compresión, específicamente:
La configuración de compresión se puede cambiar en Historial y tendencias bloque de compresión en la sección Administración → Limpieza de la interfaz de Zabbix.
Parámetro | Predeterminado | Comentarios |
---|---|---|
Habilitar compresión | Habilitado | Marcar o desmarcar la casilla de verificación no activa/desactiva la compresión inmediatamente. Debido a que la compresión es manejada por Housekeeper, los cambios tendrán efecto en hasta 2 veces la HousekeepingFrequency horas (configurada en zabbix_server.conf)Después Al deshabilitar la compresión, los nuevos fragmentos que caigan en el período de compresión no se comprimirán. Sin embargo, todos los datos previamente comprimidos permanecerán comprimidos. Para descomprimir fragmentos previamente comprimidos, siga las instrucciones en la documentación de TimescaleDB. Al actualizar desde versiones anteriores de Zabbix compatibles con TimescaleDB, la compresión no estará habilitada de forma predeterminada. |
Comprimir registros anteriores a | 7d | Este parámetro no puede tener menos de 7 días. Debido a la inmutabilidad de los fragmentos comprimidos, todos los datos tardíos (por ejemplo, datos retrasados por un proxy) que sean anteriores a este valor se descartado. |