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

Обзор

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • начался новый час и сервер получил новое значение по этому элементу данных;
  • новый час начнётся менее чем за 5 минут до конца предыдущего (новые значения отсутствуют)
  • сервер останавливается

Для просмотра динамики изменений на графике вам нужно подождать по крайней мере до начала следующего часа (если элемент данных обновляется часто) и почти до конца следующего часа (если элемент данных обновляется реже), что означает максимум 2 часа.

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

Таблицы истории никоим образом не участвуют в генерации динамики изменений.

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

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

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