Nagios
Nagios
| |
---|---|
![]() | |
![]() Screenshot der „Service Detail“-Seite von Nagios | |
Basisdaten
| |
Entwickler | Ethan Galstad |
Erscheinungsjahr | 14. März 1999 |
Aktuelle Version | 3.0.6 (1. Dezember 2008) |
Aktuelle Vorabversion | 3.1.0 (25. Januar 2009) |
Betriebssystem | Unix-Derivate |
Programmiersprache | Perl, C[1] |
Kategorie | Netzwerk-Monitoring |
Lizenz | GPL (Freie Software) |
deutschsprachig | nein |
nagios.org |
Die Software Nagios (Network + Hagios, früher NetSaint) dient der Überwachung komplexer IT-Infrastrukturen.
Nagios bietet dazu eine Sammlung von Modulen zur Überwachung von Netzwerken, Hosts und speziell Diensten sowie einer Web-Schnittstelle zum Abfragen der gesammelten Daten. Nagios steht unter der 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.
Am 9. November 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 selber bleibt aber weiterhin unter einer freien Lizenz.
Funktionsweise
Die zu kontrollierenden Hosts und Dienste werden mittels Konfigurationsdateien konfiguriert und Nagios bekannt gemacht. Die Überwachung kann aber erst erfolgen, wenn dementsprechend Kommandos definiert wurden. Das Zusammenfassen in Gruppen für einzelne Hosts, Dienste und Kontakte ist ebenfalls möglich.
Nagios kann den Status verschiedener Dienste (z. B. SSH, FTP, HTTP) sowie den Festplattenplatz, Speicher- und CPU-Auslastung, Uptime usw. über diverse Module (Plug-ins) abfragen und auswerten. Da einige Testmethoden auf Protokollebene arbeiten (TCP, UDP, SNMP, …), ist es möglich, verschiedene Betriebssysteme zu überwachen. Für speziellere Aufgaben kommen weitere Programme zum Einsatz, die ebenfalls frei verfügbar sind (NC_Net, NSClient). Es ist mit entsprechender Zusatzhardware sogar möglich, Umweltbedingungen (z. B. Temperaturwerte, Luftfeuchtigkeit, Füllstände von Flüssigkeitstanks, …) zu überwachen.
Sobald ein Dienst oder ein Host einen (teilweise einstellbaren) kritischen Wert erreicht oder gar nicht mehr verfügbar bzw. erreichbar ist, alarmiert Nagios die Kontaktpersonen über beliebige 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). Ebenfalls können bei der Überwachung der Dienste untereinander bestehende Abhängigkeiten berücksichtigt werden. Wird etwa die Erreichbarkeit eines Rechners und auf ihm laufende Programme überwacht, so werden bei einem Ausfall des gesamten Rechners die Meldungen über die einzelnen nicht mehr laufenden Programme unterdrückt.
Eigene Module können auf einfache Weise mit Hilfe einer Programmiersprache, wie z.B. C, C++, Java, C#, Perl, Python oder PHP erstellt werden. Die Module müssen lediglich in der Lage sein, bei ihrer Beendigung einen Statuswert an das Betriebssystem bzw. an Nagios zu senden und Ausgaben an die Standardausgabe tätigen zu können. Der Statuswert teilt hierbei mit, ob der Aufruf des PlugIns erfolgreich war (Wert 0), ob es zu einer Warnmeldung kam (Wert 1) oder ob es sich um einen Fehler handelte (Wert 2). Die Daten, die an die Standardausgabe gesendet werden, werden 1:1 in der Weboberfläche als Zusatzinformationen angezeigt.
Das folgende PHP-Skript verdeutlicht die Funktionsweise eines solchen Moduls:
#!/usr/bin/php
<?php
switch (intval(date('G', time()))) {
case 22:
// 22:00 bis 22:59 Uhr
echo 'Hinweis: Bald ist Schlafenszeit!';
exit(1); // Warnung
break;
case 23:
// 23:00 bis 23:59 Uhr
echo 'AB INS BETT!';
exit(2); // FEHLER
break;
default:
echo 'OK';
exit(0); // OK
break;
}
?>
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.
Mithilfe des Nagios Remote Plugin Executor (nrpe) oder SSH ist es auch möglich, Plug-ins auf entfernten Rechnern auszuführen, die die Ergebnisse ihrer Untersuchung an den Nagios-Server melden. Eleganter, wenn auch schwieriger zu konfigurieren, ist die passive Überwachung via SNMP-Traps mittels NagTrap.
Zusatzprogramme
Nagios kann mit Add-ons erweitert werden. Beispiele hierfür sind:
- Nmap2Nagios: Addon zur automatischen Generierung von Konfigurationsdateien
- Centreon: Addon zur Konfiguration und zum Monitoring via Webinterface
- NagVis: Addon zur Visualisierung der Überwachungsergebnisse
- monarch: Administrationsoberfläche für Nagios 1.x und 2.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
- 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, ...
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
Forks
Im Mai 2009 hat eine Gruppe von Nagios-Entwicklern den Nagios-Fork Icinga gegründet[2].
Siehe auch
Literatur
- Wolfgang Barth: (2005) Nagios – System- und Netzwerk-Monitoring – Open Source Press 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: (2006) Pro Nagios 2.0 – San Francisco: Apress ISBN 1-59059-609-9
- David Josephsen: (2007) Building a Monitoring Infrastructure with Nagios – Prentice Hall ISBN 0-13-223693-1
- Taylor Dondich: (2006) Network Monitoring with Nagios – O’Reilly ISBN 0-596-52819-1
- Wolfgang Barth: (2008) Nagios. System- und Netzwerk-Monitoring 2. Auflage – Open Source Press ISBN 978-3-937514-46-8
Einzelnachweise
- ↑ The nagios Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 18. Oktober 2018).
- ↑ http://www.heise.de/newsticker/ICINGA-Abspaltung-von-Nagios-vollzogen--/meldung/137376
Weblinks
- offizielle Webpräsenz
- Nagios Enterprise, LLC.
- monitoringexchange.org – Übersicht über Plug-ins, Artikel etc. zu Nagios
- nagiosforge.org – Übersicht über Add-ons inkl. Versionsverwaltung, Snippets und Mailinglisten etc. zu Nagios
- nagioswiki.org – Wiki für Nagios-relevante Themen, z. B. HowTos, Add-ons, ...
- Nagios-Portal - Portal rund um das Thema Nagios (Deutsch / Englisch)