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.

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

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, 5.0 out of 5 based on 3 ratings
GD Star Rating
loading...
Patrick Schoyswohl

Patrick Schoyswohl

Systemadministrator
Hallo, mein Name ist Patrick Schoyswohl und ich bin Systemadministrator in einer Agentur für neue Medien und seit 2009 Betreiber und leidenschaftlicher Blogger von SysADMINsLife.com. Meine Leidenschaft gehört den Webservern und der Serverüberwachung auf Open-Source Basis. Falls du gefallen an meinen Artikel hast, kannst du mir gerne auf Google+, Facebook oder Twitter folgen.
Patrick Schoyswohl
Wer von euch hat #ebay gekillt „DNS failure" - 2 Wochen ago
Patrick Schoyswohl
Patrick Schoyswohl

Latest posts by Patrick Schoyswohl (see all)

Tags: , , , , ,

Mittwoch, 17. Oktober 2012 Monitoring Author: Patrick Schoyswohl

Leave a Reply

Hosting-Lösungen (VPS, Dedicated Server, Webspace und Colocation) von Contabo

Subscribe to our mailing list

* indicates required Email Adresse *
Werbung schalten

*=Affiliatelink

Blogverzeichnis - Blog Verzeichnis bloggerei.de