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

Nagios определяет службу для команды nrpe в среде Windows

Я пытаюсь настроить Nagios для мониторинга нашей сети, основанной на Windows. Я совершенно новичок в этом, так что, пожалуйста, простите мою наивность. Факт: я бью головой над задачей.

Я хочу, чтобы Nagios сообщал мне, запущена ли удаленная служба / процесс или нет. У меня установлен NSClilent ++, который работает на клиентской машине. Фактически, если я выполню следующий код из командной строки на сервере Nagios, он будет работать:

check_nrpe -H [ip_of_NSClient++] -c check_service -a 'service=[service_name]' "critical=state = 'stopped'"

У меня вопрос: как я могу определить услугу в [хозяин] .cfg файл, чтобы вызвать команду выше?

Прямо сейчас у меня это определено в моем файле commands.cfg:

   define command {
   $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG1$
    }

Это работает для вызова простых служб, таких как [check_cpu] или [check_disk], но не более того.

Все попытки, которые я делал до сих пор, всегда приводили (я думаю) к ошибочным сообщениям, например:

Я обычно использую Old Skool

define service{
        use                             generic-service         ; Name of service
        host_name                       YourServer
        service_description             YourService
        check_command                   check_nt!SERVICESTATE!-d SHOWALL -l YourService
        }

Тем не менее, я вытащил свои определения check_nrpe и обнаружил:

# this command runs a program $ARG1$ with arguments $ARG2$
define command {
        command_name    check_nrpe
        command_line    /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$
}

# this command runs a program $ARG1$ with no arguments
define command {
        command_name    check_nrpe_1arg
        command_line    /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

Я, честно говоря, не помню, создал ли я вторую или нет (хотя, вероятно, сделал). Однако у вас дважды указан ARG1, а у вас есть два аргумента:

  define command {
   $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG1$
    }

Вероятно, это должно быть

  define command {
   $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$
    }

В клиенте nrpe для службы Windows есть специальная проверка.

Это:

check_command        check_windows_service!"<display name of the service>"

Вы должны войти в дисплей имя службы, отображаемое в диспетчере служб Windows.