LinuxProfi . AT
ihr professioneller Linux Dienstleister
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 🙂