Login
Newsletter
Werbung

So, 15. März 2009, 00:00

Nagios - Automatische Überwachung einer IT-Infrastruktur, Teil 3

Aufbau einer einfachen Konfiguration

Das use-Attribut

Im Grunde ist die Konfiguration von Nagios objektorientiert: Jede define-Anweisung »erzeugt« ein Objekt. Wenn auch ein Vergleich mit einer objektorientierten Programmiersprache zu weit geht, so kann man doch zumindest sagen, dass Nagios es erlaubt, Attribute von anderen Objekten zu erben. Es gibt sogar abstrakte Objekte, das sind Objekte, die nur zu dem Zweck der Vererbung existieren und selbst nicht sichtbar sind.

Die Vererbung wird mit dem Attribut use realisiert. Ein Objekt kann nur von einem anderen Objekt direkt erben, nicht von mehreren. Aber es kann eine mehrstufige Hierarchie von Objekten aufgebaut werden. Hauptsächlich dient der Mechanismus zum Verringern der Schreibarbeit und Vereinfachen der Wartung.

Da wir uns oben auf den Service »generic-service« gestützt haben, müssen wir ihn definieren. Dazu kopieren wir die Definition dieses Dienstes aus der originalen Nagios-Konfiguration und nennen sie beispielsweise generic-service_nagios2.cfg.

generic-service_nagios2.cfg

define service {
 name generic-service
 active_checks_enabled 1
 passive_checks_enabled 1
 parallelize_check 1
 obsess_over_service 1
 check_freshness 0
 notifications_enabled 1
 event_handler_enabled 1
 flap_detection_enabled 1
 failure_prediction_enabled 1
 process_perf_data 1
 retain_status_information 1
 retain_nonstatus_information 1
 notification_interval 0
 is_volatile 0
 check_period 24x7
 normal_check_interval 5
 retry_check_interval 1
 max_check_attempts 4
 notification_period 24x7
 notification_options w,u,c,r
 contact_groups admins
 register 0
}

Entscheidend an dieser Definition ist das Attribut register, das auf 0 gesetzt wird. Damit wird das Objekt zu einem oben erwähnten abstrakten Objekt, was in Nagios Schablone (Template) genannt wird. Die Schablone stellt selbst keinen gültigen Service dar, sondern kann ihre Attribute an andere Definitionen vererben. Der Wert 0 für register gestattet es auch, einige Attribute, die eigentlich zwingend vorgeschrieben sind, wegzulassen, ohne dass Nagios sich beschwert. Die fehlenden Attribute müssen in den von generic-service abgeleiteten Services definiert werden. Die Bedeutung der oben angegebenen Attribute wollen wir hier nicht einzeln betrachten, dafür kann die Dokumentation zu Rate gezogen werden.

Beim ersten Hinsehen ist schwer zu erkennen, dass diese Definitionen Gebrauch von zwei weiteren Definitionen macht, die es noch nicht gibt: 24x7 und admin. Wir würden es dann bemerken, wenn wir Nagios zu einer Syntaxprüfung der bisherigen Konfiguration veranlassen würden. Dazu ist es aber noch zu früh, wir würden auf noch mehr Fehler stoßen.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung