Notification Channels¶
Ein Kanal ist das Ziel einer Benachrichtigung: wohin geht die Meldung und in welchem Format. Was über einen Kanal geht — welche Statusse und ob die Entwarnung dazugehört — stellst du nicht am Kanal ein, sondern in der jeweiligen Alert-Regel, pro Kanal und Stufe.
Kanäle verwaltest du unter Alerting → Kanäle. Die Liste zeigt Name, Typ, Tenant, Status und Erstellungsdatum; sie lässt sich durchsuchen, nach Tenant, Typ und Status (Aktiv · Deaktiviert · Zustellung fehlgeschlagen) filtern und blättern.
Kanal anlegen¶
Alerting → Kanäle → Neuer Kanal: erst den Kanaltyp wählen (Push aufs Smartphone steht oben als „Empfohlen"), dann konfigurieren. Für alle Typen gilt:
| Feld | Bedeutung |
|---|---|
| Name | Pflicht, erscheint zur Auswahl in Alert-Regeln |
| Tenant | nur beim Anlegen wählbar; Regeln dürfen nur Kanäle ihres eigenen Tenants nutzen |
Mehr gibt es kanalübergreifend nicht — keinen Severity-Filter, keine Drosselung, keinen Entwarnungs-Schalter. Das alles regelt die Alert-Regel.
Kanaltypen¶
| Typ | Felder |
|---|---|
| Push aufs Smartphone | Ziel-Benutzer (leer = alle Benutzer des Tenants) — siehe unten |
Empfänger-Email (eine Adresse) · Betreff-Prefix (Vorgabe [Vesana]) |
|
| Webhook | Webhook URL · Custom Headers |
| Slack | Webhook URL (Incoming Webhook) · Channel Override · Bot Name · Bot Icon |
| Microsoft Teams | Webhook URL (Incoming Webhook) · Title Prefix |
| Discord | Webhook URL · Bot Name · Avatar URL |
| Telegram | Bot Token (von @BotFather) · Chat ID (Chat, Gruppe oder Kanal) |
| Pushover | API Token · User/Group Key · Device · Sound |
| PagerDuty | Integration Key eines Service (Events API v2) — löst PagerDuty-Incidents aus |
| Opsgenie | API Key einer API-Integration · Schalter EU Instance |
| ntfy | Server URL (Vorgabe https://ntfy.sh) · Topic · Access Token für geschützte Topics |
| Mattermost | Webhook URL · Channel Override · Bot Name · Icon URL |
| Google Chat | Webhook URL eines Spaces |
Geheimnisse (Tokens, Keys) werden beim Bearbeiten maskiert angezeigt; leer lassen heißt „gespeicherten Wert behalten".
Chat-Kanäle einrichten (Discord, Slack, Teams, Mattermost, Google Chat)¶
Alle Chat-Kanäle laufen über einen eingehenden Webhook des jeweiligen Dienstes — Vesana braucht dort keine App-Installation und keine Berechtigungen:
- Discord-Benachrichtigungen einrichten: im Discord-Server → Kanal → Bearbeiten → Integrationen → Webhooks → Neuer Webhook, URL kopieren. In Vesana Alerting → Kanäle → Neuer Kanal → Discord, URL einfügen; Bot-Name und Avatar-URL sind optional und bestimmen nur, wie die Meldung im Kanal auftritt.
- Slack: Incoming Webhook der Slack-App anlegen, URL einfügen. Ein Channel-Override schickt in einen anderen Kanal als den, für den der Webhook angelegt wurde.
- Microsoft Teams: eingehender Webhook des Kanals; der Titel-Prefix stellt sich der Meldung voran.
- Mattermost und Google Chat: ebenfalls Webhook-URL des Kanals bzw. des Spaces.
Danach Test senden in der Kanal-Zeile — die Meldung erscheint als Testmeldung im Chat. Kommt nichts an, steht der Fehlertext des Dienstes direkt am Kanal (falsche oder gelöschte Webhook-URL ist der häufigste Fall).
Push aufs Smartphone¶
Push kommt ohne App Store und ohne Betreiber-Konfiguration aus: Die Instanz erzeugt ihre Push-Schlüssel selbst, es gibt nichts einzurichten. Voraussetzung ist HTTPS mit gültigem Zertifikat — ohne erlaubt kein Browser Push.
- Jeder Nutzer aktiviert Push selbst, pro Gerät: Einstellungen → Push → „Push auf diesem Gerät", mit „Testmeldung senden" zum Nachprüfen. Auf iPhone und iPad muss Vesana vorher zum Home-Bildschirm hinzugefügt werden. Details: Vesana auf dem Smartphone.
- Unter „Deine angemeldeten Geräte" kann jeder Nutzer von jedem seiner Geräte aus ein Gerät stummschalten (bleibt angemeldet, bekommt nichts; jederzeit umkehrbar) oder endgültig abmelden — neu anmelden geht nur am Gerät selbst.
- Im Kanal wählst du nur die Ziel-Benutzer; leer = alle Benutzer des Tenants. Gesendet wird an alle aktiven Geräte dieser Benutzer.
- Admins sehen in der Kanal-Liste, wie viele Geräte angemeldet sind (Benutzer, Gerätename, zuletzt genutzt) und können einzelne Geräte entfernen.
- Der Link in der Push-Meldung öffnet den betroffenen Check direkt in der installierten App.
Der frühere Weg über eine eigene Android-App und ein Firebase-Projekt entfällt ersatzlos. Wer die alte App genutzt hat, öffnet Vesana einmal im Browser, installiert es und aktiviert Push neu.
E-Mail¶
Der Kanal hat genau eine Empfängeradresse; für mehrere Empfänger legst du mehrere Kanäle an oder verwendest einen Verteiler. Absender und Mailserver stellst du zentral ein unter Admin → Benachrichtigungen → E-Mail & Meldungen — dort stehen auch die Sprache der Benachrichtigungen (Deutsch oder Englisch, instanzweit für alle Kanäle; Status-Begriffe wie CRITICAL bleiben immer englisch) und die Zeitzone der Benachrichtigungen: Uhrzeiten in Meldungen („Seit 10:53 CEST") werden in dieser Zeitzone angegeben, immer mit Zonen-Kürzel; ohne Einstellung gilt UTC. Die Uhrzeit ist der Beginn des Problems, nicht der Versandzeitpunkt. Details: SMTP.
Ohne konfigurierten Mailserver meldet der Kanal-Test „SMTP not configured".
Webhook¶
Vesana schickt einen POST mit JSON-Body an die URL — unter anderem Host-Name und -IP, Service-Name, Status und vorheriger Status, Meldungstext, Zeitpunkt, Tenant und Link in die Oberfläche. Details zum Payload: Webhooks.
Slack und Microsoft Teams¶
Beide per Incoming Webhook: die Webhook-URL des Ziel-Channels in den Kanal eintragen. Slack bekommt eine strukturierte Nachricht mit Status-Emoji und Button „View in Vesana", Teams eine Adaptive Card mit Status, Host, Service, Meldung und Link. Schritt-für-Schritt: Slack, Teams.
Einen Quittier-Knopf in der Nachricht gibt es nicht — quittiert wird in der Vesana-Oberfläche, zu der der Link springt.
Aktiv und Deaktiviert¶
Der Schalter steht in der Kanal-Zeile (Kontextmenü oder Aktions-Symbol) und in der Alerting-Übersicht. Ein deaktivierter Kanal bekommt nichts; Regeln, die ihn enthalten, senden über ihre übrigen Kanäle weiter.
Vesana schaltet Kanäle nie von selbst ab. Schlägt die Zustellung fehl, zeigt die Zeile „Aktiv (N Fehler)" mit dem letzten Fehlergrund, die Übersicht zählt ihn unter „Zustellung gestört", und der Filter „Zustellung fehlgeschlagen" listet ihn. Ein erfolgreicher Test setzt den Fehlerzähler zurück.
Test¶
Test senden in der Kanal-Zeile (oder direkt nach dem Anlegen) schickt eine als Test markierte Meldung an den Kanal und zeigt „Gesendet" oder den Fehlertext.
Beim Push-Kanal geht die Testmeldung an die Ziel-Benutzer des Kanals — genau dorthin, wohin auch ein echter Alarm ginge (leere Auswahl = alle Benutzer des Tenants). Die Antwort nennt die Ziel-Benutzer; ist dein eigenes Konto nicht darunter, sagt der Test das ausdrücklich: dein Handy bekommt über diesen Kanal nichts, egal wie der Test ausgeht.
Kommt nichts an, benennt der Test die Ursache im Klartext: kein Gerät angemeldet (mit dem Weg Einstellungen → Push), kein aktives Gerät (alle stummgeschaltet), Anmeldung abgelaufen (App deinstalliert oder Browserdaten gelöscht — wird automatisch aufgeräumt), Push-Dienst nicht erreichbar oder gedrosselt, oder ein Server-Problem mit den Push-Schlüsseln.
Ein grüner Test heißt nicht, dass dich Alarme erreichen
Bis v1.9.447 ging die Testmeldung an das eigene Konto. Zielte der Kanal auf einen anderen Benutzer, war der Test grün und jeder echte Alarm scheiterte still. Prüfe im Kanal-Dialog die Spalte mit den angemeldeten Geräten je Ziel-Benutzer: steht dort 0, erreicht dieser Kanal diesen Benutzer nicht.
Deep-Links¶
Jede Meldung enthält, wo möglich, einen Link direkt auf den betroffenen Check — die Host-Seite öffnet mit bereits aufgeklapptem Check-Detail. Ist der Check nicht eindeutig, springt der Link auf die Host-Seite bzw. die Fehlerübersicht. Voraussetzung ist die Server-URL unter Admin → Agents & Collectors → Agent-Verbindung; fehlt sie, fehlt der Link.
Betreff und Meldungsarten¶
Der Betreff nennt zuerst die Art der Meldung, dann Check, Host und Status — z. B. „Alarm: Disk /var auf srv01 ist CRITICAL", „Entwarnung: Disk /var auf srv01 ist wieder OK", „Alarm: 3 Probleme auf srv01", „Entwarnung: 5 Probleme auf 3 Hosts behoben". Weitere Arten: Update, Erinnerung, Eskalationsstufe, Host nicht erreichbar, Instabil (flappt), Wieder stabil, PROBEALARM, Test. E-Mails bekommen zusätzlich den Betreff-Prefix des Kanals. Was die Arten bedeuten: Wenn-Dann-Referenz.
Zustell-Journal¶
Jede Meldung wird pro Kanal in einem Zustell-Journal festgehalten, bevor sie gesendet wird. Schlägt die Zustellung fehl, wird sie mit wachsenden Abständen wiederholt (10 s, 30 s, 1 min, 2 min, 5 min, dann alle 10 min; bis zu acht Versuche). Erst danach gilt sie als fehlgeschlagen. Ein Neustart des Servers während einer laufenden Zustellung verliert nichts, und dieselbe Meldung wird nie doppelt verschickt.
Wo du das Journal siehst:
- Alerting → Aktive Alarme → Zustell-Protokoll: alle Zustellungen mit Zeit, Art, Host/Service, Kanal, Status und Fehler; Filter Alle · Zugestellt · Unterwegs · Fehlgeschlagen, blätterbar, mit Gesamtzahl.
- Check-Detail → Alarmierung → Letzte Zustellungen: die letzten zehn Zustellungen dieses Checks (bis v1.9.436 blieb dieser Abschnitt leer; behoben ab v1.9.437).
- Diagnose-Log, Tab „Alarm & Mail": Kategorie „Mail / Benachrichtigung" mit Kanal, Anlass (Alarm/Entwarnung/Test/SSL-Zertifikat), Betreff und Fehler — und Kategorie „Unterdrückt" mit dem Grund, warum eine Meldung nicht rausging (Downtime, Host nicht erreichbar, Abhängigkeit, Info-Modus, ACK, Regel deaktiviert). Siehe Diagnose-Log.
Rechte¶
Kanäle sehen: notifications.view (Operator und Viewer). Anlegen, Bearbeiten und Test: notifications.create bzw. notifications.edit — in den mitgelieferten Rollen ab Admin.
Audit¶
Anlegen, Ändern und Löschen eines Kanals sind im Audit-Log nachvollziehbar.
Anschluss¶
- Alert Rules — wann und über welche Kanäle gemeldet wird
- Vesana auf dem Smartphone — Installation und Push
- Webhooks — Payload im Detail