Войти

Показать полную графическую версию : [решено] Плагин для контроля postfix к nagios


rfcr
04-03-2009, 15:31
Всем привет!
Не смог найти плагин для контроля состояния postfix-а..
Решил написать сам.
Вот что получилось:

#!/bin/bash
#
# Load in standard nagios utils
. /usr/local/nagios/libexec/utils.sh
STATE_OK=0
#STATE_WARNING=1
STATE_CRITICAL=2
#STATE_UNKNOWN=3
#STATE_DEPENDENT=4

# executables
find=/usr/bin/find
wc=/usr/bin/wc
awk=/usr/bin/awk
grep=/bin/grep
date=/bin/date
ls=/bin/ls
sed=/bin/sed


# runtime variables
#POSTFIXSTATE="" # on or off


# STATE Check

POSTFIXSTATE=`/etc/init.d/postfix status | $awk '{print $5}'`

case "$POSTFIXSTATE" in
..running)
echo "POSTFIX $POSTFIXSTATE "
exit 0
;;
*)
echo "POSTFIX $POSRFIXSTATE "
exit 2
;;
esac


В итоге если запускаю ручками - все работает как надо:
/usr/local/nagios/libexec/check_postfix -H localhost и он мне выдает
POSTFIX ..running.

А вот nagios выдает что он не запущен, пишет что статус CRITICAL...
Уж и не знаю что не так.
Кто может помочь?

Да и еще... Nagios версии 3.0.5-2.4
Система open suse 11.1

czecz
04-03-2009, 16:17
а нельзя просто использовать libexec/check_smtp для проверки порта ? :)

rfcr
04-03-2009, 16:31
Да, в принципе для меня пойдет такая проверка но тут еще есть и чисто спортивный интерес...
Например мне нужен еще плагин для контроля агента бэкапа (exec backup), его скорей всего придеться писать руками. Поэтому разобраться почему данный простейший скрипт не работает - дело чести.

Дак почему он не работает как надо, точнее почему nagios получает от скрипта параметр 2, а не ноль (так как postfix запущен)??

rfcr
17-04-2009, 09:26
Разобрался, запускать это все хозяйство нужно было через sudo, предварительно отредактировав файл /etc/sudoers.
Чтоб работало там нужно прописать разрешение для пользователя nagios на запуск скрипта. А в конфиге nagios команду запускать через sudo.

# 'check_my_postfix' command definition
define command{
command_name check_my_postfix
command_line sudo $USER1$/check_my_postfix
}


В самом /etc/sudoers:

nagios ALL=NOPASSWD: /usr/local/nagios/libexec/check_my_postfix

Вот как-то так... Насколько это правильно, не знаю, но по меньшей мере все стало запускаться.




© OSzone.net 2001-2012