Ich habe einen Bastion-Server, der Zugriff auf 50 Maschinen mit unterschiedlichen Linux-Systemen hat. Außerdem habe ich einen separaten Nagios-Server, der Zugriff auf die Bastion-Box hat. Ist es möglich, die 50 Maschinen über einen SSH-Tunnel auf folgende Weise zu überwachen:
Nagios-Box - [SSH-Tunnel] -> Bastion-Box - [SSH-Tunnel 1....50] - Linux-Maschinen
Es gibt keine andere direkte Verbindung von der Nagios-Box zu den 50 Hosts.
Antwort1
checkcommands.cfg
In einer „Standard“-Konfiguration werden mehrere check_commands mit dem Argument $HOSTADRESS aufgerufen , wie in:
/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%
Also die eigentliche Datei:
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
Entweder definierst du hier sowas wie (habe es nicht getestet):
define command{
command_name check_nrpe
command_line ssh $HOSTADDRESS$ "$USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$"
}
Oder Sie schreiben einen (sehr) hässlichen Hack, der einen Shell-Wrapper für einige Befehle erstellt, die unter „ /usr/lib/nagios/plugins/´, namely
/usr/lib/nagios/check_nrpe“ liegen, und führen dann Umleitungen in Debian durch.
Sie werden wahrscheinlich mehr Änderungen als diese benötigen; wenn Sie nrpe auf ssh oder ähnlichem ausführen, brauchen Sie kein SSL darauf.