Einrichtungs-Anleitung

Immer wenn die Checkmk-Integration aktiviert ist, lauscht Zammad auf Nachrichten über seine API und per E-Mail. Solange diese Nachrichten dem erforderlichen Format entsprechen, erstellt Zammad neue Tickets (oder findet und aktualisiert bestehende) auf der Grundlage der Nachrichteninhalte.

Das bedeutet, dass die „Einrichtung der Checkmk-Integration“ lediglich eine Frage der Konfiguration Ihrer Checkmk-Seite ist: Sie müssen ihr mitteilen, wann sie diese Nachrichten senden soll und was sie sagen soll. Dazu müssen Sie eine neue Benachrichtigungsregel erstellen (Hilfe dazu finden Sie in der offiziellen Dokumentation von Checkmk ).

Als Teil dieser neuen Regel müssen Sie eine Benachrichtigungsmethode wählen (d.h. ein Skript, das ausgeführt wird, wenn die Regel ausgelöst wird). Dieses Skript wird von Ihnen geschrieben (Beispiele unten) und enthält die Logik zum Senden von API-/E-Mail-Nachrichten an Zammad:

Checkmk Dialog "New Rule"

Sie finden Ihre benutzerdefinierten Skripte in der Checkmk WATO unter Notifications > New Rule > Notification Method.

Sobald Sie Ihre neue Regel eingerichtet haben, sind Sie startklar! Neue Tickets sollten nun eingehen und jedes Mal automatisch aktualisiert werden, wenn die Regel ausgelöst wird.

(Wenn Sie Hilfe bei der Fehlersuche benötigen, sollten Sie die Aktuellste Protokolle überprüfen.)

API-Warnungen

Um diese Skripte in das Checkmk-WATO einzufügen, kopieren Sie sie in Ihr Checkmk-Installationsverzeichnis und machen sie ausführbar. (Stellen Sie sicher, dass Sie die Callback-URL zammad.example.com durch Ihre ersetzen, die Sie auch im Admin-Bereich finden.)

Service-Benachrichtigung

Für Updates des Status der Software, die auf Ihrem Server läuft (z.B. Postgres).

#!/bin/bash
# /opt/omd/sites/<SITE>/local/share/check_mk/notifications/zammad-service

curl -X POST \
  -F "event_id=$NOTIFY_SERVICEPROBLEMID" \
  -F "host=$NOTIFY_HOSTNAME" \
  -F "service=$NOTIFY_SERVICEDESC" \
  -F "state=$NOTIFY_SERVICESTATE" \
  -F "text=$NOTIFY_SERVICEOUTPUT" \
  https://zammad.example.com/api/v1/... # see Admin Panel > System > Integrations > Checkmk > Usage
Host-Benachrichtigung

Für Updates zum Status des Servers selbst.

#!/bin/bash
# /opt/omd/sites/<SITE>/local/share/check_mk/notifications/zammad-host

curl -X POST \
  -F "event_id=$NOTIFY_HOSTPROBLEMID" \
  -F "host=$NOTIFY_HOSTNAME" \
  -F "state=$NOTIFY_HOSTSTATE" \
  -F "text=$NOTIFY_HOSTOUTPUT" \
  https://zammad.example.com/api/v1/... # see Admin Panel > System > Integrations > Checkmk > Usage

Bemerkung

🤔 Was ist mit all den env vars?

Jedes Mal, wenn Checkmk diese Skripte ausführt, muss es einige Informationen über das Ereignis, das die Benachrichtigung ausgelöst hat, bereitstellen. Diese Informationen werden in Form der Umgebungsvariablen $NOTIFY_* übergeben.

Sie können beim Einrichten Ihrer Benachrichtigungsregel zusätzliche Parameter angeben, die an das Skript übergeben werden sollen, aber die hier gezeigten sind alle standardmäßig vorhanden.

E-Mail-Benachrichtigungen

Warnung

🐞 Es gibt bekannte Fehler bei der Verarbeitung von E-Mails von Checkmk durch Zammad. Dieser Abschnitt wird vervollständigt, sobald sie behoben sind. (Erfahren Sie mehr unter GitHub issues #2377 & #2180.)

In der Zwischenzeit empfehlen wir Ihnen, stattdessen API-Benachrichtigungen einzurichten.