Очистка базы данных zabbix.
Добавлено: 25 окт 2024, 20:15
Проверено на zabbix7, после миграции с 6 версии на 7
Сам процесс обновления опишу несколько позже.
В принципе все тривиально.
Останавливаем заббикс и все что с ним связано кроме DB.
Делаем бэкап базы - на всякий случай.
Обновляем заббикс сервер
Обновляем заббикс агент
Обнавляем остальные компаненты (java-gateway ...)
Обновляем zabbix-ui (zabbix7-frontend)
Запускаем заббикс он обновляет DB
Запуска5ем остальные компоненты.
У меня засада была в том что мне надо было обновить базу которая у меня на postgres с 13 версии на 16
За 2 года база превысила 100GB делать бэкап такой базы долго и дорого
Поэтому принял решение обоезать исторические данные оставить историю за 7 дней а графики за 90
Все-равно сначала сделал бэкап необрезанной базы (на всякий случай)
потом залогинился в базу zabbix
дальше начал резать базу
После образки выполнил vacuum хотя этого можно было и не делать.
Запустил заббикс на обрезанной базе, убедился что заббикс заработал.
Остановил заббикс.
Обновил базу
подготовил базу как написано в доке (пересоздал пользователя и роль, дал нужные гранты)
Залил базу из бэкапа
обновил timescaledb
Для этого пришлось выпилить старый
Дальше обновил сам заббикс, агентов...
База уменьшилась до 2 гигов.
Сам процесс обновления опишу несколько позже.
В принципе все тривиально.
Останавливаем заббикс и все что с ним связано кроме DB.
Делаем бэкап базы - на всякий случай.
Обновляем заббикс сервер
Обновляем заббикс агент
Обнавляем остальные компаненты (java-gateway ...)
Обновляем zabbix-ui (zabbix7-frontend)
Запускаем заббикс он обновляет DB
Запуска5ем остальные компоненты.
У меня засада была в том что мне надо было обновить базу которая у меня на postgres с 13 версии на 16
За 2 года база превысила 100GB делать бэкап такой базы долго и дорого
Поэтому принял решение обоезать исторические данные оставить историю за 7 дней а графики за 90
Все-равно сначала сделал бэкап необрезанной базы (на всякий случай)
потом залогинился в базу zabbix
Код: Выделить всё
psql -U zabbix zabbixКод: Выделить всё
delete FROM alerts where age(to_timestamp(alerts.clock)) > interval '7 days';
delete FROM acknowledges where age(to_timestamp(acknowledges.clock)) > interval '7 days';
delete FROM events where age(to_timestamp(events.clock)) > interval '7 days';
delete FROM history where age(to_timestamp(history.clock)) > interval '7 days';
delete FROM history_uint where age(to_timestamp(history_uint.clock)) > interval '7 days';
delete FROM history_str where age(to_timestamp(history_str.clock)) > interval '7 days';
delete FROM history_text where age(to_timestamp(history_text.clock)) > interval '7 days';
delete FROM history_log where age(to_timestamp(history_log.clock)) > interval '7 days';
delete FROM trends where age(to_timestamp(trends.clock)) > interval '90 days';
delete FROM trends_uint where age(to_timestamp(trends_uint.clock)) > interval '90 days';
delete from history where itemid not in (select itemid from items where status='0');
delete from history_uint where itemid not in (select itemid from items where status='0');
delete from history_str where itemid not in (select itemid from items where status='0');
delete from history_text where itemid not in (select itemid from items where status='0');
delete from history_log where itemid not in (select itemid from items where status='0');
delete from trends where itemid not in (select itemid from items where status='0');
delete from trends_uint where itemid not in (select itemid from items where status='0');Код: Выделить всё
vacuum full alerts;
vacuum full acknowledges;
vacuum full events;
vacuum full history;
vacuum full history_uint;
vacuum full history_str;
vacuum full history_text;
vacuum full history_log;
vacuum full trends;
vacuum full trends_uint;Остановил заббикс.
Обновил базу
подготовил базу как написано в доке (пересоздал пользователя и роль, дал нужные гранты)
Залил базу из бэкапа
обновил timescaledb
Для этого пришлось выпилить старый
Код: Выделить всё
DROP EXTENSION timescaledb CASCADE;
CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;
База уменьшилась до 2 гигов.