Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программное обеспечение Linux и FreeBSD (http://forum.oszone.net/forumdisplay.php?f=11)
-   -   [решено] Плагин для контроля postfix к nagios (http://forum.oszone.net/showthread.php?t=133803)

rfcr 04-03-2009 15:31 1054772

Плагин для контроля postfix к nagios
 
Всем привет!
Не смог найти плагин для контроля состояния 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 1054814

а нельзя просто использовать libexec/check_smtp для проверки порта ? :)

rfcr 04-03-2009 16:31 1054825

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

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

rfcr 17-04-2009 09:26 1096463

Разобрался, запускать это все хозяйство нужно было через 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
Вот как-то так... Насколько это правильно, не знаю, но по меньшей мере все стало запускаться.


Время: 18:19.

Время: 18:19.
© OSzone.net 2001-