Для 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