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

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

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

Как это работает в Zabbix

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)







Использование в триггерах

Возможность прогнозировать может быть полезна при контроле свободного места на дисках.
Триггер с простым порогом в 1ГБ или 10% не учитывает один очень серьезный нюанс — диски могут заполняться с совершенно различной скоростью. Поэтому он будет срабатывать либо слишком рано, либо (что хуже) слишком поздно, когда мы уже на нуле.
А Триггер с использованием статистической функции timeleft даст нам 1 час чтобы очистить или расширить диск:
{host:vfs.fs.size[/,free].timeleft(30m,,0)} < 1h
И он будет работать для всех дисков, в независимости от их размеров.

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



Ясно смотрим в будущее



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

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

Комментарии (6)


  1. TroLLik
    19.02.2016 05:21
    +6

    Пошучу глупую шутку

    image


  1. chelaxe
    19.02.2016 07:37

    Спасибо за статью. Переехали вчера на Zabbix 3 вроде полет нормальный. Настроили шифрование, но вот Windows агенты не поддерживают шифрование. Еще настройка email вроде стала поддерживать необходимые параметры для google, но настроить корректно так и не получилось, может кто подскажет что как сделать? (Пока по старинке через скриптик)


    1. alexvl
      19.02.2016 08:53

      Что касается агентов, то сделаем сборку и с шифрованием. Надо немного подождать. С шифрованием может появится зависимость от сторонней библиотеки.

      С Google всё должно работать, вчера видел подтверждающее это сообщение от одного из наших пользователей. Подскажите подробности конфигурации, если кто знает.


    1. alexvl
      19.02.2016 12:43
      +1

      Вот как настрайвается Google. Обратите внимание на https://support.google.com/accounts/answer/6010255 и https://www.google.com/settings/security/lesssecureapps.

      image


  1. rekby
    21.02.2016 14:14

    А насколько им можно верить в более долгосрочных прогнозах, чем на несколько часов?

    Например я хочу чтобы предупреждение о места на диске мне приходило за 3-7 дней, чтобы выбрать удобный момент для выключения клиентского сервера и добавления места.


    1. alexvl
      22.02.2016 10:16
      +1

      Ответ нашего математика:

      Всё зависит от того, как себя ведёт свободное место на диске. Если глядя на график за 3-7 (или более) дней можно сказать: "Хм… этот график очень похож на прямую линию, если его продлить, то он достигнет нуля тогда-то..." — то то же самое сможет сделать Zabbix в автоматическом режиме и без графиков. Если же график похож на "американские горки", то о долгосрочных прогнозах можно забыть.

      Если недостаточно такой расплывчатой оценки достоверности, милости просим голосовать и высказывать предложения тут:
      https://support.zabbix.com/browse/ZBXNEXT-2972

      Детали реализации: http://zabbix.org/mw/images/1/18/Prediction_docs.pdf