1. Funktionsweise
Im IT-Betrieb unterscheidet man zwei Arten von Ausfällen: geplante und ungeplante. Das Monitoring-System kann — wenn es einen Ausfall feststellt — natürlich erst mal nicht wissen, ob dieser geplant war oder nicht. Über das Konzept von Wartungszeiten (Englisch scheduled downtimes) können Sie geplante Ausfallzeiten eines Hosts oder Services dem System bekannt machen, indem Sie für die entsprechenden Objekte eine Wartungszeit definieren. Befindet sich ein Host oder Service in so einer Wartungszeit, hat das folgende Auswirkungen:
In den Tabellenansichten erscheint ein Symbol bei den betroffenen Hosts und Services: Services werden mit einem Leitkegel markiert, Hosts mit einem blauen Pause-Symbol. Auch Services, deren Hosts sich in Wartung befinden, bekommen das blaue Pause-Symbol. In der History werden gestartete Wartungszeiten mit markiert und beendete mit .
Die Benachrichtigungen über Probleme sind während der Wartung abgeschaltet.
Die betroffenen Hosts/Services tauchen im Overview nicht mehr als Probleme auf.
In der Verfügbarkeitsanalyse werden geplante Wartungszeiten gesondert berücksichtigt.
Zu Beginn und Ende einer Wartungszeit wird eine spezielle Benachrichtigung ausgelöst, die darüber informiert.
2. Wartungszeiten festlegen
Das Festlegen von Wartungszeiten geschieht über Kommandos. Alle Aktionen, die Wartungszeiten betreffen, sind hier in einem eigenen Kasten zusammengefasst:
Das Feld Comment muss immer ausgefüllt werden.
Sie können an dieser Stelle auch eine URL in der Form https://www.example.com
eintragen, die dann als anklickbarer Link zur Verfügung steht.
Für die zeitliche Definition gibt es zahlreiche unterschiedliche Möglichkeiten — vom einfachen 2 hours, welches die Wartung ab sofort definiert, bis hin zu Start und Ende eines expliziten Zeitraums, mit dem auch eine Wartung in der Zukunft definiert werden kann.
2.1. Regelmäßige Wartungszeiten
Manche Wartungen werden regelmäßig ausgeführt — wie z.B. der automatische Neustart eines Servers einmal pro Woche. Jedes Mal von Hand eine Wartung einzutragen wäre recht umständlich. Wenn es nur um die Benachrichtigungen geht, können Sie hierzu mit Zeitperioden und dem Regelsatz Notification period for Hosts/Services arbeiten. Dies hat allerdings verschiedene Einschränkungen. Eine Wichtige ist, dass man für das Anlegen von Zeitperioden globale Konfigurationsberechtigungen benötigt.
Die kommerziellen Editionen bieten daher das Konzept von sich automatisch periodisch wiederholenden Wartungszeiten. Diese können auf zwei verschiedene Arten eingetragen werden.
Anlegen mittels Kommando
Der erste Weg führt über die Option Repeat.
Dabei wählen Sie die Periode aus, mit der sich die Wartung wiederholen soll. Das erste Auftreten tragen Sie über Start und End ein. Von der hier eingetragenen Startzeit aus wird die Periode berechnet. Es gibt folgende Möglichkeiten:
never |
Die Wartungszeit wird nicht wiederholt, d.h. nur einmal ausgeführt (Standardeinstellung). |
hour |
Die Wartungszeit wiederholt sich stündlich genau um die gleiche Uhrzeit. |
day |
Tägliche Wiederholung um die gleiche Uhrzeit. |
week |
Wiederholung alle sieben Tage am gleichen Wochentag und zur gleichen Uhrzeit wie beim ersten Mal. |
second week |
Wie wöchentlich, nur jetzt 14-tägig. |
fourth week |
Wie wöchentlich, aber jetzt alle 28 Tage. |
same nth weekday (from beginning) |
Hiermit können Sie monatliche Wiederholungen auf Basis des Wochentags realisieren. Wenn also die Startzeit am zweiten Montag des Monats ist, wird fortan jeden Monat am zweiten Montag wieder eine Wartung eingetragen. |
same nth weekday (from end) |
Analog zur vorherigen Option, allerdings wird jetzt vom Ende des Monats gerechnet, also so etwas wie „jeder letzte Freitag im Monat“. |
same day of the month |
Bei dieser Variante bleibt der Wochentag unberücksichtigt. Hier geht es nur darum, der wievielte Tag im Monat es ist. Wenn also das Startdatum am 5. eines Monats ist, so wird die Wartungszeit fortan jeden 5. eines Monats wiederholt. |
Anlegen mittels Regeln
Eine alternative, sehr elegante Methode für das Einrichten von periodischen Wartungszeiten ist das Anlegen über Regeln. Mithilfe von Host-Merkmalen können Sie damit z.B. Dinge bestimmen wie: Jeder produktive Windows-Server bekommt jeden Sonntag von 22:00 bis 22:10 Uhr eine Wartungszeit.
Zwar könnten Sie fast das Gleiche erreichen, indem Sie mit der Host-Suche alle betroffenen Server finden und die Wartungszeit dann über ein Kommando eintragen. Aber dies funktioniert natürlich nur für bestehende Server.
Wird in Zukunft ein neuer Host ins Monitoring aufgenommen, so fehlt ihm dieser Eintrag. Wenn Sie stattdessen mit Regeln arbeiten, haben Sie dieses Problem nicht mehr. Ein weiterer Vorteil von Regeln ist, dass Sie die Wartungsrichtlinie später ändern können — einfach durch Anpassung der Regeln.
Die Regeln für die regelmäßigen Wartungszeiten finden Sie unter Setup > Hosts > Host monitoring rules > Recurring downtimes for hosts beziehungsweise Setup > Services > Service monitoring rules > Recurring downtimes for services.
2.2. Weitere Optionen
Für die Definition von Wartungszeiten gibt es neben den eben beschriebenen regelmäßigen Wartungszeiten noch weitere Möglichkeiten. Diese finden Sie in den Advanced options:
Die Option Only for hosts: Set child hosts in downtime ist für Router und Switche nützlich, aber z.B. auch für Virtualisierungs-Hosts. Checkmk wird so auch automatisch für alle Hosts eine Wartungszeit setzen, welche über den betroffenen Host direkt (oder bei ausgewähltem Include indirectly connected hosts (recursively) auch indirekt) erreichbar sind.
Mit der Option Only start downtime if host/service goes DOWN/UNREACH… beginnt die Wartungszeit nicht automatisch zum angegebenen Zeitpunkt, sondern erst dann, wenn der Host tatsächlich in einen Problemzustand eintritt. Diese Option ist z.B. nützlich, wenn Sie wissen, dass ein Host für ein paar Minuten DOWN gehen wird, aber die exakte Uhrzeit nicht vorhersagen können.
Beispiel: Sie definieren eine Wartungszeit von 14:00 bis 16:00 Uhr und aktivieren die Option Only start downtime if host/service goes DOWN/UNREACH during the defined start and end time mit einer maximalen Dauer von 30 Minuten. Um 14:00 Uhr wird die Wartungszeit noch nicht automatisch aktiv, sondern ist nur in Wartestellung. Sobald der Host auf DOWN oder UNREACH geht, beginnt die Wartungszeit und das Pausenzeichen erscheint. Sie dauert jetzt genau die bei der Option angegebene Zeit — egal wie sich der tatsächliche Zustand vom Host entwickelt und ggf. auch über die eingestellte Endzeit der Wartungszeit hinaus.
Die Start-/Endzeit ist also bei den flexiblen Wartungszeiten nur das Zeitfenster, innerhalb dessen die Wartungszeit beginnt. Wenn innerhalb dieses Zeitfensters kein Problemzustand eintritt, so wird die Wartungszeit einfach ausgelassen. Alles für Hosts gesagte gilt natürlich für Services analog.
3. Wartungszeiten aktivieren
Mit einem Klick auf Schedule downtime on service bzw. Schedule downtime on host aktivieren Sie die soeben definierten Einstellungen für die betreffenden Services bzw. Hosts.
Haben Sie gerade Wartungszeiten für Services geplant, beispielsweise in der Ansicht Services of Host, können Sie zudem mit einem Klick auf Schedule downtime on host dafür sorgen, dass sich die Wartungszeiten nicht auf die Services, sondern stattdessen direkt auf den zugehörigen Host beziehen.
4. Wartungszeiten ändern und löschen
Für die Wartungszeiten gibt es in Checkmk eine eigene Ansicht, die Sie erreichen über Monitor > Overview > Scheduled downtimes:
Wie in jeder Ansicht können Sie über die Filter die Auswahl einschränken. Über die Kommandos in dieser Ansicht können Sie eine oder mehrere Wartungszeiten entfernen und sogar auch nachträglich ändern (nur kommerzielle Editionen), z.B. wenn diese verlängert werden müssen, da die eigentliche Wartung länger dauert als zunächst vorgesehen.
5. History
Die Ansicht Monitor > History > Downtime history zeigt nicht die aktuellen Wartungszeiten, sondern deren Geschichte — also alle Ereignisse, bei denen eine Wartungszeit begonnen hat oder endete (entweder durch ein natürliches Ende oder durch das Löschen per Kommando).
6. Wartungszeiten und Verfügbarkeit
Wie eingangs erwähnt, haben Wartungszeiten eine Auswirkung auf die Berechnung der Verfügbarkeitsanalyse. Standardmäßig werden alle Wartungszeiten in einen eigenen „Topf“ gerechnet und in der Spalte Downtime angezeigt.
Wie genau Wartungszeiten verrechnet werden sollen, können Sie über Availability > Change computation options einstellen:
Honor scheduled downtimes |
Wartungszeiten werden in die Verfügbarkeitsgrafiken eingerechnet und als eigenständige Spalte angezeigt. Das ist das Standardverhalten. |
Exclude scheduled downtimes |
Wartungszeiten werden bei der Berechnung der 100 % komplett ausgeklammert. Alle prozentualen Angaben über die Verfügbarkeit beziehen sich also nur auf die restlichen Zeiten, quasi zur Beantwortung der Frage: Wie viel Prozent der Nicht-Wartungszeit war das Objekt verfügbar? |
Ignore scheduled downtimes |
Wartungszeiten werden überhaupt nicht berücksichtigt, sondern nur der tatsächliche Status, den das Objekt jeweils hatte. |
Zusätzlich gibt es noch unter Phases die Option Treat phases of UP/OK as non-downtime. Wenn diese ausgewählt ist, dann werden Zeiten, in denen ein Objekt in einer Wartung, aber trotzdem gleichzeitig OK bzw. UP ist, nicht als Wartungszeit gewertet. Somit geht in die Berechnung nur derjenige Teil der Wartungszeiten ein, der tatsächlich mit einem Ausfall verbunden war.