====== Einleitung ====== Dieser Fehler rührt bei Plugins meistens daher, das auf Systemsachen nciht zugegriffen werden kann. ====== Lösung ====== ===== Skriptfunktion ===== Zuerst sollte man in der Shell testen, ob vielleicht das Skript einen Fehler hat. Dazu das Skript als root ausführen. Wenn das dann klappt, muß man das Skript als der User testen, unter dem der nagios-Prozeß läuft (in der Regel "nagios"). Am Beispiel check_icmp sieht man z.B. folgendes: # /usr/nagios/libexec/check_icmp -H xxx.xxx.xxx.xxx -w 500,10% -c 1000,40% -n 10 -t 30 OK - xxx.xxx.xxx.xxx: rta 0.180ms, lost 0%|rta=0.180ms;500.000;1000.000;0; pl=0%;10;40;; # su nagios nagios@xxxxxxx $ /usr/nagios/libexec/check_icmp -H 212.86.41.123 -w 500,10% -c 1000,40% -n 10 -t 30 check_icmp: Failed to obtain ICMP socket: Operation not permitted ===== Rechte prüfen ===== Hier konnte man sofort erkennen, das es Probleme mit den Rechten geben muß, sonst hätte das Skript als root ja nicht funktioniert. In diesem Fall sahen die Rechte so aus: .-rw-r--rw- 1 nagios nagios 22320 4. Mai 15:22 check_icmp Da auf Sockets nur root zugreifen kann, konnte dies nicht funktionieren, also habe ich alle ckeck_*-Skripte folgendermaßen geändert: # chown root:nagios /usr/nagios/libexec/check_* # chmod o-wx /usr/nagios/libexec/check_* # chmod u+s /usr/nagios/libexec/check_* Jetzt wird jedes dieser Skripte durch die Gruppe "nagios" über das "SUID-Bit" als "root" ausgeführt und klappt somit. Derzeit benötigen jedoch nur die Skripte //check_icmp// und //check_dhcp// wirklich "root" Rechte. Der Rest funktioniert auch ohne.