Seitenhierarchie
Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Auf dieser Seite:

Don't speak German, but English?

Systemvoraussetzungen

  • Zabbix 2.2 - 3.x
  • Python 3.x

In iLert: Zabbix Alarmquelle erstellen

  1. Zum Reiter "Alarmquellen" wechseln und auf den Button "Neue Alarmquelle erstellen" klicken
  2. Name vergeben und Eskalationskette auswählen
  3. Im Feld Integrations-Typ "Zabbix" auswählen und speichern.



  4. Auf der nächsten Seite wird ein API-Schlüssel generiert. Den API Schlüssel werden Sie unten bei der Einrichtung des Plugins benötigen.

In Zabbix

Zabbix Plugin herunterladen

  1. Laden Sie das iLert Zabbix Plugin-Skript runter. Das Skript muss sowohl von Zabbix als auch vom Cron-Daemon ausführbar sein:

    > wget https://raw.githubusercontent.com/iLert/ilert-zabbix/master/ilert-zabbix.py
    > chmod 755 ilert-zabbix.py
  2. Verschieben Sie das Plugin in das AlertsScriptsPath Verzeichnis von Zabbix. In der Regel ist dies das Verzeichnis /usr/local/share/zabbix/alertscripts oder /usr/lib/zabbix/alertscripts. Überprüfen im Zweifel die Datei zabbix_server.conf nach der Konfigurationsoption AlertsScriptsPath.

    > mv ilert-zabbix.py /usr/lib/zabbix/alertscripts/

iLert Mediatype erstellen

  1. Zum Reiter AdministrationMedia types wechseln und auf den Button Create media type klicken.



  2. In der Media type Konfigurationsseite "iLert" als Namen vergeben, "Script" als Type und ilert-zabbix.py als Script name.



  3. Bei den Script parameters drei Mal auf Add klicken und folgende Macros in der angegeben Reihenfolge eintragen.
    • {ALERT.SENDTO}
    • {ALERT.SUBJECT}
    • {ALERT.MESSAGE}



    In Zabbix 2.2 entfällt dieser Schritt, da in dieser Version diese drei Script parameter standardmäßig übergeben werden.

  4. Auf den Button Add klicken, um den Media type zu speichern.

iLert User und Gruppe erstellen

  1. Zum Reiter AdministrationUser groups wechseln und auf den Button Create user group klicken.



  2. Namen für die iLert Gruppe (z.B. "iLert Gruppe") vergeben.



  3. Zum Reiter Permissions wechseln und die Host Groups auswählen, auf die die iLert Gruppe Lesezugriff haben soll, um Benachrichtigungen zu senden. Ohne Lesezugriff kann iLert keine Benachrichtigungen für die Hosts in der Gruppe empfangen (siehe auch hier).
  4. Auf den Button Add klicken, um die Gruppe zu speichern.



  5. In den Users Reiter wechseln und auf den Button Create user klicken.



  6. Alias und Name vergeben und den User in die iLert Gruppe hinzufügen. Weitere Details wie Password sind nicht nötig, da dieser User sich nicht in Zabbix einloggen wird.



  7. In den Reiter Media wechseln und auf den Link Add klicken



  8. Im Media Fenster iLert als Type auswählen, den oben generierten API Key im Feld Send to eintragen und auf den Button Add klicken



  9. Im Users Reiter auf den Button Add klicken, um den User zu speichern.

Alert Action erstellen

  1. Zum Reiter Configuration → Actions wechseln und auf den Button Create action klicken



  2. Der Action einen Namen vergeben, z.B. "iLert Benachrichtigungen".



  3. Jeweils auf den Reitern Operations, Recovery operations und Acknowledgement operations folgende Aktionen ausführen

    • Default subject und Default message exakt wie unten in der Tabelle ausfüllen.
    • Unter Operations auf den Link New klicken und bei Send to User groups die oben angelegte iLert Gruppe auswählen. Anschließend auf den Link Add klicken.


      ScreenshotDefault subject / message
      Operations

      Default subject
      alert
      Default message
      {
        "EVENT.ID": "{EVENT.ID}",
        "TRIGGER.ID": "{TRIGGER.ID}",
        "TRIGGER.VALUE": "{TRIGGER.VALUE}",
        "TRIGGER.NAME": "{TRIGGER.NAME}",
        "TRIGGER.DESCRIPTION": "{TRIGGER.DESCRIPTION}",
        "TRIGGER.STATUS": "{TRIGGER.STATUS}",
        "TRIGGER.SEVERITY": "{TRIGGER.SEVERITY}",
        "TRIGGER.URL": "{TRIGGER.URL}",
        "HOST.HOST": "{HOST.HOST}",
        "HOST.IP": "{HOST.IP}"
      }
      Recovery operations

      Default subject
      resolve
      Default message
      {
        "EVENT.ID": "{EVENT.ID}"
      }
      Acknowledgement operations

      Default subject
      ack
      Default message
      {
        "EVENT.ID": "{EVENT.ID}"
      }



  4. Auf den Button Add klicken, um die Action zu speichern.

Cron Job einrichten

Für den Fall, dass die von Zabbix generierten Events nicht beim ersten Sendeversuch an iLert gesendet werden können (z.B. aufgrund eines Netzwerkproblems), wird ein Cron-Job eingerichtet. Dieser Cron-Job wird im Minutentakt ausgeführt und sendet alle fehlgeschlagenen Events an iLert. 

  1. Die crontab-Datei von dem Zabbix Benutzer editieren

    > sudo crontab -u zabbix -e
  2. Folgenden Eintrag hinzufügen

    * * * * * /usr/lib/zabbix/alertscripts/ilert-zabbix.py -m send

    Passen Sie das Verzeichnis entpsrechend Ihrer AlertScriptsPath Konfiguration in Zabbix an.


Die Zabbix Integration ist nun eingerichtet!

Zabbix Integration FAQ

Werden Incidents in iLert automatisch behoben?

Ja, sobald in Zabbix der Zustand eines Incidents OK ist, wird der zugehörige Incident in iLert behoben. 

Kann ich Stackdriver mit mehreren Alarmquellen in iLert verknüpfen?

Ja, erstellen Sie hierzu in Stackdriver pro Alarmquelle einen Webhook. Sie können dann für jeden "Alerting Policy" in Stackdriver auswählen, welchen Webhook Sie für die Alarmierung verwenden möchten.

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.

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