18 февраля 2016 в 15:54

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

В большой обзорной статье мы бегло рассказали об основных возможностях 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 помогут инфраструктуре работать как можно с наименьшим количеством сбоев, а сервисам оставаться доступными. Ведь предотвратить будущую проблему легче, чем уже свершившуюся.

Перевод статьи из нашего блога.
Автор: @wabbit
Zabbix
рейтинг 47,42
Компания прекратила активность на сайте
Похожие публикации

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

  • +6
    Пошучу глупую шутку

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

      С Google всё должно работать, вчера видел подтверждающее это сообщение от одного из наших пользователей. Подскажите подробности конфигурации, если кто знает.
    • +1
      Вот как настрайвается Google. Обратите внимание на https://support.google.com/accounts/answer/6010255 и https://www.google.com/settings/security/lesssecureapps.

      image
      • 0
        Настроил все как на картинке. Непроверенные приложения включены. Письма не отправляет. Опять переделал на ssmtp — работает.

        Конфиг ssmtp
        root=zabbix@gmail.com
        mailhub=smtp.gmail.com:587
        rewriteDomain=gmail.com
        hostname=zabbix@gmail.com
        UseSTARTTLS=YES
        UseTLS=YES
        AuthUser=zabbix@gmail.com
        AuthPass=PASSWORD
        FromLineOverride=YES
        AuthMethod=LOGIN

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

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

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

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

      Детали реализации: http://zabbix.org/mw/images/1/18/Prediction_docs.pdf
  • 0
    Такой вопрос, CentOS 6 не видно в supported OS, хотя собирается без проблем. Есть "подводные камни" которых стоит ожидать ?
    • 0
      вопрос косается именно zabbix-server
      • +1
        Подводные камни: старый неподдерживаемый PHP и libcurl в официальном репозитории.

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

Самое читаемое Разработка