Как написано в доках, за стирание старых, ненужных данных отвечает процесс housekeeper, который делает всё автоматом.
Как оказалось, всё да не всё, или я чего-то не понимаю.
В общем был шаблон, который сохранял /proc/meminfo как элемент данных в формате текст. Период хранения истории этого элемента данных стоял 90 дней, при этом, интервал обновления 1 минута. Пока хостов было немного, меня это не особо заботило, но как только база пошла пухнуть не по-детски, я начал оптимизировать. И вот я отредактировал шаблон, установив период хранения истории 14 дней. С тех пор прошло 5 дней, сегодня я залез в базу и сделал запрос:
Далее, посмотрел к чему относится этот itemid, оказалось как раз к вышеописанному элементу данных. Далее нашёл минимальное время этого элемента данных:
Данное число соответствует 22 февраля. Сегодня 6 мая, но эти данные не вычищены, хотя период хранения для них уменьшен до 2 недель.
И вот собственно вопрос - почему не вычистились старые данные и как вообще проверить, что housekeeper делает свою работу правильно?
И наконец, могу ли я вычистить руками то, что не вычистил housekeeper и если да то как (чтобы не порушить зависимости внутри базы)?
Как оказалось, всё да не всё, или я чего-то не понимаю.
В общем был шаблон, который сохранял /proc/meminfo как элемент данных в формате текст. Период хранения истории этого элемента данных стоял 90 дней, при этом, интервал обновления 1 минута. Пока хостов было немного, меня это не особо заботило, но как только база пошла пухнуть не по-детски, я начал оптимизировать. И вот я отредактировал шаблон, установив период хранения истории 14 дней. С тех пор прошло 5 дней, сегодня я залез в базу и сделал запрос:
Code:
MariaDB [zabbix]> select min(itemid) from history_text; +-------------+ | min(itemid) | +-------------+ | 28880 | +-------------+ 1 row in set (0.01 sec)
Code:
MariaDB [zabbix]> select min(clock) from history_text where itemid=28880; +------------+ | min(clock) | +------------+ | 1550822120 | +------------+ 1 row in set (0.00 sec)
И вот собственно вопрос - почему не вычистились старые данные и как вообще проверить, что housekeeper делает свою работу правильно?
И наконец, могу ли я вычистить руками то, что не вычистил housekeeper и если да то как (чтобы не порушить зависимости внутри базы)?
Comment