Checkmk
to checkmk.com

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 Symbol zur Anzeige der Wartungszeit bei Services. Leitkegel markiert, Hosts mit einem Symbol zur Anzeige der Wartungszeit bei Hosts. blauen Pause-Symbol. Auch Services, deren Hosts sich in Wartung befinden, bekommen das blaue Pause-Symbol. In der History werden gestartete Wartungszeiten mit Symbol zur Anzeige einer gestarteten Wartungszeit. markiert und beendete mit Symbol zur Anzeige einer beendeten Wartungszeit..

  • 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:

Dialog zur Definition einer Wartungszeit.

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

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

Die Wiederholungsperiode auswählen.

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 dem hier eingetragenen Startzeitpunkt 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 Dinge realisieren wie „jeden zweiten Montag im Monat“. Checkmk nimmt dabei den Wochentag als Startzeitpunkt, guckt dann, der wievielte Tag im Monat das ist und basiert darauf die Periode. Wenn also der Starttermin am zweiten Montag des Monats ist, wird fortan jeden Monat am zweiten Montag wieder eine Wartung eingetragen.

same nth weekday (from end)

Dies ist analog, 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.

Festlegung einer regelmäßigen Wartungszeit mittels Regel.

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 erweiterten Optionen für Wartungszeiten.

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.

Einstellung einer flexiblen Wartungszeit.

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.

Bestätigung, dass die Wartungszeit tatsächlich auf den Host angewendet werden soll.

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:

Ansicht der Wartungszeiten.

Wie in jeder Ansicht können Sie über die Symbol zur Anzeige der Filterleiste. Filter die Auswahl einschränken. Über die Symbol zur Anzeige eines Kommandos. 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.

Änderung einer Wartungszeit.

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

Übersicht vergangener Wartungszeiten.

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.

Verfügbarkeitsanalyse der Hosts.

Wie genau Wartungszeiten verrechnet werden sollen, können Sie über Availability > Change computation options einstellen:

Auswahl zur Berücksichtigung von Wartungszeiten.

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.

Auf dieser Seite