Я пытаюсь настроить 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.