Grafana Howto: Alerts einrichten am Beispiel von Telegram

Du möchtest weiterlesen?
Dann melde dich jetzt an oder registriere dich.
Anmelden Registrieren
– 📖🕓 ≈ 3 min – Wir haben Grafana in den vorangegangenen Artikeln „Open Source Tool Grafana – Eine Einführung“ und „Grafana Howto: Lokale Installation & Einrichtung am Beispiel Ubuntu“ vorgestellt…
– 📖🕓 ≈ 4 min – Im Artikel „Open Source Tool Grafana – Eine Einführung“ wurde bereits beschrieben, um was für ein Tool es sich dabei handelt und was Ihr damit…
– 📖🕓 ≈ 3 min – Im digitalen Zeitalter sind die Überwachung und Darstellung von Systemen und Datenbanken, sowohl im privaten als auch im geschäftlichen Bereich, sehr beliebt und nahezu fundamental.…
Als Fortsetzung unserer kleinen Artikelreihe zum Open Source Tool Grafana möchten wir euch heute einmal am Beispiel des kostenlosen Instant-Messaging-Dienstes Telegram zeigen, wie Ihr euch aus Grafana heraus über bestimmte Zustandsänderungen benachrichtigen lassen könnt. Dazu sind lediglich drei Schritte notwendig:
Wie genau dies jeweils funktioniert, erfahrt Ihr im Folgenden.
Warum Telegram? Weil es sich dabei um die wohl beliebteste Alternative zu WhatsApp handelt und wir Benachrichtigungen hierüber durchaus komfortabler finden als via E-Mail.
Habt ihr bereits einen Telegram-Account, könnt ihr direkt in der Telegram-Suche nach @botfather suchen, einen Chat mit diesem öffnen. Andernfalls benötigt ihr zunächst einen kostenlosen Account. Einfach App installieren und Nummer hinterlegen. Telegram nutzen könnt ihr dann nicht nur auf eurem Smartphone, sondern auch auf eurem Desktop via Browser oder Desktop-App.
[caption id="attachment_12294" align="aligncenter" width="477"]
Startet einen Chat mit @botfather und mithilfe des Befehls /newbot den Vorgang zur Erstellung eines neuen Bots. Anschließend könnt ihr frei einen Namen sowie Benutzernamen vergeben. Der Benutzername muss mit „bot“ enden. Die Anwendung bestätigt euch das erfolgreiche Anlegen.
[caption id="attachment_12731" align="aligncenter" width="1033"]
Um später über den Bot Nachrichten verschicken zu können, ist der in der Bestätigungsnachricht enthaltene API-Token nötig. Diesen zusammen mit dem Namen und Benutzernamen sichern und vor dem Zugriff durch Dritte schützen (bspw. in einem Passwortverwaltungstool wie KeePass ablegen).
[caption id="attachment_12744" align="aligncenter" width="450"]
Den eben erstellten Bot könnt ihr nun in eine bestehende oder neu erstellte Gruppe hinzufügen.
[caption id="attachment_12673" align="aligncenter" width="275"][caption id="attachment_12658" align="aligncenter" width="267"]
Neben eurem Bot müsst ihr auch getidsbot übergangsweise in eure Gruppe einladen. Dieser gibt uns einige Infos aus, darunter die für uns relevante chat-id.
[caption id="attachment_12665" align="aligncenter" width="350"][caption id="attachment_12669" align="aligncenter" width="350"]
Diese chat-id muss ebenfalls abgespeichert werden. Anschließend entfernt ihr getidsbot wieder aus der Gruppe.
Alternativ zu einer Gruppe könnt ihr auch einen Kanal verwenden, indem ihr in diesem einen User/Bot als Admin hinzufügt. Vorteil bei dieser Variante ist, dass sich manche zusätzlichen Drittsysteme einfacher anbinden lassen. Allerdings müssen hierfür auch gewisse Voraussetzungen gegeben sein. Dies im Detail zu erläutern würde jedoch den Rahmen dieses Beitrags sprengen.
Nachdem ihr im ersten Schritt einen Telegram-Bot erstellt habt, müsst ihr nun, sofern noch nicht geschehen, einen sogenannten „Notification channel“ in Grafana einrichten. In diesem müsst ihr die im vorherigen Schritt generierten Zugangsdaten einmalig hinterlegen. Dem Channel lassen sich anschließend verschiedenen Alerts zuordnen. Hierzu den folgenden Menüpunkt auswählen: Alerting/Notification channels
[caption id="attachment_12300" align="aligncenter" width="243"]
Nach Klick auf „New Channel“ könnt ihr in der sich öffnenden Ansicht frei einen Namen für diesen Benachrichtigungskanal vergeben. Gut zu wissen an dieser Stelle: Nutzen mehrere dieselbe Grafana-Instanz, kann jeder innerhalb dieser die Benachrichtigungskanäle der anderen Nutzer sehen. In diesem Fall empfehlen wir euch einen besonders aussagekräftigen und klaren Namen für euren Channel. Nach Auswahl von „Telegram“ als Type müsst ihr den API-token und die chat-id aus Schritt 1 einfügen. Mithilfe des Test-Buttons kann kontrolliert werden, ob alles richtig hinterlegt ist – wenn alles passt, taucht eine Testnachricht im Telegram-Channel auf.
[caption id="attachment_12677" align="aligncenter" width="650"][caption id="attachment_12681" align="aligncenter" width="493"]
Der Notification channel wird anschließend über den Save-Button gesichert.
Über den eben angelegten Notification channel möchten wir nun einen Alert beim Eintreten eines definierten Zustands ausgeben. In diesem Beispiel möchten wir informiert werden, wenn der Türstatus unseres Strips Multi-Sensors meldet, dass die Tür geöffnet bzw. wieder geschlossen wurde. Hierfür benötigen wir das passende Panel aus unserem Zeitverlaufs-Dashboard, in diesem Fall „Türstatus – Multisensor“. Kleiner Tipp: In Dashboards/Panels mit lediglich aktuellen Werten lassen sich leider keine Alerts einrichten. Dies geht nur in Dashboards/Panels mit Zeitverlaufswerten.
[caption id="attachment_12306" align="aligncenter" width="1303"]
Im Diagramm wird eine geöffnete Tür als „0“, eine geschlossene Tür als „1“ dargestellt. Dieser Zustand soll nun mithilfe unseres Alarms überwacht werden: Ist der Status kleiner als 1 möchten wir alarmiert werden (Tür geöffnet), ist er größer als 0 bzw. 1 soll eine Entwarnung gesendet werden.
[caption id="attachment_12308" align="aligncenter" width="382"]
Um den Alarm zu hinterlegen, klickt man wie im obigen Screenshot zu sehen zunächst auf die Panelbezeichnung und wählt im Dropdown-Menü anschließend „Edit“ aus. Dort sind folgende Schritte durchzuführen (s. Screenshot unten):
Nun ist der Beispiel-Alert vollständig konfiguriert und es gilt lediglich noch den Klick auf „Save“ oben rechts nicht zu vergessen.
[caption id="attachment_12310" align="alignleft" width="294"]
Analog zu diesem Vorgehen kann eine Vielzahl an weiteren Alerts für verschiedenste Zustände eingerichtet werden. Detailliertere Informationen und Beispiele sind hierzu auch in diversen Internetforen zu finden. Zudem stehen neben Telegram noch weitere Dienste für das Einrichten von Alarmbenachrichtigungen zur Verfügung, wie z. B. E-Mail, Google Hangouts, HipChat, LINE, Microsoft Teams, Slack oder webhook.
Habt ihr selbst bereits Alerts in Grafana eingerichtet? Wenn ja, welchen Dienst verwendet ihr und warum? Oder zu welchem Dienst würdet Ihr euch einen weiteren Artikel wünschen? Ab in die Kommentare damit ;-)
COOKIES: