Так вот, по snmp мы получаем строку с названием текущей политики, следовательно плагин check_snmp настраиваем на проверку содержания определённой строки (например WriteThrough).
К сожалению, данный плагин при проверке на строку может возвращать только два состояния OK или CRITICAL, и как я уже писал выше данный тест делает проверку штатной ситуации, тоесть ничего критичного нет во время тренировки батареи и нет никакой необходимости будить меня смской в два часа ночи, а можно ограничиться лишь email сообщением...
В общем решение напрашивается само собой, а именно для таких тестов нам нужен плагин, который сможет возвращать другие состояния: OK или WARNING...
Когда задача была поставлена, было решено модифицировать плагин добавив ключ позволяющий указать, что при проверке на строку вместо состояния CRITICAL возвращать WARNING.
Модификацию проводил на версии 1.4.15-34-gd287. Учитывая, что разработчики рекомендуют использовать всегда последнюю версию, не вижу большого смысла выкладывать патч к определённой версии, так что можете загрузить мою модификацию скрипта на www.syschk.net.
В архиве найдёте два файла:
check_snmp.c.org - оригинальный исходник версии 1.4.15-34-gd287
check_snmp.c - модифицированный исходник
Загрузить последнюю версию плагинов можете на сайте sourceforge.net и перенести в неё мои изменения. В модифицированном исходнике все свои вставки я помечал как
//RAIN modПосле внесения изменений и компиляции плагин готов к работе. Вся модификация включает в себя добавление ключа --no-critical и соответственно его обработка, тоесть при указанном ключе будет возвращено состояние предупреждения вместо критического. Для просмотра справки вызывайте плагин из командной строки с ключом --help.
......
//RAIN mod END
Пример использования модифицированного плагина в определении команд Nagios:
define command{
command_name check_snmp_lsi_vd_cache_policy
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -m LSI-MegaRAID-SAS-MIB -C $ARG1$ -o LSI-MegaRAID-SAS-MIB::currentCachePolicy.$ARG2$ -P 2c -r "WriteThrough" --invert-search --no-critical -l CachePolicy
}
Вот и всё.
Комментариев нет:
Отправить комментарий