Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

4 История и динамика изменений

Обзор

История и динамика изменения - два пути хранения в Zabbix собранных данных.

В то время как история хранит каждое собранное значение, динамика изменений хранит усредненную информацию за каждый час, что, следовательно, менее ресурсоемко.

Хранение истории

Вы можете указать как много дней история будет храниться:

  • в диалоге свойств элемента данных
  • при массовом обновлении элементов данных
  • при настройке задач очистки истории

Любые более старые данные будут удалены с помощью автоматической очистки базы данных (Housekeeper).

Самый большой совет - хранить историю как можно меньшее количество дней и таким образом не перегружать базу данных большим количеством значений истории.

Вместо долговременного хранения истории, вы можете хранить больше данных динамики изменений. Например, вы можете хранить историю 14 дней и динамику изменений 5 лет.

Вы можете прикинуть сколько потребуется места для истории в сравнении с динамикой изменений, используя страницу оценки размера базы данных.

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

Если история установлена в '0', элемент данных будет обновлять только поля инвентаря. Функции триггера не будут вычисляться.

В качестве альтернативного подхода к хранению истории обратитесь к функционалу экспорта истории в подгружаемых модулях.

Хранение динамики изменений

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

Вы можете указать как много дней динамика изменений будет храниться:

  • в диалоге свойств элемента данных
  • при массовом обновлении элементов данных
  • при настройке задач очистки истории

Обычно динамика изменений может храниться намного дольше чем история. Любые более старые данные будут удалены с помощью автоматической очистки базы данных (Housekeeper).

Во время работы, с приходом новых значений, Zabbix сервер собирает и хранит динамику изменений в специальном trend cache. Сервер сбрасывает среднее значение предыдущего часа каждого элемента данных в базу данных (при этом оно становится доступным для веб-интерфейса) в следующих случаях:

  • сервер получил первое значение элемента данных текущего часа
  • до конца текущего часа осталось 5 или менее минут и всё ещё не пришло ни одно значение элемента данных текущего часа
  • сервер остановлен

Таким образом, самое раннее, когда можно увидеть новое значение динамики изменения текущего часа в веб-интерфейсе - это начало следующего часа и самое позднее - конец следующего часа, что даёт максимально через 2 часа.

Если, в момент сбрасывания значения динамики изменения, сервер замечает, что значение за соответсвующий час в базе данных уже есть (например, сервер был перезапущен в середине часа), ему, возможно, придётся выполнять SQL инструкции update, вместо insert. Поэтому, на больших инсталляциях, если необходим перезапуск сервера, постарайтесь спланировать его так, чтобы остановка сервера произошла в конце часа, а запуск - в начале следующего.

При работе со значениями динамики изменения Zabbix сервер к историческим таблицам базы данных не обращается.

Если динамика изменений установлена в '0', Zabbix сервер вообще не будет считать и хранить динамику изменений.

Динамика изменений вычисляется и сохраняется с использованием того же типа данных, как и оригинальные значения. В результате среднее значение вычисления значений целочисленных типов данных округляется и чем меньше интервал значений, тем меньше будет точность результата. Например, если элемент данных имеет значения 0 и 1, средним значением будет 0, а не 0.5.

Перезапуск сервера также может привести к потере точности вычисления усредненных значений у целочисленных типов данных за текущий час.