Seitenhierarchie
Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Mit dem iLert Icinga Notification Plugin können Sie Icinga einfach in iLert integrieren. Ihr bestehendes Icinga-System (und andere Nagios-Forks) können Sie so um die SMS-, Push- und Sprach-Benachrichtigung von iLert einfach erweitern.

Haben Sie Icinga 1.x im Einsatz?

Für Icinga 1.x nutzen Sie bitte die Anleitung iLert Icinga 1 Integration

Systemvoraussetzungen

  • Icinga 2.x
  • Python 2.7.3 (oder höher)

Vorbereitung

  1. Erstellen Sie in iLert eine neue Alarmquelle



  2. Wählen Sie den Typ Nagios / Icinga aus und klicken Sie auf speichern.



  3. Es wird ein API Schlüssel generiert. Den API Schlüssen werden Sie unten bei der Einrichtung des Plugins benötigen.

Installationsanleitung

Laden Sie das iLert Icinga Plugin runter und entpacken es:

> wget http://www.ilert.de/s/ilert_nagios.zip
> unzip ilert_nagios.zip

Legen Sie die Plugin-Datei nagios_ilert.py im Verzeichnis /usr/local/bin ab. Die Datei muss sowohl von Icinga als auch vom Cron-Daemon ausführbar sein:

> mv ilert_nagios.py /usr/local/bin
> chmod 755 /usr/local/bin/ilert_nagios.py

Öffnen Sie die Plugin-Konfigurationsdatei ilert_icinga2.conf und tragen den API Schlüssel im pager Feld der User-Definition ein, z.B.

object User "ilert" {
display_name = "iLert"
groups = [ "icingaadmins" ]
states = [ OK, Warning, Critical, Unknown]
types = [ Problem, Recovery, Acknowledgement ]
vars.additional_notes = "This user maps to an alert source in iLert."
pager = "12345678-abcd-efgh-ijkl-87654321"
}

Kopieren Sie die Datei in das Icinga Konfigurationsverzeichnis (variiert je nach Installation).

> mv ilert_icinga2.conf /etc/icinga2/conf.d/

Über das Attribut vars.notification.enable_ilert = true in Host- und Service-Definitionen können Sie iLert als Benachrichtigungskontakt aktivieren. Um iLert für alle Hosts und Services zu aktivieren, fügen Sie das Attribut in das Template /etc/icinga2/conf.d/templates.conf ein:

template Host "generic-host" {
 max_check_attempts = 5
 check_interval = 1m
 retry_interval = 30s check_command = "hostalive"  
 
 vars.notification.enable_ilert = true
 
template Service "generic-service" {
 max_check_attempts = 3
 check_interval = 1m
 retry_interval = 30s  
 
 vars.notification.enable_ilert = true 
}

Editieren Sie die crontab-Datei von dem Icinga Benutzer

> crontab -u icinga -e

Fügen Sie folgenden Eintrag hinzu:

* * * * * /usr/local/bin/ilert_nagios.py -m send

Über diesen Cron-job werden im Minutentakt Events an iLert gesendet, die im ersten Sendeversuch gescheitert sind (z.B. aufgrund eines Netzwerkfehlers).

Starten Sie Icinga neu:

> /etc/init.d/icinga2 restart

FAQ

Welche Icinga Notification Types werden vom Plugin verarbeitet?

Das Plugin verarbeitet die Notification Types PROBLEMACKNOWLEDGEMENT und RECOVERY. Die Notification Types FLAPPING* und DOWNTIME* werden ignoriert.

Was ist, wenn meine Internetverbindung unterbrochen wird? Gehen die in Nagios/Icinga/Check_MK generierten Events verloren?

Es gehen keine Events verloren. Denn das Plugin speichert die Events lokal in einem temporären Verzeichnis (standardmäßig in /tmp/ilert_nagios) und versucht diese im Minutentakt an iLert zu senden. D.h. sobald Ihre Verbindung wieder verfügbar ist, werden zwischengespeicherte Events an iLert gesendet. Darüber hinaus empfehlen wir, Ihre Internet-Verbindung mit einem externen Überwachungsdienst (wie z.B. Pingdom) zu überwachen. Diese Alerts können Sie wiederum an iLert senden.

Unterstützt das Plugin auch Icinga 1.x?

Ja, die Anleitung finden Sie unter iLert Icinga 1 Integration.

Das Plugin funktioniert nicht. Wie finde ich den Fehler?

Schauen Sie bitte zunächst in die Log-Datei. Das Plugin nutzt für das Logging das Unix/Linux System-Log (z.B. unter /var/log/messages oder /var/log/syslog). Falls Sie den Fehler nicht finden, kontaktieren Sie bitte unseren Support unter [email protected].

Wie kann ich die SSL Verschlüsselung ausschalten?

Sie können den API-Endpunkt und Port über die beiden Kommandozeilen-Optionen -e und -p steuern. Um über HTTP (anstatt HTTPS) zu kommunizieren, ergänzen Sie den Aufruf des Plugins um die Argumente -e http://ilertnow.com -p 80 in der Nagios Konfigurations-Datei ilert_icinga.conf und in Cron:

object NotificationCommand "ilert-notification" {
 import "plugin-notification-command"
 command = "/usr/local/bin/ilert_nagios.py -m save -e http://ilertnow.com -p 80"  ...
}
 

Der Eintrag in Cron sieht dann wie folgt aus:

* * * * * /usr/local/bin/ilert_nagios.py -m send -e http://ilertnow.com -p 80