Onkel KK stellt vor: NAGIOS
Verfasst: Sa 20 Jan, 2007 12:06
Während man einen Server noch recht einfach verwalten kann, stellt sich Systemadministratoren mit mehreren Servern schnell das Problem der Übersicht. Wie soll man über alle Systeme den Überblick bewahren? Wie ist die Auslastung auf den Systemen? Wie erfahre ich, dass ein Server ausgefallen ist?
Als Antwort auf diese und ähnlich gelagerte Fragen bietet der Softwaremarkt eine Reihe kommerzieller und sehr kostenintensiver Produkte, aber wie so oft lohnt der Blick über den Gartenzaun, hinüber zu dem Grundstück wo Open Source Produkte blühen. Mit ein bisschen Zeit und überschaubarem Aufwand kann man so ein praktisches Überwachungssystem auf die Beine stellen, welches auch professionellen Ansprüchen genügt.
Schritt für Schritt
Als erstes kann man sich von der Seite http://www.nagios.org/ kostenlos die neueste Version herunterladen. Die Software wird unter der GNU General Public License veröffentlicht und ist somit kostenlos, solange man die Software nicht mit kommerziellen Absichten verändert und weiterverkauft.
Als Basis für die Installation benötigt man eine Linux Installation, aber nicht zwingend eine Enterprise Edition. Wir haben uns für ein Startcom Linux entschieden, es sollte aber auch beispielsweise eine Red Hat oder Suse Professional Installation genügen. Das Handbuch erklärt alles sehr detailliert und ist daher auch für LinuxEinsteiger zu empfehlen. Bei der Installation sollte man nur darauf achten, dass man einen CCompiler und die SNMPPakete mitinstalliert und sonst alles was ein Webserver üblicherweise so braucht: Apache, mySQL und Perl. Als Besonderheit kommt nur noch die GD Library Version 1.6.3 oder höher hinzu.
Bei den Hardwarevoraussetzungen gibt sich Nagios genügsam und kann auch parallel zu anderen Applikationen installiert werden. Beim LBV BW ist es ein Thomas Krenn SR107 mit einem P4 3,0 GHz Prozessor und einem GB Ram.
Hat man die Installation hinter sich gebracht muss man sich noch etwas mit verschiedenen Konfigurationen herumschlagen. Das ist eigentlich das härteste Stück Arbeit, weil man sich erst die Funktionsweise der Konfigurationsdateien hineindenken muss, aber die mitgelieferten Beispieldateien helfen dabei.
Baukastenprinzip
Nagios ist modular aufgebaut und arbeitet mit Plugins. Dies sind Kommandozeilentools, mit den Nagios den Status eines Hosts oder eines Service prüft. Mit Hilfe der Ergebnisse der einzelnen Plugins entscheidet Nagios über den Zustand: Kritisch, Warnung oder Okay. Die Schwellwerte für diese Zustände kann man in den Konfigurationsdateien selbst angeben.
Auch diese Plugins sind kostenlos erhältlich und so kann man sich genau die Komponenten einbauen, die man für seine individuelle Umgebung braucht. Legt man die Plugins im dafür vorgesehenen Ordner ab, kann man sie in einem Terminal auch testen und dann seine Konfigurationsdateien anpassen. Auch dieser Schritt ist im Handbuch gut erklärt und geht leicht von der Hand. Natürlich kann man auch eigene Plugins für sein Nagios schreiben und so ganz spezielle Systeme überwachen.
Wichtig zu erwähnen, dass man mit Nagios natürlich nicht nur Linuxbasierte Systeme überwachen kann, sondern auch jede Windowsmaschine im Unternehmen. Entweder man beschäftigt sich hier intensiver mit den Möglichkeiten von SNMP oder man greift auf ein entsprechendes Plugin zurück. Der „NSClient“ beispielsweise liefert die CPULast, die Festplattenausnutzung, kann auch einzelne Dienste von WindowsServern überwachen und vieles mehr.
The first to know
Irgendwann hat man all seine Server und Netzwerkkomponenten in Nagios integriert und kann sich dann über die neuesten Aktivitäten informieren. Wie sind die Antwortzeiten meiner internen Systeme? Wie hoch ist die CPULast auf den Routern und wie steht es um die Antwortzeiten von externen Systemen, die ich nicht betreue, von denen das Unternehmen aber abhängig ist?
Nun hat man Antworten auf diese und zahlreiche andere Fragen und nicht nur aktuell, sondern auch in Form von aussagekräftigen und damit cheftauglichen Statistiken, denn alle Werte und Ereignisse werden in die mySQLDatenbank geschrieben und so kann man dann eben auch feststellen, wann genau am Wochenende ein System erstmalig ein Problem hatte.
Besonders hervorzuheben ist die Möglichkeit Dienste damit zu überwachen. Wie oft war ein Server netzwerktechnisch noch erreichbar, aber ein Dienst war abgeschmiert? Nagios überwacht nun auch diese Dienste und meldet auf vielfältige Weise, ob es damit Probleme gibt. Beim LBV BW werden die Meldungen über Email verschickt (ein Postfix Server auf der gleichen Maschine erledigt den Rest), aber man kann noch weiter gehen: Pager, SMS, Popups, ja sogar Nachrichten an den heimischen ICQ Client sind denkbar.
Zu guter Letzt ist die Status Map als Highlight zu erwähnen, welche alle überwachten Systeme dynamisch in einer übersichtlichen Grafik anzeigt. Alle Server, Firewalls und Netzwerkkomponenten auf einen Blick und hoffentlich alle grün unterlegt. Ändert sich das, zeigt das kräftige Rot, dass Handlungsbedarf besteht und hilft so noch schneller den Ursprung des Problems schnell und genau festzulegen ohne lange suchen und forschen zu müssen.
Nagios: http://www.nagios.org
Offizielle Nagios-Plugins: http://nagiosplug.sourceforge.net/
Weitere Plugins: http://www.nagiosexchange.org/
NSClient: http://nsclient.ready2run.nl/
(c) Alexander Rizzi
Als Antwort auf diese und ähnlich gelagerte Fragen bietet der Softwaremarkt eine Reihe kommerzieller und sehr kostenintensiver Produkte, aber wie so oft lohnt der Blick über den Gartenzaun, hinüber zu dem Grundstück wo Open Source Produkte blühen. Mit ein bisschen Zeit und überschaubarem Aufwand kann man so ein praktisches Überwachungssystem auf die Beine stellen, welches auch professionellen Ansprüchen genügt.
Schritt für Schritt
Als erstes kann man sich von der Seite http://www.nagios.org/ kostenlos die neueste Version herunterladen. Die Software wird unter der GNU General Public License veröffentlicht und ist somit kostenlos, solange man die Software nicht mit kommerziellen Absichten verändert und weiterverkauft.
Als Basis für die Installation benötigt man eine Linux Installation, aber nicht zwingend eine Enterprise Edition. Wir haben uns für ein Startcom Linux entschieden, es sollte aber auch beispielsweise eine Red Hat oder Suse Professional Installation genügen. Das Handbuch erklärt alles sehr detailliert und ist daher auch für LinuxEinsteiger zu empfehlen. Bei der Installation sollte man nur darauf achten, dass man einen CCompiler und die SNMPPakete mitinstalliert und sonst alles was ein Webserver üblicherweise so braucht: Apache, mySQL und Perl. Als Besonderheit kommt nur noch die GD Library Version 1.6.3 oder höher hinzu.
Bei den Hardwarevoraussetzungen gibt sich Nagios genügsam und kann auch parallel zu anderen Applikationen installiert werden. Beim LBV BW ist es ein Thomas Krenn SR107 mit einem P4 3,0 GHz Prozessor und einem GB Ram.
Hat man die Installation hinter sich gebracht muss man sich noch etwas mit verschiedenen Konfigurationen herumschlagen. Das ist eigentlich das härteste Stück Arbeit, weil man sich erst die Funktionsweise der Konfigurationsdateien hineindenken muss, aber die mitgelieferten Beispieldateien helfen dabei.
Baukastenprinzip
Nagios ist modular aufgebaut und arbeitet mit Plugins. Dies sind Kommandozeilentools, mit den Nagios den Status eines Hosts oder eines Service prüft. Mit Hilfe der Ergebnisse der einzelnen Plugins entscheidet Nagios über den Zustand: Kritisch, Warnung oder Okay. Die Schwellwerte für diese Zustände kann man in den Konfigurationsdateien selbst angeben.
Auch diese Plugins sind kostenlos erhältlich und so kann man sich genau die Komponenten einbauen, die man für seine individuelle Umgebung braucht. Legt man die Plugins im dafür vorgesehenen Ordner ab, kann man sie in einem Terminal auch testen und dann seine Konfigurationsdateien anpassen. Auch dieser Schritt ist im Handbuch gut erklärt und geht leicht von der Hand. Natürlich kann man auch eigene Plugins für sein Nagios schreiben und so ganz spezielle Systeme überwachen.
Wichtig zu erwähnen, dass man mit Nagios natürlich nicht nur Linuxbasierte Systeme überwachen kann, sondern auch jede Windowsmaschine im Unternehmen. Entweder man beschäftigt sich hier intensiver mit den Möglichkeiten von SNMP oder man greift auf ein entsprechendes Plugin zurück. Der „NSClient“ beispielsweise liefert die CPULast, die Festplattenausnutzung, kann auch einzelne Dienste von WindowsServern überwachen und vieles mehr.
The first to know
Irgendwann hat man all seine Server und Netzwerkkomponenten in Nagios integriert und kann sich dann über die neuesten Aktivitäten informieren. Wie sind die Antwortzeiten meiner internen Systeme? Wie hoch ist die CPULast auf den Routern und wie steht es um die Antwortzeiten von externen Systemen, die ich nicht betreue, von denen das Unternehmen aber abhängig ist?
Nun hat man Antworten auf diese und zahlreiche andere Fragen und nicht nur aktuell, sondern auch in Form von aussagekräftigen und damit cheftauglichen Statistiken, denn alle Werte und Ereignisse werden in die mySQLDatenbank geschrieben und so kann man dann eben auch feststellen, wann genau am Wochenende ein System erstmalig ein Problem hatte.
Besonders hervorzuheben ist die Möglichkeit Dienste damit zu überwachen. Wie oft war ein Server netzwerktechnisch noch erreichbar, aber ein Dienst war abgeschmiert? Nagios überwacht nun auch diese Dienste und meldet auf vielfältige Weise, ob es damit Probleme gibt. Beim LBV BW werden die Meldungen über Email verschickt (ein Postfix Server auf der gleichen Maschine erledigt den Rest), aber man kann noch weiter gehen: Pager, SMS, Popups, ja sogar Nachrichten an den heimischen ICQ Client sind denkbar.
Zu guter Letzt ist die Status Map als Highlight zu erwähnen, welche alle überwachten Systeme dynamisch in einer übersichtlichen Grafik anzeigt. Alle Server, Firewalls und Netzwerkkomponenten auf einen Blick und hoffentlich alle grün unterlegt. Ändert sich das, zeigt das kräftige Rot, dass Handlungsbedarf besteht und hilft so noch schneller den Ursprung des Problems schnell und genau festzulegen ohne lange suchen und forschen zu müssen.
Nagios: http://www.nagios.org
Offizielle Nagios-Plugins: http://nagiosplug.sourceforge.net/
Weitere Plugins: http://www.nagiosexchange.org/
NSClient: http://nsclient.ready2run.nl/
(c) Alexander Rizzi