Назад | Перейти на главную страницу

Не удается заставить плагин check_uptime работать с Nagios. Неизвестный статус?

Надеюсь, вы, ребята, сможете заметить, что мне здесь не хватает. Я не могу заставить простой плагин check_uptime работать в Nagios.

Когда я вызываю справку по плагину, используя:

/usr/local/nagios/libexec/check_uptime -h

результат:

 usage: /usr/local/nagios/libexec/check_uptime [-c OPTION]

This script checks uptime and optionally verifies if the uptime
is below MINIMUM or above MAXIMUM uptime treshholds

OPTIONS:
-h Help
-c CRITICAL MIN uptime (minutes)
-w WARNING MIN uptime (minutes)
-C CRITICAL MAX uptime (minutes)
-W WARNING MAX uptime (minutes)
-V Version

Поэтому я попытался реализовать этот плагин как на сервере nagios linux, так и на клиенте linux. Я в основном хочу, чтобы плагин запускался на удаленном компьютере с именем машина1 в формате

check_uptime -w 15 -c 30

Плагин отлично работает как на сервере, так и на клиенте. Плагин также существует для них обоих в / usr / local / nagios / libexec / check_uptime.

Вот мои настройки:

На сервер:

Я добавил следующее к /usr/local/nagios/etc/objects/commands.cfg

# 'check_uptime' command definition for linux hosts
define command{
        command_name    check_uptime
        command_line    $USER1$/check_uptime -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$
}

Я добавил следующее к /usr/local/nagios/etc/objects/hosts/machine1.cfg:

 define service{
        use                             generic-service
        host_name                       machine1
        service_description             Uptime
        check_command                   check_uptime
}

На машина1:

Я добавляю это к /usr/local/nagios/etc/nrpe.cfg:

command[check_uptime]=/usr/local/nagios/libexec/check_uptime -w 15 -c 30

Затем я тестирую конфигурацию на сервере, выполнив:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

И я получаю 0 предупреждений и 0 ошибок, но в консоли Nagios служба отображается как неизвестная.

Что мне не хватает?

Спасибо, парни!

Nver mind. Я понял.

Похоже, мне нужно вызвать check_nrpe в /usr/local/nagios/etc/objects/hosts/machine1.cfg следующим образом:

    define service{
        use                             generic-service
        host_name                       machine1
        service_description             Uptime
        check_command                   check_nrpe!check_uptime
}

Изменить: также похоже, что команду check_uptime не следует вызывать с параметром -H $ HOSTADDRESS $ в commands.cfg на стороне сервера. Как только он будет удален, он будет работать на сервере.

Надеюсь, это поможет кому-то другому.

Просто подумал, что положу свои два цента, я использую Nagios Core 4.08, а в моем commands.cfg file я использовал его так:

# comment: `check_uptime` this is to check system up time on linux boxes

define command {
    command_name check_uptime
    command_line $USER1$/check_uptime
    }

Тогда в host1.cfg Я сделал следующее:

# comment: Check uptime of the server

define service{
    use                             local-service
    host_name                       host1
    service_description             Uptime
    check_command                   check_uptime
    }

Результат был такой:

Uptime
OK  06-23-2015 07:52:48 0d 0h 4m 19s    1/4 Uptime OK: 7 day(s) 23 hour(s) 5 minute(s) 

Так что с помощью простого добавления это сработало для меня. Надеюсь, это поможет всем. Прошу прощения, я не знаю, как это отформатировать.