Zabbix 3.0: Прогнозирование проблем

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

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

В новой версии Zabbix добавилась возможность также делать прогнозы, чтобы узнать будет ли шторм на сети или в серверной стойке, и когда это может произойти.ee7c602b347e42798c5424b3d51f3ff5.png

Zabbix смотрит историю собранных данных и предсказывает, как будут развиваться события в дальнейшем. Затем триггеры могут быть настроены на срабатывание еще до наступления будущей проблемы с последующим запуском таких действий, как уведомления ответственных или автоматический запуск скриптов, удаленных команд. Чтобы визуализировать предсказание на графике, Вы выбираете элемент данных (например, кол-во свободного места на жестком диске) и создаете новый вычисляемый элемент данных (назовем его 30m linear forecast) на его основе с использованием функции forecast. Указываете временной интервал в прошлом, который использовать для статистического анализа (например, 30 минут) и указываете как далеко строить прогноз (тоже допустим, 30 минут). Далее Zabbix делает расчет, находит лучший вариант и возвращает вам его:

forecast(host:item,30m,,30m)


Проблема только в том, что forecast будет отображать на графике не в будущем, а значение прогноза будет привязано к времени, когда он был рассчитан. Чтобы увидеть прогноз на графике в будущем, используем другой вычисляемый элемент данных (назовем его 30m linear forecast shifted), который будет просто смещать значение прогноза на 30 минут вперед, используя доступную для всех функций возможность timeshift:

last(host:item_forecast,#1,30m)


96bcf44365d14b6693ed5470259e4f89.png Возможность прогнозировать может быть полезна при контроле свободного места на дисках.0267230145fe42b3843e56fc294994bc.png
Триггер с простым порогом в 1ГБ или 10% не учитывает один очень серьезный нюанс — диски могут заполняться с совершенно различной скоростью. Поэтому он будет срабатывать либо слишком рано, либо (что хуже) слишком поздно, когда мы уже на нуле.
А Триггер с использованием статистической функции timeleft даст нам 1 час чтобы очистить или расширить диск:

{host:vfs.fs.size[/,free].timeleft(30m,,0)} < 1h

И он будет работать для всех дисков, в независимости от их размеров.

К тому же, для сложных случаев, Zabbix предлагает на выбор функции линии тренда, которые Вы могли использовать в привычном табличном процессоре:
96b81b575ce94e8c801f060f9a8f1938.png


9665d077c0e540cf96138471eccad36b.png
Точный прогноз погоды спасает нас от необходимости таскать зонт, когда он просто не нужен, и от возможности промокнуть, когда велика вероятность, что дождь будет.
Функции прогнозирования в Zabbix помогут инфраструктуре работать как можно с наименьшим количеством сбоев, а сервисам оставаться доступными. Ведь предотвратить будущую проблему легче, чем уже свершившуюся.

Перевод статьи из нашего блога.

© Habrahabr.ru