Nagios

Nagios
Nagios
Nagios service detail.png
Screenshot der „Service Detail“-Seite von Nagios
Basisdaten
Entwickler Ethan Galstad
Aktuelle Version 3.3.1
(25. Juli 2011)
Betriebssystem Unix-Derivate
Kategorie Netzwerk-Monitoring
Lizenz GNU GPL (Freie Software)
Deutschsprachig nein
nagios.org

Nagios ist der Name einer Software, die dem Monitoring komplexer IT-Infrastrukturen dient.

Nagios bietet dazu eine Sammlung von Modulen zur Überwachung von Netzwerken, Hosts und speziellen Diensten sowie eine Web-Schnittstelle zum Abfragen der gesammelten Daten. Es steht unter der GNU GPL, ist also freie Software, und läuft unter zahlreichen Unix-ähnlichen Betriebssystemen. Nagios und das Nagios-Logo sind in den USA eingetragene Warenzeichen von Ethan Galstad.

Der Name Nagios ist offiziell ein rekursives Akronym, welches sich auf den ursprünglichen Namen der Software (NetSaint) bezieht, und bedeutet ausgeschrieben Nagios Ain't Gonna Insist On Sainthood, inoffiziell wird er jedoch auch als Synonym für den früheren Namen interpretiert (Network + griechisch ἅγιος hagios ‚heilig‘)[1].

2007 wurde die Nagios Enterprises LLC von Ethan Galstad gegründet, welche Consulting und technische Unterstützung rund um das Thema Nagios als kommerzielle Dienstleistung anbietet. Die Software selbst bleibt weiterhin unter einer freien Lizenz.

Inhaltsverzeichnis

Bedeutung

Trotz Konkurrenz sowohl durch freie wie auch durch kommerzielle Überwachungs-Software ist Nagios wegen seiner großen Verbreitung ein Quasi-Standard – auch im professionellen Einsatz – geworden[2]. Dies ist sicherlich auf das große Engagement einer Vielzahl von Software-Entwicklern, der von ihnen produzierten Zusatzprogramme, der kostenlosen Verfügbarkeit der Software sowie insbesondere auf die einfache Anpassungs- und Erweiterungsfähigkeit bei speziellen Überwachungsaufgaben zurückzuführen.

Arbeitsweise

Zentrale Begriffe der Konfiguration und Komponenten

Der eigentliche Nagios-Prozess basiert im Wesentlichen auf einer objektorientierten Konfiguration von

  • Hosts, die im Wesentlichen über ihre IP-Adresse definiert sind,
  • Services, der Eigenschaften eines Host,
  • Kommandos, die zur Überwachung, zur Alarmierung oder anderen Zwecken ausgeführt werden sollen und
  • Kontakten, die im Alarmfall zu verständigen sind.

Ein "Service" kann dabei ein von einem Host zur Verfügung gestellter Dienst (z. B. HTTP, FTP, SSH, …), eine interne Eigenschaft eines Host (z. B. der noch verfügbare Festplattenplatz, Speicher- und CPU-Auslastung, Uptime, interne Fehlermeldungen, …) oder die über entsprechende Zusatzhardware messbaren Umweltbedingungen (z. B. Temperaturwerte, Luftfeuchtigkeit, Füllstände von Flüssigkeitstanks, …) sein.

Software-Komponenten

Für eine einfache Grundinstallation von Nagios ist die Installation zumindest noch folgender Software-Komponenten erforderlich:

Neben der Nagios Kern-Software benötigt man noch die Nagios Plug-ins: Das sind eine Reihe von Zusatzprogrammen (Modulen), die die eigentlichen Überwachungsabfragen durchführen und (gemäß ggf. vorzugebender Parameter) auswerten.

Überwachungsmethoden

Da einige Testmethoden auf Protokollebene arbeiten (TCP, UDP, SNMP, …), ist es möglich, verschiedene Betriebssysteme, aber auch Netzwerkgeräte oder andere technische Geräte mit einer entsprechenden, für die Überwachung eingerichteten Netzwerkschnittstelle (z.B. eine USV) zu überwachen.

Zur Überwachung interner Eigenschaften von Rechnern müssen meist Plug-ins direkt auf den Hosts ausgeführt werden. Dazu ist z. B. ein exekutiver Fernzugriff auf den Host erforderlich, was aber entweder bei sicherem Zugriff z. B. per SSH mit einer unverhältnismäßigen CPU-Belastung (auf beiden Seiten) verbunden ist oder wegen der für die Ausführung erforderlichen administrativen Privilegien als sicherheitsbedenklich erachtet wird. Eine andere Möglichkeit ist die Installation weiterer Programme ("Add-ons") auf den Hosts, die nur lokal vorkonfigurierte (und damit nicht mißbrauchbare) Systemabfragen ausführen können (standardmäßig NRPE[3], der Nagios Remote Plugin Executor, oder z. B. auch NSClient oder NC_Net). Die Kommunikation zwischen diesen Programmen und dem Nagios-Server (Abfrage und Ergebnisübermittlung) erfolgt dann über eigene definierbare Netzwerk-Ports.

Eleganter, wenn auch schwieriger zu konfigurieren, ist die passive Überwachung z. B. mit dem Addon Nagios Service Check Acceptor (NSCA) oder via SNMP-Traps (z. B. mittels des Frontends NagTrap).

Überwachungsmodule und ihre Standards

Neben den Standardmodulen und einer Vielzahl weiterer kostenlos verfügbarer Nagios Plug-ins können auch eigene Module auf einfache Weise mit Hilfe einer Programmiersprache, wie z. B. Perl, C, C++, Java, C#, Python oder PHP erstellt werden. Die Module müssen lediglich die Nagios Richtlinien für Plug-ins[4] einhalten, d. h. vor allem müssen sie bei ihrer Beendigung den ermittelten Status als POSIX-konformen Rückgabewert an den aufrufenden Prozess (Nagios-Dienst) übergeben und Ausgaben an die Standardausgabe tätigen.

Der Statuswert teilt hierbei mit,

  • ob das überprüfte Objekt (Dienst/Host) in Ordnung war (OK, Wert 0),
  • ob es zu einer Warnmeldung kam (WARNING, Wert 1),
  • ob es sich um einen kritischen Fehler handelte (CRITICAL, Wert 2) oder
  • der Status nicht ermittelbar/unbekannt ist (UNKNOWN, Wert 3).

Bei vielen Überprüfungen kann man beim Aufruf des Moduls als Parameter Alarmschwellenwerte für Warn- und Fehlerzustände angeben: Über- oder unterschreitet der Messwert diese Grenzwerte, ändert sich der Status des Dienstes entsprechend.

Die Daten, die an die Standardausgabe gesendet werden, sind normalerweise weitere Detailinformationen (z. B. mit dem Messwert) und werden 1:1 in der Weboberfläche als Zusatzinformationen angezeigt.

Alarmierungslogik

Sobald ein Dienst bzw. ein Host den Status ändert und nach einer vorkonfigurierbaren Anzahl von Wiederholungen der Abfrage bei diesem Status bleibt, wird der geänderte Status als gegeben angesehen („hard state“) und erst dann folgen weitere Aktionen:

  • Es wird ein Alarm ausgelöst, wobei untereinander bestehende Abhängigkeiten durch entsprechende Konfiguration berücksichtigt werden können: So kann man alle zusätzlich überwachten Eigenschaften eines Hosts als abhängig von der Erreichbarkeit des Hosts definieren und so bei einem Ausfall des Hosts die Meldungen über dessen einzelnen Dienste unterdrücken.
  • Es können vorkonfigurierte Ereignisaktionen gestartet werden.

Meldewege

Nagios alarmiert die vorkonfigurierten Kontaktpersonen über diverse Kanäle (z. B. E-Mail, SMS, Pager, IM-Messages, Telefonanrufe, …). Dabei besteht auch die Möglichkeit, festzulegen, in welcher Reihenfolge Meldungen an weitere Kontaktpersonen erfolgen sollen, wenn eine Störung nach den ersten Meldungen nicht behoben wurde (Eskalationsmanagement).

Distributed Monitoring

Um ein Nagios-System ausfallsicher, redundant und fehlalarmsicherer zu gestalten, gibt es die Möglichkeit des Setups als Distributed Monitoring sowie des Redundant/Failover-Monitoring. Bei verteiltem Monitoring werden mehrere, dezentral installierte Nagios-Instanzen genutzt, die ihre Ergebnisse mittels NSCA an einen zentralen Nagios-Server senden, der sie als passive Checks verarbeitet. Bei redundantem Monitoring arbeiten zwei Nagios-Instanzen parallel wie bei einem Clusternode und halten sich mit einem Heartbeat gegenseitig auf dem Laufenden.

Zusatzprogramme

Nagios kann mit Add-ons erweitert werden. Beispiele hierfür sind:

  • Nmap2Nagios-NG: Addon zur automatischen Generierung von Konfigurationsdateien
  • Centreon: Addon zur Konfiguration und zum Monitoring via Webinterface
  • Nagvis: Addon zur Visualisierung der Überwachungsergebnisse
  • monarch: (Veraltete) Administrationsoberfläche für Nagios 1.x und 2.x
  • Groundwork Monitor Community Edition: Administrationsoberfläche für Nagios 2.x und 3.x (Nachfolger von Monarch)
  • NConf: Webgestützte Administrationsoberfläche für Nagios 2.x und 3.x
  • NagiosQL: Webgestützte Administrationsoberfläche für Nagios 2.x und 3.x
  • PerfParse: Datenbankanbindung zur Verarbeitung der von Nagios gesammelten „Performancedaten“
  • PNP: Tool zur Generierung von Graphen aus den von Nagios gelieferten Daten
  • check_mk: Addon zum vereinfachten und beschleunigten Betriebssystem- und SNMP-Monitoring
  • Nagios Business Process AddOns: Erweiterung um statt einzelne Komponenten ganze Anwendungen („Geschäftsprozesse“) zu überwachen
  • NagiosGrapher: Tool zur Generierung von Graphen anhand von Nagios-Performancedaten, welches sich automatisch ins Web-Frontend von Nagios einbettet
  • NagiosEventDB: Ereignisdatenbank für Nagios z. B. für SNMPTraps, Syslog-Meldungen, ...
  • N2RRD Add-on für Nagios zum Speichern der Performance-Daten in Round-Robin-Datenbanken; enthält zusätzlich den Viewer „rrd2graph“, mit dem sich die gespeicherten Daten betrachten lassen
  • Nagios-virt: Zur Überwachung von Virtuellen Maschinen mithilfe der libvirt-Schnittstelle.

Weiterhin gibt es Programme, die Nagios überwachen und Ereignisse melden:

  • Nagios Checker: ein Addon für Mozilla Firefox
  • nagstamon: Nagios Status Monitor für den Desktop
  • NagiosCenter: Webanwendung mit Übersichten um mehrere Nagios Server gleichzeitig zu betreiben und zu überwachen

Anderes Projekt

Im Mai 2009 hat eine Gruppe von Nagios-Entwicklern den Nagios-Fork Icinga gegründet.[5]

Im Sommer 2009 begann Jean Gabès, Nagios in der Programmiersprache Python neu zu programmieren. Die schleppende Weiterentwicklung des in die Jahre gekommenen C-Codes und die monolithische Architektur von Nagios hatten ihn zu diesem Schritt veranlasst. Sein Proof-of-concept mit dem Namen Shinken verteilt die Aufgaben des Monitoring-Systems auf mehrere spezialisierte und ggf. redundant vorhandene Prozesse und soll dadurch in der Lage sein, eine weitaus größere Zahl von Endgeräten zu überwachen als ein herkömmliches Nagios-System. Im Dezember 2009 schlug Jean Gabès auf der nagios-devel-Mailingliste[6] vor, Shinken als Grundlage für ein künftiges Release 4 von Nagios zu verwenden. Dieser Vorschlag wurde von einigen Mitgliedern der Mailingliste begrüßt, aber es wurden auch deutliche Zweifel laut, ob die Programmiersprache C wirklich ersetzt werden sollte, weil unter anderem nicht mehr die Kompatibilität mit anderer Software gegeben wäre. Obwohl dieses Angebot weiterhin gilt, wird Shinken seitdem als eigenständiges Projekt entwickelt.[7]

Siehe auch

Literatur

  • Wolfgang Barth: Nagios – System- und Netzwerk-Monitoring, Open Source Press, 2005, ISBN 3-937514-09-0.
  • Götz Rieger: Netzwerk unter Kontrolle – Netzwerküberwachung mit Nagios, c’t 3/06, S. 206.
  • Götz Rieger: Nagios’ neue Kleider – kurz vorgestellt, Netzwerküberwachung, Nagios, MySQL, PHP […], c’t 12/06, S. 70.
  • Alexander Schreiber: Wachsamer Schutzheiliger – System-Monitoring mit Nagios, iX 12/03, S. 70.
  • James Turnbull: Pro Nagios 2.0, Apress, San Francisco 2006, ISBN 1-59059-609-9.
  • David Josephsen: Building a Monitoring Infrastructure with Nagios, Prentice Hall, 2007, ISBN 0-13-223693-1.
  • Taylor Dondich: Network Monitoring with Nagios, O’Reilly, 2006, ISBN 0-596-52819-1.
  • Wolfgang Barth: Nagios. System- und Netzwerk-Monitoring, 2. Auflage, Open Source Press, 2008, ISBN 978-3-937514-46-8.
  • Max Schubert u.a.: Nagios 3 Enterprise Network Monitoring, Syngress, 2008, ISBN 978-1-59749-267-6.
  • Tobias Scherbaum: Praxisbuch Nagios, O’Reilly, 2009, ISBN 978-3-89721-880-2.
  • Gerhard Laußer: Nagios – Das Praxisbuch, Addison-Wesley, 2009, ISBN 978-3-8273-2800-7.

Einzelnachweise

  1. Ethan Galstad (3. Mai 2003): official FAQ Nagios: FAQs : What does Nagios mean? (EN). Nagios: Frequently Asked Questions. Nagios Enterprises, LLC. Abgerufen am 6. März 2009. „The official meaning is that N.A.G.I.O.S. is a recursive acronym which stands for "Nagios Ain't Gonna Insist On Sainthood".“
  2. Nagios: The Industry Standard in IT Infrastructure Monitoring (EN). Nagios Enterprises, LLC. Abgerufen am 14. Oktober 2010. „With an estimated 250,000 users worldwide, Nagios is the undisputed industry standard in enterprise-grade Open Source monitoring.“
  3. Ethan Galstad (1. Mai 2007): Nagios: Official NRPE Documentation (EN) (PDF; 207kB). Nagios – NRPE Documentation S. 2. Abgerufen am 14. Oktober 2010.
  4. Nagios plug-in development guidelines (EN). Nagios Plugins Development Team. Abgerufen am 14. Oktober 2010.
  5. ICINGA: Abspaltung von Nagios vollzogen. Abgerufen am 3. Juli 2011.
  6. New Nagios implementation proposal (englisch)
  7. shinken-monitoring.org (englisch)

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Nagios — Screenshot of the Nagios web interface Original author(s) Ethan Galstad Initial release March 14, 1999[1] …   Wikipedia

  • Nagios — es un sistema de monitorización de redes de código abierto ampliamente utilizado, que vigila los equipos (hardware) y servicios (software) que se especifiquen, alertando cuando el comportamiento de los mismos no sea el deseado. Entre sus… …   Wikipedia Español

  • Nagios — Nagios …   Википедия

  • Nagios — Capture d écran de l interface web de Nagios …   Wikipédia en Français

  • Nagios Remote Plugin Executor — Nagios Screenshot der „Service Detail“ Seite von Nagios Basisdaten Entwickler: Ethan Galstad Aktuelle Version …   Deutsch Wikipedia

  • Nagios Business Process AddOns — ScreenShot der Nagios Business Process AddOns Übersi …   Deutsch Wikipedia

  • Nagios — noun a popular open source computer system and network monitoring software application …   Wiktionary

  • Fully Automated Nagios — FAN Famille GNU/Linux Type de noyau Noyau monolithique État du projet en développement Entreprise / Développeur Cédric TEMPLE, Olivier LI KIANG CHEONG, David HANNEQUIN, Thibault COHEN États des sources Libre …   Wikipédia en Français

  • NetSaint — Nagios Screenshot der „Service Detail“ Seite von Nagios Basisdaten Entwickler: Ethan Galstad Aktuelle Version …   Deutsch Wikipedia

  • Netsaint — Nagios Screenshot der „Service Detail“ Seite von Nagios Basisdaten Entwickler: Ethan Galstad Aktuelle Version …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”