Home / Monitoring / Icinga – Wiederkehrende Ausfallzeiten (recurring downtimes) via sched_down.pl definieren

Icinga – Wiederkehrende Ausfallzeiten (recurring downtimes) via sched_down.pl definieren

icon_icinga_biggerWiederkehrende oder tägliche Ausfallzeiten von bestimmten Services oder Server sind im Monitoring Bereich immer wieder ein Thema, welches häufig auftaucht. Mit Icinga wird dankenderweise direkt ein Tool (sched_down.pl) mitgeliefert, welches wiederkehrende Ausfallzeiten flexibel einplanen kann. Dazu werden die Ausfallzeiten bestimmter Services oder Hosts in einer Konfigurationsdatei definiert, die dann via cronjob von sched_down.pl abgearbeitet wird.

sched_down.pl Perl Script in den Icinga Ordner kopieren

Das Tool sched_down.pl wird direkt von Icinga mitgeliefert, aber nicht standardmäßig installiert, und kann von den Sourcen kopiert werden. Wer die Sourcen nicht mehr auf seinem System hat, kann sich die aktuellste Version von Icinga downloaden.

cp /usr/src/icinga-1.7.2/contrib/downtimes/sched_down.pl /usr/local/icinga/bin/
chmod +x /usr/local/icinga/bin/sched_down.pl

Damit sched_down.pl funktioniert muss ein zusätzliches Perl Modul installiert werden:

apt-get install libdate-calc-perl

Wiederkehrende Ausfallzeiten in downtime.cfg definieren

Dazu wird eine neue Datei (downtime.cfg) im …/icinga/etc/ Ordner angelegt und mit Inhalten befüllt.

vi /usr/local/icinga/etc/downtime.cfg

Eine genaue Auflistung, welche Optionen verwendet werden können gibt es in der offiziellen Icinga Dokumentation.

Ein Beispiel für eine fixe Ausfallzeit:

define downtime {
    host_name           server1
    service_description PING
    author              Mein Name
    comment             tägliches Backup
    downtime_period     monday - friday 01:00-03:00
    register            1
    fixed               1
}

Dabei wird am Server (server1), jeden Wochentag zwischen 01:00 und 03:00 eine Downtime für das Service (PING) definiert. So könnte zB.: eine Downtime für einen Backupvorgang definiert werden, der gewisse Dienste am Server stoppen muss um den Backupvorgang durchzuführen.

Icinga recurring downtime fixed
Recurring Downtime (fixed) im Icinga Webinterface

Ein Beispiel für eine flexible Ausfallzeit:

define downtime {
    host_name           server1
    service_description PING
    author              Mein Name
    comment             tägliches Backup
    downtime_period     monday - friday 01:00-03:00
    register            1
    duration            30
    fixed               0
}

Dabei wird am Server (server1), jeden Wochentag zwischen 01:00 und 03:00 eine Downtime von maximal 30 Minuten für das Service (PING) definiert. So könnte zB.: eine Downtime für ein Service definiert werden, das in der Zeit von 01:00-03:00 statt findet aber nur maximal 30 Mintuten dauert. (Wenn keine fixen Zeiten definiert werden aber das Ereignis zwischen zwei Zeitpunkten statt findet).

Icinga recurring downtime flexible
Recurring Downtime (flexible) im Icinga Webinterface

Script testen und manuelle Erstellung der Downtimes vornehmen

Die Konfiguration kann nun getestet werden indem das sched_down.pl Tool ausgeführt wird

/usr/local/icinga/libexec/sched_down.pl

sched_down.pl wird im Debug Mode ausgeführt. Es werden somit noch keine Downtimes hinzugefügt sondern nur im Detail angezeigt. Wenn die dargestellten Daten Sinn ergeben und die Konfiguration genau so durchgeführt werden soll, kann das Tool ohne Debug Mode ausgeführt werden.

/usr/local/icinga/libexec/sched_down.pl -d0

Im Icinga Webinterface kann nun überprüft werden ob die geplanten Downtimes auch angezeigt werden.

Cronjob für die automatische Erstellung der Downtimes hinzufügen

Da die Befüllung der Scheduled Downtimes nun automatisch funktionieren soll, fügen wir einen Cronjob hinzu, welcher das sched_down.pl Tool zu jeder Stunde einmal ausführt. (bereits existierende Ausfallzeiten werden berücksichtigt und neue Ausfallzeiten geplant)

crontab -e
0 * * * * /usr/local/icinga/libexec/sched_down.pl -d0

weiterführende Links:

Icinga Dokumentation

Icinga – Wiederkehrende Ausfallzeiten (recurring downtimes) via sched_down.pl definieren
3.91 (78.26%) 23 Bewertungen

Auch cool

Fahrzeugdiagnose selber durchführen können mit dem iPhone

Wieder einmal blinkt eine Kontrolleleuchte im Fahrzeug auf. Doch was bedeutet diese? Sollte man am …