1. Einleitung
Um das Monitoring an die Arbeitsrhythmen des Menschen anzupassen und so z.B. sinnlose Benachrichtigungen zu vermeiden, bietet Checkmk die Möglichkeit, verschiedene Einstellungen von Tageszeit oder Wochentag abhängig zu machen.
Damit die Konfiguration einfach und übersichtlich ist, geschieht das in zwei Schritten. Zunächst definieren Sie Zeitperioden (time periods). Eine solche kann z.B. „Arbeitszeit“ heißen und die Tage Montag bis Freitag von jeweils 8:00 bis 17:00 Uhr enthalten. Jede der Zeitperioden ist also zu einem bestimmten Zeitpunkt entweder aktiv oder inaktiv.
Anschließend können Sie diese Zeitperioden in der Konfiguration verwenden. Sie kommen unter anderem in den folgenden Regeln zum Einsatz. All diese Regeln haben gemeinsam, dass die Angabe der Zeitperiode optional ist und den zeitlichen Wirkungsbereich der Regeln einschränkt:
Notification period for … |
Einschränkung der Zeiten, in denen für einen Host oder Service eine Benachrichtigung erzeugt wird. Außerhalb der definierten Zeiten werden keine Benachrichtigungen erzeugt und die Kette der Benachrichtigungsregeln kommt gar nicht erst zum Einsatz. |
Benachrichtigungsregeln |
Auch in jeder einzelnen Benachrichtigungsregel können Sie eine bestimmte Zeitperiode zur Bedingung machen. So können Sie z.B. den Benachrichtigungsweg (E-Mail oder SMS) von der Tageszeit abhängig machen. |
Check period for … |
Damit können Sie die Ausführung von Checks zeitlich einschränken. Außerhalb der definierten Zeitperiode werden die Checks nicht durchgeführt und der Status bleibt auf dem Zustand der letzten Check-Ausführung. Verwenden Sie dies jedoch mit Vorsicht: Ein Service kann als OK angezeigt werden, obwohl er schon seit Stunden eigentlich CRIT ist. |
Service period for … |
Mithilfe der Service-Periode können Sie die prozentualen Verfügbarkeiten von Services innerhalb von bestimmten Zeiten berechnen. |
Event Console |
Die Gültigkeit von Regeln in der Event Console kann abhängig von einer Zeitperiode sein. Damit können Sie z.B. bestimmte Log-Meldungen zu manchen Zeiten als unproblematisch deklarieren. |
Alert Handler |
Auch die Ausführung von Regeln für Alert Handler kann durch Zeitperioden gesteuert werden. |
Schwellwerte |
Sie können die Gültigkeit der Schwellwerte bestimmter Checks an eine Zeitperiode knüpfen. Damit könnten Sie z.B. die Schwellwerte für die CPU-Auslastung eines Servers tagsüber anders einstellen als in der Nacht. |
Tipp: Die oben genannten konkreten Regeln können Sie leicht mit der Suche Setup > General > Rule search finden.
2. Zeitperioden konfigurieren
2.1. Wochentage
In die Verwaltung der Zeitperioden steigen Sie mit Setup > General > Time periods ein. Die angezeigte Liste enthält die stets vorhandene Zeitperiode Always, die nicht änder- oder löschbar ist.
Klicken Sie Add time period, um eine neue Zeitperiode zu erstellen.
Wie üblich in Checkmk, verlangt auch die Definition einer Zeitperiode mindestens eine interne ID und einen Namen zur Anzeige (Alias). Nur letzterer kann später geändert werden und wird in Listen etc. angezeigt:
Sie können wahlweise jeden einzelnen Wochentag konfigurieren oder über Same times for all weekdays alle sieben Tage gleich setzen. Für jeden Wochentag können Sie mehrere Zeiträume angeben, in denen die Zeitperiode aktiv ist. Verwenden Sie dabei eine Notation im 24-Stunden-Format.
Wichtig: Um den kompletten Tag bis Mitternacht einzuschließen, schreiben Sie 00:00
- 24:00
, auch wenn die Uhrzeit 24:00 ja eigentlich nicht existiert.
2.2. Einzelne Kalendertage
Mithilfe von Add Exception können Sie einzelne Kalendertage im „internationalen Datumsformat“ angeben, also im Format YYYY-MM-DD
, z.B. 2021-12-25
.
An diesen Tagen gelten dann nur die dort angegebenen Tageszeiten:
Auf diese Art können Sie sich z.B. einen individuellen Kalender von Feiertagen zusammenstellen.
Dabei geben Sie bei den erstellten Feiertagen jeweils den Zeitraum 00:00
- 24:00
ein.
2.3. Zeitperioden aus anderen ausschließen
So einen Feiertagskalender können Sie dann aus einer anderen Zeitperiode ausklammern. Der häufigste Fall ist das Ausklammern der Feiertage aus einer Zeitperiode für die normalen Büroarbeitszeiten. Dazu kreuzen Sie einfach Ihren Feiertagskalender bei Exclude an:
2.4. Kalender importieren
Gerade für Ferien- und Feiertagskalender gibt es den praktischen Import von Kalenderdateien im iCal-Format. Solche Dateien sind im Internet leicht zu finden und ersparen Ihnen das mühsame Eingeben von Feiertagen von Hand. Feiertage aller deutschen Bundesländer finden Sie z.B. auf der Ferienwiki Website.
Importieren Sie so eine Datei auf der Seite Time periods mit dem Knopf Import iCalendar und legen Sie auf der nächsten Seite fest, für wie viele Jahre in die Zukunft periodische Feiertage in die Zeitperiode eingetragen werden sollen:
Sie erhalten dann eine ausgefüllte Zeitperiodendefinition, bei der Sie nur noch ID und Name festlegen müssen und können diese dann wie oben beschrieben aus anderen Zeitperioden ausschließen.