Пишем свой плагин для nagios

Для nagios существует очень много плагинов. В интернете можно найти подходящий для себя, поставить и радоваться как он здорово работает. Но, что делать если ни один плагин не устраивает? А напишем для примера свой простой!

Начнем.

 Нагиос понимает 4 кода завершения работы плагина:

  • 0 — Все работает в штатном режиме (Ok)

  • 1 — Предупреждение (Warning)

  • 2 — Критическая ошибка (Critical)

  • 3 — Что-то неизвестное (Unknown)

Простейший плагин может выглядеть следующим образом

Хотим чтобы нагиос проверял наличие файла и чтобы он был не старше 25 часов (=1500 минутам). Если условия выполняются то ОК, если файла нет или старше 25 часов, то выдавать статус CRITICAL. Пишем 

#!/bin/sh

 

/usr/bin/find /data/ -mmin -1500 -type f 2>/dev/null | grep last_ok.flag > /dev/null 2>&1 ;\

if [ $? -eq 0 ] ;

then echo "last_ok.flag is OK" ;

exit 0;

else echo "last_xbackup_ok.flag is CRITICAL" ;

exit 2;

fi

Где $? - код возврата последнего процесса, в нашем случае код возврата команды find 

Настраиваем пробник (проверку)

1. Пропишем вызов плагина в nrpe.cfg

command[check_xbackupflag]=/usr/bin/sudo /usr/lib64/nagios/plugins/check_file

 2. Опишем наш пробник в сервисах нагиос:

define service{

use hostcomm_gen-service-template-5min

host_name mgmt.moo-1.hc.ru

service_description XTRABACKUP

check_command check_nrpe!check_xbackupflag

}

Вот так очень легко и быстро можно написать простенький плагин для системы мониторинга nagios

 

Обновлено 07.04.2016 18:59

unix-way