4 Миграция на TimescaleDB

Обзор

Поддержка базы данных для хранения временных рядом добавлена начиная с Zabbix 4.2 в форме экспериментальной поддержки TimescaleDB, решения на основе PostgreSQL базы данных для автоматического партиционирования данных на части на основе времени для поддержки большего уровня производительности.

В настоящее время TimescaleDB не поддерживается Zabbix прокси.

В этом разделе представлены необходимые шаги для миграции с существующих таблиц в PostgreSQL на TimescaleDB.

Настройка

Мы предполагаем, что TimescaleDB расширение уже установлено в базе данных (смотрите инструкции по инсталляции).

TimescaleDB расширение также необходимо включить для отдельной БД, выполнив:

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

Для выполнения этой команды потребуются привилегии администратора базы данных.

Затем выполните timescaledb.sql скрипт, который находится в database/postgresql:

cat timescaledb.sql | sudo -u zabbix psql zabbix

Миграция существующих данных истории и динамики изменений потребует много времени. Zabbix сервер и веб-интерфейс должны быть остановлены в процессе миграции.

Скрипт timescaledb.sql задает следующие параметры процессу очистки истории (с АдминистрированиеОбщиеОчистка истории):

  • Переопределить период хранения истории элементов данных
  • Переопределить период хранения динамики изменения элементов данных

В случае использования очистки истории с партиционированием для истории и динамики изменений обе эти опции необходимо активировать. Имеется возможность использования TimescaleDB партиционирования только для динамики изменений (установив настройку Переопределить период хранения динамики изменения элементов данных) или только для истории (Переопределить период хранения истории элементов данных).