
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.
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.
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.
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.
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.
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).
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).