Nagios und ein zypper Check mit SLES11

Da wollte ich doch SLES 11 von Novell mit Nagios auf seine Systemaktualität überprüfen. Nichts leichter als das – aus dem Repository das Monitoring eingebunden und nagios-zypper installiert. Zurückgelehnt – gewartet – „All Updates installed“ ….

Sensationell – so einfach kann es gehen. Aber dann…. Ein paar Tage später komm ich drauf dass es Updates gibt, aber der Plugin das nicht meldet. So ein Schmarrn denk ich mir und guck mir den Sourcecode an. Da wird expliziet auf SLE 11 geprüft und daraufhin ein XML-Output angefordert. Händisch kommt auch was zurück. Nur wird der Output meines Erachtens nicht richtig zerlegt und überprüft….

 

Na gut – also hingesetzt und selbst geschrieben. Nach kurzer Festlegung was ich mir von dem Plugin erwarte, war der er auch schon fertig:

 

#!/bin/bash
`export LANG="de_DE.UTF-8"`
sudo /usr/bin/zypper ref  2>/dev/null 1>&2
sudo /usr/bin/zypper sl  2>/dev/null 1>&2
zypper_erg=`sudo /usr/bin/zypper -q pchk`
if (echo ${zypper_erg}|egrep "benötigt | needed" > /dev/null) ; then
    anzeige=`echo ${zypper_erg} | cut -d "." -f 7`
    patches=`echo ${anzeige} | cut -d " " -f1`
    if test ${patches} -eq 0 ; then
        echo "Keine Updates notwendig"
        exit 0
    else
        echo "$anzeige"
        sicherheit=`echo ${anzeige} | cut -d "(" -f2|cut -d " " -f1`
        if test ${sicherheit} -gt 0 ; then
            exit 2
        else
            exit 1
        fi
    fi
else
    echo "Keine Updates notwendig"
    exit 0
fi

damit das klappt brauchts in /etc/sudoers folgende Einträge

nagios ALL = NOPASSWD: /usr/bin/zypper ref,/usr/bin/zypper sl,/usr/bin/zypper -q pchk

Damit war es auch schon passiert – einmal am Tag wird der Plugin aufgerufen und mir der Status angezeigt.

Bis dato funktioniert er Reibungslos – was mir noch ein bisschen Kopfzerbrechen macht, ist die Unterscheidung der einzelnen Sprachen die zurück gegeben werden können (obwohl die LANG gesetzt wird). Für mich reicht mal English und Deutsch 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert