Zabbix підтримує TimescaleDB, базу даних на базі PostgreSQL, яка автоматично розбиває дані на фрагменти, що базуються на часовому діапазоні, для підтримки більшої продуктивності в масштабі.
Наразі TimescaleDB не підтримується проксі Zabbix.
Інструкції на цій сторінці можна використовувати для створення бази даних TimescaleDB або міграції з існуючих таблиць PostgreSQL до TimescaleDB.
We assume that TimescaleDB extension has been already installed on the database server (see installation instructions).
TimescaleDB extension must also be enabled for the specific DB by executing:
Running this command requires database administrator privileges.
If you use a database schema other than 'public' you need to add a SCHEMA clause to the command above. E.g.:
echo "CREATE EXTENSION IF NOT EXISTS timescaledb SCHEMA yourschema CASCADE;" | sudo -u postgres psql zabbix
Then run the timescaledb.sql
script located in database/postgresql. For new installations the script must be run after the regular PostgreSQL database has been created with initial schema/data (see database creation):
The migration of existing history and trend data may take a lot of time. Zabbix server and frontend must be down for the period of migration.
The timescaledb.sql
script sets the following housekeeping parameters:
In order to use partitioned housekeeping for history and trends, both these options must be on. It's possible to use TimescaleDB partitioning only for trends (by setting Override item trend period) or only for history (Override item history period).
For PostgreSQL version 10.2 or higher and TimescaleDB version 1.5 or higher, the timescaledb.sql
script sets two additional parameters:
All of these parameters can be changed in Administration → General → Housekeeping after the installation.
You may want to run the timescaledb-tune tool provided by TimescaleDB to optimize PostgreSQL configuration parameters in your postgresql.conf
.
Стиснення можна використовувати, лише якщо ввімкнено параметри Перевизначити період історії елементів і Перевизначити період трендів елементів. Якщо перевизначення вимкнено, а таблиці мають стислі фрагменти, економ не видалятиме дані з цих таблиць, а на екрані адміністрування відображатимуться попередження про неправильну конфігурацію для [Housekeeping] /manual/web_interface/frontend_sections/administration/general#housekeeper) і розділ System information.
Усі ці параметри можна змінити в Адміністрування → Загальні → Домашнє обслуговування після встановлення.
Ви можете запустити інструмент timescaledb-tune, наданий TimescaleDB, щоб оптимізувати параметри конфігурації PostgreSQL у вашому postgresql.conf
.
Власне стиснення TimescaleDB підтримується, починаючи з Zabbix 5.0 для PostgreSQL версії 10.2 або новішої та TimescaleDB версії 1.5 або новішої для всіх таблиць Zabbix, якими керує TimescaleDB. Під час оновлення або міграції до TimescaleDB початкове стиснення великих таблиць може зайняти багато часу.
Зауважте, що стиснення підтримується згідно з ліцензією Timescale Community "timescale" і не підтримується ліцензією "apache" Apache 2.0. Починаючи з Zabbix 6.0.7, Zabbix визначає, чи підтримується стиснення. Якщо він не підтримується, у журналі сервера Zabbix записується попереджувальне повідомлення, і користувачі не можуть увімкнути стиснення у інтерфейсі.
Перед використанням стиснення користувачам рекомендується ознайомитися з документацією щодо стиснення TimescaleDB.
Зауважте, що стиснення накладає певні обмеження, а саме:
Параметри стиснення можна змінити в блоці Стиснення історії та тенденцій у розділі Адміністрування → Загальні → Коммертичність інтерфейсу Zabbix.
Параметр | За умовчанням | Коментарі |
---|---|---|
Увімкнути стиснення | Увімкнено | Установка або зняття прапорця не активує/дезактивує стиснення негайно. Оскільки стиснення обробляється Housekeeper, зміни набудуть чинності через 2 години HousekeepingFrequency (встановлено в zabbix_server.conf)Після вимкнувши стиснення, нові шматки, які потрапляють у період стиснення, не будуть стиснуті. Однак усі попередньо стиснуті дані залишаться стиснутими. Щоб розпакувати попередньо стиснуті фрагменти, дотримуйтесь інструкцій у документації TimescaleDB. Під час оновлення старіших версій Zabbix із підтримкою TimescaleDB, стиснення не буде ввімкнено за замовчуванням. |
Стискати записи, старші за | 7d | Цей параметр не може бути меншим за 7 днів. Через незмінність стиснених фрагментів усі запізнілі дані (наприклад, дані, затримані проксі-сервером), старші за це значення, будуть викинутий. |