Home ORDIX AG             Dienstleistung             Trainingsshop    Kunden / Referenzen Aktuelles    Kontakt
Home  Pfeil  ORDIX News  Pfeil  1/2008  Pfeil  System Management
suche: 
Dieser Artikel richtet sich an Nagios-Administratoren, die einen Einblick in die Neuerungen der Version 3.0 erhalten möchten.

Weiterführende Links

Versionsinformation

Die zum Redaktionsschluss neueste verfügbare Version ist 3.0rc2, also Release Candidate 2. Das ist noch keine stabile Version und sollte auch noch nicht in Produktions-Umgebungen eingesetzt werden. Aktuell „stable“ ist nur die alte Version 2.10. Sowohl die stabile Version 2.10 als auch die aktuelle Version 3.0rc2 können auf der Nagios Webseite [1] heruntergeladen werden.



Erweiterte Optionen zur Konfiguration von Server- und Diensteobjekten

Nagios 3.0: Vererbungslehre für Administratoren


Bei der Open Source Monitoring Software Nagios steht ein großer Versionswechsel bevor: Der aktuellen Version 2.10 folgt die Version 3.0. Auch wenn die Entwicklung einer neuen Benutzeroberfläche auf die Version 4.0 verschoben wurde, so hat sich doch „unter der Haube“ einiges getan. Viele Erweiterungen werden den Administratoren die Arbeit erleichtern. Eine Auswahl stellen wir im Folgenden vor.

define host{
    name             web-server
    check_interval   10
    check_period     7x24
    ...
    register         0
}
Abb. 1: Definition einer Vorlage für Web-Server.
 
define host{
    name                   entwicklungs-server
    check_interval         15
    notification_options   d,u,r
    event_handler          handle-host-event
    ...
    register               0
}
Abb. 2: Definition einer Vorlage für Entwicklungs-Server.
 
define host{
    use            web-server
    host_name      web1
    check_period   5x8
    ...
}
Abb. 3: Definition eines Server-Objektes für einen Web-Server.
 
define host{
    use              web-server, entwicklungs-server
    host_name        devweb2
    event_handler    null
    ...
}
Abb. 4: Definition eines Server-Objektes für einen Entwicklungs-Web-Server.
 
define host{
    host_name              devweb2
    check_interval         10
    check_period           7x24
    notification_options   d,u,r
    ...
}
Abb. 5: Aktive Einstellungen für den Entwicklungs-Web-Server aus Abb 4.
 
define host{
    use         1, 4, 8
    host_name   devweb1
    ...
}
Abb. 6: Definition eines Server-Objektes mit mehreren Vorlagen.
 
Abb. 7: Darstellung der Vererbung und Rangfolge für den Server aus Abb. 6.
Quelle: http://nagios.sourceforge.net/docs/3_0/objectinheritance.html

Wer eine Vielzahl ähnlicher Server oder Dienste mit Nagios überwacht, nutzt sie bereits: Vorlagen oder auch Templates genannt. Vorlagen fassen eine Reihe von Einstellungen zusammen, die dann an die einzelnen Serveroder Diensteobjekte vererbt werden.

Bisher konnte jedes Objekt nur die Einstellungen einer einzigen Vorlage erben. Diese Einschränkung wurde aufgehoben. Mit der Version 3.0 können jetzt mehrere Vorlagen angegeben werden.

Funktionsweise von Vorlagen

Eine Vorlage nutzt die gleiche Struktur wie ein Server- oder Diensteobjekt. Damit Nagios die Definition als Vorlage erkennt, wird zusätzlich die Option register 0 verwendet (siehe Abbildungen 1 und 2). Dadurch wird verhindert, dass Nagios ein Objekt mit den angegebenen Eigenschaften anlegt.

Bei der Definition der Server- oder Diensteobjekte können zusätzlich zu den direkt angegebenen Optionen die in einer Vorlage definierten Optionen eingebunden werden, indem die Option use angegeben wird (siehe Abbildung 3). Dabei werden nur diejenigen Optionen aus der Vorlage übernommen, die noch nicht direkt in der Objektdefinition angegeben wurden. Anders ausgedrückt überschreiben lokale Einstellungen die Einstellungen aus der Vorlage. So wird beim Web-Server web1 der Wert der Option check_interval aus der Vorlage web-server übernommen, aber der Wert der Option check_period direkt auf Basis der Objekt-Definition - also auf den Wert 5x8 - gesetzt.

Mehr als eine Vorlage

In großen Umgebungen mit vielen Servern oder Diensten kommt häufig der Wunsch auf, Optionen über Vorlagen nicht nur auf Basis der Server-Art (Web-Server, Datenbank-Server), sondern zusätzlich auch noch anhand anderer Kriterien (Standort, Umgebung, Betriebssystem etc.) zu vererben.

Bisher musste dafür eine Vielzahl an Vorlagen geschaffen werden (Web-Server-Wiesbaden, Web-Server-Paderborn, Datenbank-Server-Wiesbaden, Datenbank-Server-Paderborn, ... Web-Server-Produktion, Web-Server-Entwicklung, ...).

Mit der neuen Nagios-Version 3.0 kann nun ein Objekt die Optionen von mehr als einer Vorlage erben. Die Vorlagen werden dabei als mit Kommata getrennte Liste in der Option use angegeben (siehe Abbildung 4).

Auch bei der Verwendung von mehreren Vorlagen werden nur diejenigen Optionen aus einer Vorlage verwendet, die nicht schon durch die Objektdefinition selbst oder eine in der Liste weiter links stehende Vorlage festgelegt wurden.

Die für den Entwicklungs-Web-Server devweb1 aktiven Optionen sind in Abbildung 5 dargestellt. Die Werte der Optionen check_ interval und check_period wurden aus der Vorlage web-server übernommen, der Wert der Option notification_options aus der Vorlage entwicklungs-server.

Die Reihenfolge entscheidet

Werden in den verschiedenen Vorlagen die gleichen Optionen mit unterschiedlichen Werten verwendet, so entscheidet die Reihenfolge innerhalb der Option use darüber, welche Werte aktiv werden.

Da eine Vorlage selbst auch auf verschiedenen Vorlagen beruhen kann, ergeben sich unter Umständen komplexe Strukturen. Das Beispiel in den Abbildungen 6 und 7 ist der Dokumentation von Nagios 3.0 entnommen und zeigt eine solch komplexe Struktur. Dies ist bei der Planung und Implementierung zu berücksichtigen und am besten auch zu testen, um unerwünschte Effekte zu vermeiden.

Vererbung unterbinden

Neu in der Version 3.0 ist auch die Möglichkeit, nicht nur die Werte der vererbten Optionen zu verändern, sondern einzelne vererbte Optionen (derzeit Optionen mit Zeichenketten-Werten wie z. B. event_handler) aus der Objektdefinition zu löschen. Dazu werden die Optionen auf den Wert null gesetzt, wie in Abbildung 4 der Wert für die Option event_handler, die so nicht mehr aus der Vorlage entwicklungsserver übernommen wird (zum Ergebnis der Einstellung siehe Abbildung 5).

Fazit

Die neue Version 3.0 bietet gerade in großen Nagios-Umgebungen Vorteile bei der jetzt viel flexibleren Verwendung von Vorlagen. Allerdings ist dennoch ein gut durchdachtes Konfigurationskonzept Basis für die Verwendung von Vorlagen, um unerwünschte Effekte zu vermeiden. Bei der Erstellung oder Anpassung dieser Konzepte unterstützen wir Sie gerne.

Andreas Jordan (info@ordix.de).