Open Source im professionellen Einsatz
Linux-Magazin 05/2014
© Benis Arapovic

© Benis Arapovic

Nagios: Große Hürden, viele Möglichkeiten

Wenn's einmal läuft, …

Wer sich für den Platzhirsch unter den Monitoring-Lösungen entscheidet, hat bei der Erst-Inbetriebnahme viel zu lernen und zu tun, kommt dank der vielen Plugins aber auch sehr weit. Läuft irgendwann alles, kann der Admin damit ruhig schlafen.

791

Wer zu jedem Papiertaschentuch "Tempo" sagt, denkt beim Monitoring zuerst an "Nagios" [1]. Ethan Galstad hatte die Software vor 15 Jahren unter dem Namen Netsaint erstmals veröffentlicht, heutigen Admins gilt sie inmitten der entstandenen Vielfalt an quelloffenen Monitoring-Lösungen weiterhin als Referenz. Das Projekt verdankt seine Bekanntheit nicht nur seiner Flexibilität und Leistungsfähigkeit, sondern auch der Streitlust seiner Protagonisten. Sichtbarste Auswirkung dessen ist der viel diskutierte Fork Icinga [2].

Neuere Projekte mögen innovativer oder offener sein – die anderen Artikel im Schwerpunkt werden das zeigen –, mit dem grundsoliden Nagios zu beginnen, erscheint trotzdem naheliegend. Und das, obwohl das Überwachen großer Netze und Enterprise-Features wie das SQL-Backend angesichts der überschaubaren Aufgabenstellung unnötig komplex vorkommt. Denn auch nach 15 Jahren gilt das, was der "Advice for Beginners" [3] Einsteigern mit auf den Weg gibt: Die Features und Möglichkeiten von Nagios sind komplex, und das Einarbeiten braucht Zeit und Energie, kurz: "Es wird ein wenig dauern".

Eine Nagios-Installation besteht aus mehreren Komponenten (Abbildung 1):

Core – die Kernkomponente arbeitet die konfigurierten Checks ab und behandelt deren Resultate entsprechend der Konfiguration. Der Core verwaltet das Scheduling und das Ausführen der einzelnen Checks, des Weiteren die resultierenden Events und Alerts.

Plugins – eine der großen Stärken zieht Nagios aus seiner Erweiterbarkeit durch Check-Skripte. Bei diesen Plugins handelt es sich zumeist um Shell-, Perl- oder Python-Skripte, die Nagios mit Parametern aus seiner Config aufruft und die in einem definierten Format den Status des zu prüfenden Dienstes zurückgeben. Das Paket »nagios-plugins« bringt als Teil der verschiedenen Linux-Distributionen eine Auswahl von Plugins auf die überwachten Systeme. Darüber hinaus stellen Portale hunderte Check-Plugins bereit.

Frontends – Teil der Standardinstallation ist ein einfaches Web-GUI mit verschiedene Ansichten von überwachten Maschinen und Diensten sowie einem Interface, um auf Fehler und Warnungen zu reagieren.

Configtools – diese Werkzeuge helfen, Nagios zu konfigurieren. Das können Perl-Skripte sein, die Config-Dateien generieren oder komfortable Webtools mit Datenbank-Backends, wie beispielsweise NagioSQL [4].

© © Public Domain (Diglinks, Badri Pillai)Abbildung 1: Der üblichen Struktur eines Nagios-Setups wohnt eine gewisse Komplexität inne.

Installation und Grundsetup

Als Grundlage diente den Testern ein Ubuntu 12.04.4 LTS in der Installationsart LAMP-Server. Um Zugriff auf den kompletten Satz an Nagios-Plugins zu erhalten und weil Ubuntu keine fertigen Pakte dafür vorhält, entschieden sich die Tester gegen das neue Nagios Core 4 und installierten die stabile Version 3:

sudo apt-get install -y nagios3

Der dabei ausgelöste Dialog fragt Basisinformationen ab, beispielsweise ob und wie Nagios E-Mails versenden soll oder ein Passwort für das Web-GUI.

Nach vollbrachter Installation wartet dieses einfache GUI unter »http://Nagios-Server/nagios3« darauf, dass sich der Admin anmeldet. Ihn leuchtet unter »Tactical Overview« gleich eine rote Warnung an: Die Basiskonfiguration von Nagios beinhaltet nämlich sechs vorbereitete Services, die den Nagios-Server selbst überwachen. Der dazugehörige SSH-Daemon fehlt in der Standardinstallation von Ubuntu jedoch. Nach einem »sudo apt-get install -y openssh-server« startet der SSH-Dienst. Jetzt erkennt Nagios, dass Port 22 erreichbar ist und listet unter »Services« zum »localhost« sechs Dienste mit dem Status »OK« auf.

Weitere Hosts und Services konfigurieren

Die Logik von Nagios basiert auf Objekten wie Hosts, Services, Kontakten und so weiter [5]. Ein Host beispielsweise ist gewöhnlich ein physisches Gerät mit einer IP-Adresse, das ein oder mehrere Dienste im Netzwerk bereitstellt, die Nagios überwachen kann. Alle Objekte, deren Definitionen, Bestandteile et cetera spiegeln sich in einer Ansammlung von Ascii-Dateien mit der Endung »cfg« wider, die in Verzeichnissen wie »/etc/nagios3« , »/etc/nagios-plugins/config« und einigen mehr liegen. Um die Logik zu veranschaulichen, zeigt Listing 1 einen Auszug aus der Datei »/etc/nagios3/conf.d/localhost_nagios2.cfg« .

Der »define host« -Block bestimmt den Host mit Namen sowie IP-Adresse und zieht per »use« dafür die Vorlage »generic-host« hinzu. Vorlagen definieren Überwachungsparameter und bestimmen das Verhalten. Für den Anfang genügt es, die richtige Vorlage zu benutzen auch ohne sie im Detail verstanden zu haben.

Nagios prüft Standard-Hosts üblicherweise zuerst per Ping darauf, ob sie im Netzwerk erreichbar sind. Dies bildet die Grundlage für Prüfungen von Diensten – wie sollte ein nicht-verbundener Host auch Netzwerkdienste bereitstellen?! Der Block »define service« bezieht sich per Parameter »host_name« in Zeile 11 auf den zuvor definierten Host und legt den zu überwachenden Dienst sowie den Befehl fest, mit dem dies geschehen soll.

Listing 1

localhost_nagios2.cfg

01 [...]
02 define host{
03    use                  generic-host
04    host_name            localhost
05    alias                localhost
06    address              127.0.0.1
07 }
08
09 define service{
10    use                  generic-service
11    host_name            localhost
12    service_description  Disk Space
13    check_command        check_all_disks!20%!10%
14 }
15
16 define service{
17    use                  generic-service
18    host_name            localhost
19    service_description  Memory
20    check_command
21    check_memory!50%!25%
22 }
23 [...]

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Holzauge, sei wachsam

    Mit Hilfe selbst geschriebener Plugins spannt der clevere Perl-Programmierer das Netzwerk-Monitoring-Tool Nagios für vielfältige Überwachungsaufgaben ein.

  • Auf einen Blick

    In großen Netzen mit vielen Hosts und Admins stößt die klassische Nagios-Konfiguration an Grenzen. Das universelle Client-Agent-Plugin Check_mk benötigt für beliebig viele Checks nur eine Abfrage pro Client und kann die auf dem Host zu überwachenden Services automatisch erkennen.

  • Check_mk

    Check_mk hat zurzeit Rückenwind: Es gilt nicht mehr als schnödes Nagios-Plugin und seine Oberfläche Multisite lässt die Konkurrenz alt aussehen. Doch wird Check_mk diesem Ruf in der Praxis gerecht?

  • Nagios 3.0: Mehr Flexibilität fürs Monitoring

    Der Nagios-Erfinder Ethan Galstad hat mit Version 3.0 die jüngste stabile Ausgabe seines freien Monitoring-Tools veröffentlicht.

  • Geballter Durchblick

    Sieben prominente Nagios-Entwickler brachten letzten Oktober eine angepasste und erweiterte Nagios-Variante heraus: OMD, die Open Monitoring Distribution. Ihr spendierten sie Installationspakete und zahlreiche Addons. Im Testlabor hinterließ OMD einen guten Eindruck.

     

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.