This is a translation of the original English documentation page. Help us make it better.

5 Налаштування TimescaleDB

Огляд

Zabbix підтримує TimescaleDB, базу даних на базі PostgreSQL, яка автоматично розбиває дані на фрагменти, що базуються на часовому діапазоні, для підтримки більшої продуктивності в масштабі.

Наразі TimescaleDB не підтримується проксі Zabbix.

Інструкції на цій сторінці можна використовувати для створення бази даних TimescaleDB або міграції з існуючих таблиць PostgreSQL до TimescaleDB.

Configuration

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:

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

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):

zcat /usr/share/doc/zabbix-sql-scripts/postgresql/timescaledb.sql.gz | sudo -u zabbix psql zabbix

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:

  • Override item history period
  • Override item trend period

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:

  • Enable compression
  • Compress records older than 7 days

All of these parameters can be changed in AdministrationGeneralHousekeeping 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

Власне стиснення 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 днів.

Через незмінність стиснених фрагментів усі запізнілі дані (наприклад, дані, затримані проксі-сервером), старші за це значення, будуть викинутий.