Check_MK Alarmierungen an Telegram senden

Damit Check_MK Alarmierungen (Notifications) an den Telegram Messenger schicken kann, benötigen wir:

  • einen Bot
  • einen Benutzernamen für den Bot
  • einen API-Token
  • eine Chat-ID

Telegram – Bot erstellen

In Telegram suchen wir den @BotFather und starten mit ihm einen Chat. Mit /newbot wird ein neuer Bot erstellt.
Weiter im Chat Dialog wird der neue Botname und Benutzername abgefragt und angelegt.

Telegram – API-Token und Chat-ID ermitteln

Den API-Token haben wir beim anlegen des neuen Bots schon erhalten. Jetzt brauchen wir noch unsere Chat-ID.
In Telegram nach dem Benutzernamen des neuen Bots suchen und einen Chat starten. Das ist wichtig! Ein kurzes hallo reicht schon aus.

Als nächstes ruft man folgende URL zusammen mit dem API-Token im Browser auf:

Die Zahlenfolge nach „id“: ist unsere Chat-ID.

Damit haben wir für den Telegram Bot jetzt alles zusammen.

Telegram – Bot testen

Um zu testen, ob beim neuen Bot auch Nachrichten ankommen, kann man im Browser eine entsprechende URL mit einer Nachricht an die Telegram API schicken.

Die Nachricht kam sofort im Bot an.

Telegram – Bot Profilbild ändern

Man kann dem Bot auch ein Profilbild zuweisen. Dazu dem BotFather ein /setuserpic senden und dann den Botnamen angeben. Bild hochladen, fertig.

Check_MK – das Telegram Notify Skript

Das Alarmierungsskript kann direkt von metzlog.srcbox.net oder karl-deutsch.de herunterladen werden und muss unter dem SITE User ins Verzeichnis:
~/local/share/check_mk/notifications. Der Name des Skripts ist nicht vorgegeben.

Die Datei ausführbar machen und drei Zeilen im Skript abändern:

Die SITE neu starten.

Check_MK – Notify mit Telegram anlegen

Jetzt kann man sich eigene Alarmierungsregeln in Check_MK anlegen. WATO → Notifications → New Rule → Notification Method → Telegram.

Check_MK – Notify mit Telegram testen

Die Telegram Alarmierung sollte jetzt zuerst einmal getestet werden. In Check_MK auf einen Host und einen beliebigen Service auswählen.
Dann ganz oben auf das Hämmerchen, Fake Check Results, Plugin Output setzen und mal ein Warning senden.

Der Fake Check kam sofort im Telegram Bot an, funktioniert! :)

Hiermit ist die Einrichtung der Check_MK Alarmierung an Telegram abgeschlossen.

TG-Notify – Telegram Notification Bot with Callback for ACK & Downtime

Eine noch etwas umfangreichere Lösung ist TG-Notify von lanbugs.de. Hier kann per Callback sogar an Check_MK zurückgemeldet werden.
Sollte man sich auf jeden Fall auch mal angucken und ausprobieren!

1 Gedanke zu “Check_MK Alarmierungen an Telegram senden”

  1. Hallo,

    ich habe es wie von dir beschrieben mit dem einfachen Skript umgesetzt. Ich kann jedoch versuchen was ich will, es funktioniert bei mir unter 1.5.0p15 nicht. Aus irgendeinem Grund kommen die Nachrichten nicht beim Bot an.

    Hast du ne Idee?

    Dank & Grüße
    Marcel

    Ich habe es mittlerweile hinbekommen. Es war sonderbar, da Nachrichten per HTTP-Requests im Browser z.B. wie erwartet ankamen, jedoch per Skript kam nichts an und keine Fehlermeldung irgendwo zu finden.

    So bin ich am Ende vorgegangen:
    1. als Siteuser angemeldet
    2. Skriptvorlage in das Verzeichnis
    „~/local/share/check_mk/notifications“ als Siteuser heruntergeladen
    3. chmod 755 auf die Datei
    4. Skript wie folgt angepasst:

    Zeile 1
    #!/usr/bin/env python

    Zeile 24
    telegram_bot_token = ‚101010101:ChangeMeChangeMeChangeMe‘

    Zeile 105
    # in Check_MK ein custom attribute mit der internen ID telegram erstellt.
    telegram_chatid = context.get(‚CONTACT_TELEGRAM‘)

    Mit diesem Eintrag funktioniert es.

Schreibe einen Kommentar