Tutorials - Nagios überwachen
Sprachenübersicht/Betriebssysteme/Linux/Internet & Netzwerk
Nagios überwachen
Diese Seite wurde 6757 mal aufgerufen.
Dieser Artikel wurde in einem Wikiweb System geschrieben, das heißt, Sie können die Artikel jederzeit editieren, wenn Sie einen Fehler gefunden haben, oder etwas hinzufügen wollen.
Editieren Versionen Linkpartnerschaft Bottom Printversion
Keywords: nagios available online check running
Inhaltsverzeichnis
Achtung: dieser Artikel setzt Mindestkenntnisse der Nagioskonfiguration voraus.
In vielen Netzwerken wird Nagios eingesetzt, um den Zustand von Servern und Servicen zu überwachen. Schlimm ist jedoch, wenn der Nagios-Prozess selbst abstürzt bzw. einfach stehen bleibt.
Stirbt der Prozess nur, so ist das über das Webinterface für den Administrator sofort ersichtlich - bleibt er aber stehen, ist dies nur durch einen expliziten Blick auf den Zeitpunkt des letzten Checks ersichtlich.
Um nun feststellen zu können, ob Nagios wirklich seine Checks noch absetzt, machen wir uns einen Webserver zu nutze. Nagios soll auf diesem Checks absetzen und ein Skript auf dem Webserver prüft dann im Logfile, ob eine bestimmte Seite auch tatsächlich aufgerufen wurde.
Für den Seitenaufruf beim Webserver schreiben wir uns einen eigenen Nagios-Check, der eine Url in Form von http://webserver.domain.tld/nagios-alive/?YYYY-MM-DD-HH:mm anfragt.
/etc/nagios2/conf.d/checkcommands.cfg:
define command{
command_name check_nagios
command_line $USER1$/check_http -H $HOSTADDRESS$ -u /nagios-alive/?`date +%F-%R`
}
Dann weisen wir den Check unserem Webserver zu (dieser muss bereits in der hosts.cfg definiert sein).
/etc/nagios2/conf.d/services.cfg:
define service{
use service-template
host_name webserver
service_description nagios-checker
check_command check_nagios
}
Nach einen Reload beginnt Nagios nun mit dem neuen Test zu arbeiten.
Zunächst schreiben wir uns ein kurzes Bash-Skript, welches das Logfile nach dem Seitenaufruf absucht. Vermutlich muss hierbei noch der Pfad zum Access-Log angepasst werden.
/usr/local/bin/check_nagios.sh:
#!/bin/bash
#set -x
DATE=`/bin/date +%F-%H`
CHECK=`/bin/grep "nagios-alive/?${DATE}" /var/log/apache2/access.log`
if [ -z "`echo $CHECK`" ]; then
echo "WARNING: Nagios not running"
fi
Dann ergänzen wir die Crontab um folgende Zeilen.
/etc/crontab:
MAILTO=sysadmin@domain.tld
40 * * * * root /usr/local/bin/check_nagios.sh
Damit das Mail auch wirklich gesendet wird, ist ein Mailwrapper auf dem System erforderlich, der das Mail an den Mailserver weiterleitet. Postfix und Sendmail bringen diesen bereits im Gepäch mit, ssmpt empfiehlt sich für Hosts ohne lokalen Maildaemon.
Zuletzt muss noch der Ordner nagios-alive im Webserver-Root erstellt werden.
Nach diesen wenigen Schritten können Admins nun wesentlich entspannter in den Feierabend gehen, ohne ununterbrochen das Webinterface im Auge behalten zu müssen. Für wichtige Systeme empfiehlt sich eine SMS-Benachrichtigung. Auf einen Test des Tests sollte man jedoch keinesfalls verzichten.
Gibt es noch irgendwelche Fragen, oder wollen Sie über den Artikel diskutieren?
Editieren Versionen Linkpartnerschaft Top Printversion
Haben Sie einen Fehler gefunden? Dann klicken Sie doch auf Editieren, und beheben den Fehler, keine Angst, Sie können nichts zerstören, das Tutorial kann wiederhergestellt werden
Sprachenübersicht/Betriebssysteme/Linux/Internet & Netzwerk/Nagios überwachen