Geplante Ausfallzeiten


Einleitung

Nagios erlaubt es Zeiträume für geplante Ausfälle für überwachte Hosts und Dienste zu definieren. Dies ist hilfreich, wenn man weiss wann ein Server down sein wird, z.B. für einen Service-Eingriff, etc. Wenn sich ein Host oder Dienst innerhalb einer geplanten Ausfallzeit befindet, wird der Versand von Benachrichtigungen für diesen Host oder Dienst unterdrückt.

Datei für Ausfallzeiten

Geplante Ausfallzeiten für Hosts und Dienste werden in der Datei gespeichert, die man mit der downtime_file-Directive in der Haupt-Konfigurationsdatei angibt.

Beibehaltung von Ausfallzeiten

Geplante Ausfallzeiten für Hosts und Dienste werden automatisch über erneute Programm-Starts hinweg gespeichert. Wenn Nagios startet, durchsucht es die Datei für Ausfallzeiten, alle alten oder ungültige Einträge entfernen und die geplanten Ausfallzeiten für alle gültigen Hosts und Dienste übernehmen.

Ausfallzeiten planen

Man kann Ausfallzeiten für Hosts und Dienst über das "extinfo"-CGI (entweder indem man sich die Host- oder Dienst-Informationen ansieht) planen. Klicken Sie bei diesem Host oder Dienst auf den Link "Schedule downtime for this host/service" um an das Formular für die Planung von Ausfallzeiten zu gelangen.

Wenn man einmal eine Ausfallzeit für einen Host oder Dienst geplant hat, wird Nagios einen Kommentar dem entsprechenden Host oder Dienst hinzufügen, der anzeigt, dass für den angegebenen Zeitpunkt bereits eine Ausfallzeit geplant wurde. Wenn der Zeitraum der geplanten Ausfallzeit vorbei ist, entfernt Nagios den Kommentar den es hinzugefügt hat, automatisch. Nett, oder?

Arten der geplanten Ausfallzeiten

Es gibt zwei verschiedene Arten von geplanten Ausfallzeiten - "fixe" und "flexible". Wenn eine Ausfallzeit für einen Host oder Dienst über das Web-Interface geplant wird, wird man gefragt, ob die Ausfallzeit "fix" oder "flexibel" ist.
Hier ist eine Eklärung wie sich "fixe" und "flexible" Ausfallzeiten unterscheiden:

"Fixe" Ausfallzeiten beginnen und enden an exakten Start und End-Zeitpunkten, die in dem Web-Interface zur Planung geplanter Ausfallzeiten angegeben werden. Okay, es ist wirklich SO einfach...

"Flexible" Ausfallzeiten gibt es für Zeitpunkte, an denen Sie wissen das ein Host oder Dienst für X Minuten (oder auch Stunden) down sein wird, aber nicht genau wissen, wann dieser Dienst oder Host wieder verfügbar sein wird. Wird eine flexible Ausfallzeit geplant, wird Nagios die geplante Ausfallzeit irgendwann zwischen dem angegebenen Start- und End-Zeitpunkt gestartet. Die Ausfallzeit wird so lange anhalten, wie in der Dauer der geplanten Ausfallzeit angegeben. Dies beinhaltet, dass der Host oder Dienst, der in der geplanten flexiblen Ausfallzeit angegeben wurde, entweder down geht (oder unerreichbar wird) oder in irgendwann zwischen dem angegebenen Start- und End-Zeitpunkt in einen nicht-OK-Status wechselt.
Der Zeitpunkt zu dem der Host oder Dienst das erste mal in einen problematischen Status wechselt signalisiert Nagios den Startzeitpunkt der geplanten flexiblen Ausfallzeit. Die Ausfallzeit dauert anschliessend so lang, wie in der Dauer bei der Eingabe der Werte angegeben, auch wenn der Host oder Dienst vor dem Ende der flexiblen Ausfallzeit wiederhergestellt wird. Dies ist aus gutem Grund der Fall. Wie wir alle wissen denkt bereits zehn Mal, dass das Problem behoben wurde (und den Server neu startet), bis es dann wirklich richtig funktioniert, oder? Smart es Feautre, nicht?

Wie geplante Ausfallzeiten die Benachrichtigung beeinflussen

Wenn sich ein Host oder Dienst innerhalb dem Zeitraum einer geplannten Ausfallzeit befindet, wird Nagios den Versand von Benachrichtigung für den entsprechenden Host oder Dienst verhindern. Die Unterdrückung von Benachrichtigungen wird durch das Hinzufügen eines weiteren Filter in die Benachrichtigungs-Logik erreicht.
Man wird in diesem Fall kein Icon in den CGIs sehen können, das anzeigt, dass Benachrichtigungen für diesen Host oder Dienst deaktiviert sind. Ist der Zeitraum der geplanten Ausfallzeit verstrichen, wird Nagios den Versand von Benachrichtigungen wieder erlauben.

Überlappende geplante Ausfallzeiten

Wir nennen es das "Oh sche***e, es funktioniert nicht"-Syndrom:
Man nimmt einen Server für ein "Routine"-Hardware-Upgrade vom Netz, nur realisiert man erst später, dass die Betriebssystem-Treiber nicht funktionieren, das RAID-Array im A***h ist oder Drive-Image fehlgeschlagen ist und die Original-Platte absolut nutzlos ist.
Die Moral der Geschicht ist, dass jede Routine-Arbeit an einem Server mal eben sehr schnell drei bis vier Mal so lange dauern kann, wie man eigentlich geplannt hatte...

Lasst uns das folgende Szenario aufstellen:

  1. Man plante eine Ausfallzeit für einen Host A von 19:30 bis 9:30 an einem Montag
  2. Man stellt am Montag abend um 19:45h den Server ab, um ein Upgrade der Festplatten vorzunehmen.
  3. Nach dem Verschwenden von eineinhalb Stunden mit SCSI-Fehler und Treiber-Inkompatibilitäten bootet man die Maschine letztendlich hoch
  4. Um 9:15 realisiert man allerdings erst, das entweder eine Partition zerschossen ist, oder garnicht mehr auf dem Laufwerk existiert
  5. Wissend das man eine lange Nacht vor sich hat, geht man zurück und plant eine weitere Ausfallzeit für den Host A von Montag 9:20h bis 1:30h am Dienst morgen.

Falls man überlappende Ausfallzeiten für einen Host oder Dienst plant (in diesem Fall durch die beiden Zeiträume 19:45h bis 9:30h und 9:20 bis 1:30), wird Nagios warten, bis der letzter Zeitraum der letzten geplanten Ausfallzeit vorüber ist, bevor Nagios die Aussendung von Benachrichtigungen wieder erlaubt. In diesem Beispiel würden Benachrichtigungen für Host A bis einschliesslich 1:30 Dienstag morgen unterdrückt werden.