Nagios4 NRPE Socket timeout

Anleitung zum Debuggen von Nagios Tests über NRPE am Beispiel des check_apt Plugins und dem Fehler:

CHECK_NRPE STATE CRITICAL: Socket timeout after 10 seconds. 

Dieser kann auftreten, wenn die lokale Ausfühurng auf der zu testenden Maschine zu lange dauert.

Debugging

Auf dem Server lässt sich der Test manuell ausführen:

/usr/lib/nagios/plugins/check_nrpe -H <DEVICE IP> -c "check_apt"
CHECK_NRPE STATE CRITICAL: Socket timeout after 10 seconds.

Auch auf dem zu prüfenden Gerät lässt sich der Test lokal ausführen:

/usr/lib/nagios/plugins/check_apt 
CRITICAL - Plugin timed out after 10 seconds

Da dieser schon lokal auf dem zu prüfenden Gerät fehlschlägt, müssen wir hier das Timeout erhöhen:

/usr/lib/nagios/plugins/check_apt -t 30
APT WARNING: 12 packages available for upgrade (0 critical updates). |available_upgrades=12;;;0 critical_updates=0;;;0

Nachdem der manuelle Test erfolgreich war, können wir den Paramater in der NRPE Konfiguration anpassen:

# edit /etc/nagios/nrpe.cfg:
command[check_apt]=/usr/lib/nagios/plugins/check_apt -t 30

# restart nrpe server
systemctl restart nagios-nrpe-server

Ein erneuter Test zeigt, dass wir zwar mit dem zu prüfenden Gerät fertig sind, aber nicht mit dem Server:

/usr/lib/nagios/plugins/check_nrpe -H 192.168.178.38 -c "check_apt"
CHECK_NRPE STATE CRITICAL: Socket timeout after 10 seconds.

Ein manueller Test des Timeouts zeigt, das wir auf dem richtigen Weg sind:

/usr/lib/nagios/plugins/check_nrpe -H 192.168.178.38 -c "check_apt" -t 30
APT WARNING: 12 packages available for upgrade (0 critical updates). |available_upgrades=12;;;0 critical_updates=0;;;0
# edit /etc/nagios-plugins/config/check_nrpe.cfg
define command {
        command_name    check_nrpe
        command_line    /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -t 30
}

# restart nagios 
systemctl restart nagios4

Und der Test funktioniert wie gewünscht: