У меня есть сервер-бастион, у которого есть доступ к 50 машинам, работающим под разными системами Linux. У меня также есть отдельный сервер Nagios, у которого есть доступ к бастиону. Можно ли контролировать 50 машин через туннель ssh следующим образом:
Ящик Nagios - [туннель ssh] -> ящик бастиона - [туннели ssh 1 .... 50] - Машины Linux
Есть нет другого прямого подключения к 50 хостам из коробки Nagios.
Несколько check_commands вызываются с аргументом $HOSTADRESS в checkcommands.cfg
в "стандартной" конфигурации, например:
/usr/lib/nagios/plugins/check_ping -H 10.1.1.2 -w 100.0,20% -c 500.0,60% -p 5
/usr/lib/nagios/plugins/check_nrpe -H 10.1.1.3 -c checkMEM -a ShowAll type=physical type=page type=virtual MaxWarn=90% MaxCrit=95%
Таким образом, фактический файл:
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
Либо вы определяете здесь что-то вроде (не проверял):
define command{
command_name check_nrpe
command_line ssh $HOSTADDRESS$ "$USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$"
}
Или вы пишете (очень) уродливый хак, создающий оболочку для пары команд, находящихся в /usr/lib/nagios/plugins/´, а именно
/usr/lib/nagios/check_nrpe`, а затем делать отклонения в Debian.
Возможно, вам потребуется больше изменений, чем это; если вы используете nrpe поверх ssh или аналогичного, вам не понадобится SSL.