Оповещение о падении графиков Cacti через плагин для Nagios

Написал простой плагин для nagios который работает по простому принципу: берутся значения с rrd файла за последний час и значения за этот же промежуток день назад.

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

(на рисунку прозрачным цветом нарисован график за предыдущий день)

Для nagios нужно прописать в objects/commands.cfg следующие строки

define command{
    command_name    fall_check
    command_line    /usr/bin/env bash /usr/local/etc/nagios/scripts/rrd_fall_checker.sh $ARG1$ $ARG2$ $ARG3$ $ARG4$ $ARG5$
}

ARG1 — имя rrd файла (без абсолютного пути, он настраивается в самом файле плагина)

А дальше возможны варианты:

Если указаны только аргументы 2 и 3:

  • ARG2 — минимальный критический порог
  • ARG3 — максивальный критический порог (0 или пусто -верхней границы не задано)

Если указаны все аргументы то задаются отдельно значения для уровня критического уровня и предупреждения (нагиос будет показывать статус CRITICAL, WARNING соответственно):

  • ARG2 — минимальный критический порог
  • ARG3 — минимальный порог предупреждения
  • ARG4 — максивальный критический порог (0 или пусто -верхней границы не задано)
  • ARG5 — максимальный порог предупреждения

Конфиг для сервиса на проверку выглядит примерно так:

define service{                
    use main-service   
    host_name fallCheck
    service_description your text
    check_command fall_check!file_114.rrd!0.5!2.3
}

В данном случае задан порог с 0.5 до 2.3 и при выходе за заданные границы будет критическое уведомление.

Либо так:

define service{                
    use main-service   
    host_name fallCheck
    service_description your text
    check_command fall_check!file_114.rrd!0.5!0.8!2.3!2
}

В этом случае, если ратио опустится ниже 0.8 — будет ошибка уровня WARNING. Если ниже 0.5 то уже CRITICAL. Аналогично и для верхней границы.

Если нужно указать только нижние границы то можно использовать такую запись:

check_command fall_check!file_114.rrd!0.5!0.8!0!0

Сам плагин доступен на гитхабе: https://github.com/unkn0wn404/Nagios.FallChecker

Требует наличия bash и php. Можно было бы обойтись и без пхп конечно, но было лень маяться с логикой проверки ратио в баше.

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

One Thought on “Оповещение о падении графиков Cacti через плагин для Nagios

  1. Pingback: Блог неизвестного разработчика » Blog Archive » Мониторинг графиков cacti и оповещение

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Post Navigation