Nagios-Plugin zum Check auf korrekte Antworten des nscd

german

#1

Hallo,

in unserer Umgebung kommt es vor allem bei Fileservern vom Typ Memberserver häufig vor, dass der nscd seine Verbindung zum LDAP-Port 7389 verliert und statt dessen den Port 389 verwendet, was bei installiertem Samba4 zu keinen Antworten führt. Der in der default-Installation vorhandene UNIVENTION_NSCD Test prüft nur, ob der nscd-Prozess läuft, nicht jedoch ob er auch valide Antworten liefert. Hierzu habe ich folgendes Plugin “check_nscd_user.sh” verfasst.

#!/bin/bash
#
# Stephan Hendl: check_nscd_user
#                OK: command "id <username>" gives result
#                CRIT: user "<username>" not visible
#

PROGNAME=`basename $0`
PROGPATH=`echo $0 | sed -e 's,[\\/][^\\/][^\\/]*$,,'`

. $PROGPATH/utils.sh

if [ "$1" = "" ]
then
        echo -e " Use : $PROGNAME <file_name> -- Ex : $PROGNAME /etc/hosts \n "
        exit $STATE_UNKNOWN
fi

id $1 >/dev/null 2>&1

if [ $? == 0 ]
then
        echo "OK: $(id $1)"
        exit $STATE_OK
else
        echo "CRITICAL: $(id $1 2>&1)"
        exit $STATE_CRITICAL
fi

Unter “/etc/nagios/plugins/config” muss dann noch die entsprechende Konfigurationsdatei “check_nscd_user.cfg” abgelegt werden:

# 'check_nscd_user' command definition
define command{
        command_name    check_nscd_user
        command_line    /usr/lib/nagios/plugins/check_nscd_user.sh '$ARG1$'
        }

Zum Schluss wird der Nagios-Dienst über die UMC wie im Handbuch beschrieben eingerichtet. Wichtig ist, dass vor(!) Einrichtung über die UMC die Dateien “check_nscd_user.sh” und “check_nscd_user.cfg” händisch auf die zu überwachenden Server an die entsprechenden Stellen kopiert werden.

Cheers,
Stephan