Ручная очистка ClickHouse
Ручная очистка ClickHouse позволяет освободить место, если диск или раздел с данными ClickHouse заполнен либо близок к заполнению. По умолчанию данные ClickHouse хранятся в каталоге: /var/lib/clickhouse.
Для освобождения места можно удалить устаревшие данные об атаках, сессиях или данные обоих типов.
Внимание. Удалённые данные невозможно восстановить средствами системы. Перед выполнением команд убедитесь, что правильно указали дату и время. Время в командах задаётся в часовом поясе UTC.
Удаление данных об атаках
Чтобы удалить все атаки, зарегистрированные до указанного момента времени, используйте команду:
DELETE FROM ids.attacks
WHERE CreatedAt < toDateTime('<DATETIME>', 'UTC')
SETTINGS lightweight_deletes_sync = 1;
где – <DATETIME> – дата и время в формате:
YYYY-MM-DD HH:MM:SS;
Удаление данных о сессиях
Сведения о сессиях хранятся в таблицах ids.flows и ids.directed_flow_buckets. Для полной очистки необходимо удалить устаревшие записи из обеих таблиц.
Чтобы удалить все сессии, завершившиеся до указанного момента времени, используйте следующие команды:
DELETE FROM ids.flows
WHERE EndTime < toDateTime('<DATETIME>', 'UTC')
SETTINGS lightweight_deletes_sync = 1;
DELETE FROM ids.directed_flow_buckets
WHERE EndTime < toDateTime('<DATETIME>', 'UTC')
SETTINGS lightweight_deletes_sync = 1;
где – <DATETIME> дата и время в формате:
YYYY-MM-DD HH:MM:SS;
Порядок очистки
Для настройки очистки следует выполнить действия на машине с ClickHouse:
-
определите тип удаляемых данных и момент времени, до которого необходимо удалить записи;
-
подключиться к ClickHouse: sudo clickhouse-client --secure;
-
выполнить нужную команду:
-
Для очистки данных об атаках;
-
Для очистки данных о сессиях.
- дождаться завершения каждой выполненной команды, и выйти из режима взаимодействия с ClickHouse командой exit.
Фактическое освобождение дискового пространства может происходить постепенно во время фонового слияния частей данных ClickHouse.