In diesem Artikel erfahren Sie, wie Sie die bekannte Messaging-Plattform Telegram für das Senden von Benachrichtigungen aus Checkmk verwenden können.

Warum Benachrichtigungen über Telegram versenden?

Telegram hat eine gut dokumentierte API, die leicht zugänglich und kostenlos ist. Zudem ist Telegram sehr beliebt und viele Menschen sind bereits mit der Plattform und der Technik vertraut. Außerdem gibt es Apps für alle wichtigen mobilen Plattformen sowie Desktop-Apps.

Gibt es Bedenken wegen des Datenschutzes?

Dieser Beitrag geht nicht auf die Diskussion über den Datenschutz ein. Dies ist bereits ausführlich an anderer Stelle geschehen und lässt sich dort nachlesen. In der Regel dürften die Daten, die Sie mit diesen Benachrichtigungen übermitteln, nicht datenschutzrelevant sein. Falls dies doch der Fall ist, haben Sie die Möglichkeit, eine alternative Methode für Ihre Benachrichtigungen zu wählen.

Checkmk bietet bereits ab Werk eine Menge unterschiedlicher Methoden, die sich zudem durch von der Community bereitgestellte Methoden erweitern lassen. Am Ende des Artikels erfahren Sie außerdem, wie Sie die Ausgabe von Informationen bis zu einem gewissen Grad einschränken können.

Erste Schritte

Was Sie benötigen:

Das Notification-Plugin

Um Telegram aus Ihrer Checkmk Instanz anzusprechen, benötigen Sie ein Notification-Plugin. Dieser Beitrag verwendet ein Shell-Skript, das filipnet erstellt hat.

Benachrichtigungen aktivieren

Das Skript beziehen und verstehen

Um zu starten, müssen Sie sich als Instanz-Benutzer anmelden. Die Beispiel-Instanz in diesem Beitrag heißt 'telegram'.

omd su telegram

Anschließend navigieren Sie in der lokalen Struktur zu dem Ort, an dem sich die benutzerdefinierten Skripte für Benachrichtigungen befinden.

cd ~/local/share/check_mk/notifications/

Jetzt ist es an der Zeit, das eigentliche Skript herunterzuladen und es in diesem Ordner abzulegen. Wenn Sie von Ihrer Instanz aus einen Internetzugang haben, können Sie hierfür den folgenden Befehl verwenden, es spielt jedoch keine Rolle, wie Sie die Datei dort ablegen.

wget --no-check-certificate https://raw.githubusercontent.com/filipnet/checkmk-telegram-notify/main/check_mk_telegram-notify.sh -O telegram.sh

Sie haben die Möglichkeit, den ursprünglichen Namen beizubehalten oder diesen beliebig zu ändern. Ich habe das Skript mit wget in "telegram.sh" umbenannt. Lassen Sie uns nun einen Blick in das Skript werfen.

vim telegram.sh

Sie können den Texteditor Ihrer Wahl verwenden, ich bevorzuge vim.

Dies ist der Kopf des Skripts, der Hintergrundinformationen über das Skript, seinen Autor und die Lizenz enthält:

Kopf des Codes des Notification-Plugins für Telegram

Im nächsten Abschnitt werden die Authentifizierungsparameter aus der Checkmk Benachrichtigungsumgebung an das Skript übergeben. Wenn die Parameter nicht in der Benachrichtigungsregel angegeben sind, wird das Skript mit einem Fehler beendet.

Code-Abschnitt der angibt, welche Authentifizierungsparameter Checkmk an das Skript übergibt

Nun folgt im Grunde eine Datenschutzfunktion des Skripts, um IP-Adressen zu modifizieren, falls dies für Sie von Bedeutung ist. Das Skript maskiert Teile der IP-Adressen oder stellt diese komplett um, sodass ein möglicher Angreifer keinen Einblick in die tatsächlichen IP-Adressen erhalten kann. Sie können die Maskierung auch an Ihre Bedürfnisse anpassen, indem Sie das Skript entsprechend abändern. Diese Anleitung verwendet jedoch den unveränderten Code.

Code-Abschnitt, der die Datenschutzfunktion zeigt.

In diesem Abschnitt können Sie Icons für die verschiedenen Monitoring-Zustände festlegen. Der Autor des Skripts gibt Standardwerte vor, weist aber auch darauf hin, wie Sie diese ändern können.

An dieser Code-Stelle lassen sich die Icons für verschiedene Monitoring-Zustände festlegen

Dies ist der interessante Teil des Skripts. Anhand der Umgebungsvariablen, die Sie im Benachrichtigungskontext bereitstellen, erstellt das Skript die Nachricht und versendet sie. Wenn der Versand fehlschlägt, erhalten Sie eine Fehlermeldung. Dieser Teil ist natürlich stark anpassbar, die Standardeinstellung funktioniert jedoch gut genug, sodass Sie ohne Änderungen fortfahren können.

Dieser Code-Abschnitt anhand derer das Skript eine Benachrichtigung erstellt

Nachdem Sie sich das Skript angeschaut haben und eventuell an Ihre Bedürfnisse angepasst haben, müssen Sie es nun für den Benutzer und die Gruppe der Instanz ausführbar machen und den Apache der Instanz neu starten.

chmod ug+x telegram.sh

omd restart apache

Dies ist wichtig, da Checkmk das Skript nur verwenden kann, wenn es ausführbar ist und der Instanz-Apache neu gestartet wurde.

Einrichtung der Notification-Regel

Nun, da unter der Haube alles erledigt ist, können Sie zur Weboberfläche wechseln und Ihre erste Telegram-basierte Benachrichtigungsregel erstellen. Dazu navigieren Sie zum Menü Setup ➳ Events ➳ Notifications und kopieren die integrierte Benachrichtigungsregel:

 

Checkmk Menü in der sich die Notification-Regel befindet

Um Verwechslungen zu vermeiden, sollten Sie die Beschreibung im Vorfeld ändern. Als 'Benachrichtigungsmethode' wählen Sie 'Push Notification (using Telegram)'. Wenn Sie vorhin sehr aufmerksam waren, erkennen Sie vielleicht den Namen der 'Benachrichtigungs-Methode' wieder: Es ist die zweite Zeile des Benachrichtigungsskripts. Dadurch weiß Checkmk, was es im Konfigurationsdialog anzeigen soll. Die erste Zeile ist übrigens das sogenannte shebang, das dem Betriebssystem mitteilt, wie das Skript auszuführen ist.

Nun geben Sie die notwendigen Parameter ein, und zwar genau in dieser Reihenfolge:

  • Ihren Telegram-Bot-Token
  • Ihre Chat-ID
  • Optional den bereits erwähnten Parameter "privacy".
  • Für die 'Kontaktauswahl' belassen Sie die Standardeinstellung.
Die Notification-Regel in Checkmk konfigurieren

Herzlichen Glückwunsch, Sie sind fertig – zumindest fast. Als Letztes müssen Sie sicherstellen, dass Ihr Benutzer der Kontakt von mindestens einem Host ist. Wie das geht, ist in unserem Handbuch ausführlich dokumentiert.

Sobald Ihr Host nun auf sein erstes Problem stößt, werden Sie der Erste sein, der es erfährt.

Sie können auch sofort überprüfen, ob Ihre Benachrichtigungseinstellungen funktionieren: Sie können Check-Ergebnisse einfach simulieren. Möglicherweise müssen Sie oben rechts 'Show more' aktivieren, um die Option zu sehen.

Option zum Faken von Check-Ergebnissen auswählen

Im hervorgehobenem Fenster können Sie nun eine aussagekräftige Nachricht eingeben und  den Status wählen, den Sie für die Benachrichtigung auswählen wollen. Idealerweise wählen Sie für die simulierte Benachrichtigung einen kritischen oder zumindest warnenden Status.

Eine gefälschtes Check-Ergebnis mit Checkmk versenden

Zusammenfassung

Sie haben gelernt, wie Sie Benachrichtigungen von Checkmk über Telegram aktivieren. Mit dieser Grundlage sind Sie in der Lage das Benachrichtigungsformat flexibel anzupassen und Ihren Wünschen entsprechend zu erweitern. Weiterhin ist dies ein weiteres Beispiel sowohl für die große Flexibilität, die Checkmk bietet, als auch für die Stärke der Open-Source-Community, die das hier verwendete Skript zur Verfügung gestellt hat.

Für weitere Informationen lesen Sie gerne den Handbuch Artikel zu Benachrichtigungen.


Related Articles

Luftqualitäts-Monitoring mit Checkmk
Luftqualitäts-Monitoring mit Checkmk
Luftqualitätsüberwachung mit Checkmk: Auf der Checkmk Conference #9 haben wir mit CO2-Ampeln die Luftqualität gemonitort und entsprechende Dashboards…
Dashboard für vSphere-Monitoring in Checkmk erstellen
Dashboard für vSphere-Monitoring in Checkmk erstellen
Checkmk bietet eine große Auswahl an vordefinierten Dashboards, unterstützt aber auch das Erstellen individueller Dashboards. In diesem Tutorial…
So werden Sie Ihre eigene Certificate Authority
So werden Sie Ihre eigene Certificate Authority
Unabhängig davon, ob Sie eine möglichst realitätsnahe Testumgebung entwerfen, Checkmk im Intranet (besser) absichern oder eine interne…