Thema: Netzwerküberwachung mit der Opensource Software Nagios Seminarleiter: Prof. Dr. Friedbert Kaspar Student: Thomas Dohl Studiengang: CN7 Matrikelnummer: 217480 Datum: Donnerstag, 23. November 2006 Seite 1 von 10
Inhaltsverzeichnis Einleitung... 3 Weboberfläche... 4 Konfiguration... 5 Plugin's... 6 Standardplugin s... 6 Plugins selber schreiben... 7 nagvis Addon... 8 Quellen... 10 Abbildungsverzeichnis Abbildung 1 Weboberfläche von Nagios (FooPool, Service Detail)... 4 Abbildung 2 Weboberfläche von Nagios (FooPool, Statusmap)... 4 Abbildung 3 Nagios Konfiguration im Überblick... 5 Abbildung 5 Nagvis Addon (Developerscreenshot)... 8 Abbildung 6 Nagvis Addon (RZ Nagios, Plan von Furtwangen)... 9 Seite 2 von 10
Einleitung Nagios ist das wohl am meist verbreiteste opensource Dienste- und Serverüberwachungsprogramm. Der Name Nagios setzt sich zusammen aus Network und hagios. Hagios ist griechisch und bedeutet heilig. Unter diesem Namen ist Nagios seid 2002 bekannt. Davor hieß das Projekt NetSaint. Auf Grund von Namensstreitigkeiten mit dem gleichnamigen Netzwerkscanner wurde das Projekt auf Nagios umgetauft. Nagios zeichnet sich durch seine besonders übersichtlich gestaltete Weboberfläche aus, mit der es einem möglich ist, schnell und übersichtlich Daten über den Zustand seines Netzwerks zu erhalten. Dadurch ist auch eine schnelle und genau Fehlerfindung in Problemfällen möglich. Es wurde entwickelt um auf Linux Betriebsystemen zu arbeiten, aber es funktioniert auch auf den meisten *NIX Derivaten. Der monitoring Daemon überprüft in regelmäßigen Abständen die vorher angegebenen Dienste oder Server mit Hilfe von externen Plugin s, welche auf die jeweilige Aufgabe spezialisiert sind. Diese Plugin s geben einen Returncode und einen Returnstring zurück, welche der Daemon verarbeiten kann und auf der Weboberfläche darstellt. Falls Probleme auftreten, hat Nagios verschiedenste Möglichkeiten, um auf die Fehler aufmerksam zu machen. Die wohl am meisten verbreitete Möglichkeit ist wohl das Emailsenden. Zusätzlich werden noch weitere Möglichkeiten angeboten wie zum Beispiel SMS, Pager, Telefon und viele mehr. Auch hier ist es sehr leicht möglich, eigene Meldemechanismen einzubinden. Das einfache Ampelkonzept (Grün, Gelb, Rot) macht die Oberfläche sehr übersichtlich. Aber nicht nur eine aktuelle Ansicht, über den derzeitigen Status des Netzwerks oder der Netzwerkkomponenten ist möglich, sondern auch eine historische Aufzeichnung der Daten findet statt. Diese Daten kann man ich sich individuell grafisch zusammenstellen lassen. Damit ist auch eine Übersicht über die Qualität der Dienste und Server über einen langen Zeitraum möglich. Zusätzlich ist es in Nagios möglich ein gut abgestuftes Bentzerkonzept aufzubauen. Dadurch können auch nicht Administratoren sich einen Überblick über das Netzwerk verschaffen, ohne in Nagios selbst was verändern zu können. Seite 3 von 10
Weboberfläche Die Weboberfläche gliedert sich in 2 Hälften. Die linke Seite enthält die Navigation. Die rechte Seite enthält die Informationen und Übersichten über die Daten, welche Nagios sammelt. Je nach dem, was man im Menu auswählt, zeigt Nagios tabellarisch angeordnete Daten über den aktuellen Stand des Netzwerkes und dessen Überwachten Abbildung 1 Weboberfläche von Nagios (FooPool, Service Detail) Auch eine grafische Darstellung des überwachten Netzwerkes wird automatisch generiert. Abbildung 2 Weboberfläche von Nagios (FooPool, Statusmap) Seite 4 von 10
Konfiguration Die Konfiguration von Nagios wird durch Textfiles im Verzeichnis /etc/nagios geregelt. Es gibt folgende Arten von Konfigurationsdateien: Main Configuration File, Resource File(s), Object Definition Files, CGI Configuration File. In dem Main Configuration File, welches meist /usr/local/nagios/etc/nagios.cfg ist, werden alle Einstellungen für den Nagiosserver vorgenommen. Die Einstellungen beeinflussen das Verhalten vom Nagiosserver. Aber nicht nur der Nagiosprozess, sondern auch vereinzelte CGI Scripte greifen auf diese Konfigurationsdatei zu. In den Resource File(s) können persönliche Makros angelegt und eingebunden werden. Diese Dateien sind den CGI Scripten nicht zugänglich. In den Object Definition Files werden die zu überwachenden Objekte eingetragen. Auch die Befehle werden hier definiert. Die CGI Configuration File beeinflusst das Verhalten der verschiedenen CGI Scripte. Abbildung 3 Nagios Konfiguration im Überblick Seite 5 von 10
Plugin's Die Plugin s erledigen die eigentliche Aufgabe der Überprüfung Hosts oder Dienste. Nagios alleine ohne Plugin s kann keine Dienste oder Geräte überprüfen. Jedes Plugin erfüllt eine bestimmte Aufgabe. Nach der Prüfung des Dienstes oder des Servers, gibt das Plugin einen Returncode und einen String zurück, den Nagios dann verarbeitet und auf der Weboberfläche grafisch darstellt. Standardplugin s check_icmp das wohl am häufigsten genutzte Plugin, es sendet einfach ein Ping aus um zu schauen, ob der Rechner erreichbar ist. Weitere Plugin s in einer kleinen Übersicht: check_apt, check_imap, check_nntps, check_simap, check_ups, check_by_ssh, check_ircd, check_nt, check_smtp, check_users, check_clamd, check_jabber, check_ntp, check_spop, check_dhcp, check_load, check_nwstat, check_ssh, check_disk, check_log, check_overcr, check_ssmtp, check_dummy, check_mailq, check_ping, check_swap, check_file_age, check_mrtg, check_pop, check_tcp, check_ftp, check_mrtgtraf, check_procs, check_time, check_http, check_nagios, check_real, check_udp, check_icmp, check_nntp, check_sensors, check_udp2 Eine sehr umfangreiche und gut organisierte Webseite für Nagiosplugin s ist die http://www.nagiosexchange.org/. Seite 6 von 10
Plugins selber schreiben Falls man mal ein Dienst überwachen muss, für den es noch kein Plugin gibt, kann man sich relativ schnell ein eigenes Plugin schreiben. Die Logik für den zu überwachenden Dienst passt man auf die eigenen Bedürfnisse an. Zu beachten ist nur, dass Nagios natürlich das Ergebnis verarbeiten können muss. Dazu folgende Tabelle: Return Wert Service Status Status Beschreibung 0 OK Das Plugin konnte erfolgreich den Dienst/Server überprüfen 1 Warning Überprüfung war möglich, aber nicht mit den erwarteten Werten. (der Dienst hat zu langsam geantwortet) 2 Critical Dienst oder Server konnte nicht überprüft werden 3 Unknown unbekannter Fehler Seite 7 von 10
nagvis Addon Das nagvis Addon ist eine Erweiterung für die Weboberfläche von Nagios. Mit diesem Addon ist eine einfachere Darstellung der Standorte möglich. Man hinterlegt einfach eine Grafik und ordnet mit Hilfe von Koordinaten die Standorte der jeweiligen Maschinen zu. Hier zwei Beispiele. Das erste Beispiel ist ein Screenshot von den Entwicklern. Abbildung 4 Nagvis Addon (Developerscreenshot) Seite 8 von 10
Das zweite Beispiel zeigt das in der FHF eingesetzte Nagvis. Wie man sieht, wird ein Teil von Furtwangen abgebildet. Damit weiß man immer, wo Probleme aktuell sind. Abbildung 5 Nagvis Addon (RZ Nagios, Plan von Furtwangen) Seite 9 von 10
Quellen Nagios Homepage http://www.nagios.org Sehr gute Buch Nagios. System- und Netzwerk-Monitoring von Wolfgang Barth Nagios Plugin Developerhomepage http://nagiosplug.sourceforge.net/developer-guidelines.html Addon http://www.nagvis.org/ Extra Plugin s http://www.nagiosexchange.org/ Nagiosinfos http://www.rz.uni-hohenheim.de/genzel/ Webfrontend zur Konfiguration von Nagios http://www.secretdoor.ch/computer/software_005.php Seite 10 von 10