Zum Inhalt springen
Benachrichtigungen

Benachrichtigungen

Composia sendet Benachrichtigungen für Aufgabenergebnisse, Backup-Ereignisse, Image-Updates und Node-Statusänderungen. Drei Benachrichtigungskanäle werden unterstützt: Alertmanager, SMTP und Telegram.

Konfiguration

Alle Kanäle werden in der Controller-Konfiguration unter notifications konfiguriert:

controller:
  notifications:
    alertmanager:
      enabled: true
      listen_path: "/api/v1/alerts"
    smtp:
      enabled: true
      host: "smtp.example.com"
      port: 587
      encryption: starttls
      username: "alerts@example.com"
      password: "REPLACE"
      from: "alerts@example.com"
      to:
        - "admin@example.com"
      on:
        - task_failed
        - backup_failed
      task_sources:
        - web
        - cli
    telegram:
      enabled: true
      bot_token: "REPLACE"
      chat_id: "REPLACE"
      on:
        - task_completed

Ereignistypen

Die folgenden Benachrichtigungsereignistypen sind verfügbar:

EreignisAuslöser
task_failedEine Aufgabe endet mit Status failed.
task_cancelledEine Aufgabe wird vor Abschluss abgebrochen.
task_completedEine Aufgabe wird erfolgreich abgeschlossen.
task_awaiting_confirmationEine Migrationsaufgabe erreicht den Bestätigungsschritt.
backup_completedEine Backup-Aufgabe oder ein geplantes Backup wird erfolgreich abgeschlossen.
backup_failedEine Backup-Aufgabe oder ein Schritt schlägt fehl.
image_update_availableEine Image-Prüfung entdeckt eine neue Version.
image_update_appliedEin Image-Update wird angewendet.
node_offlineEin Node sendet keine Heartbeats mehr.
node_onlineEin zuvor offline Node sendet wieder Heartbeats.
alertmanager_alertEine Alertmanager-Benachrichtigung wird empfangen, wenn der Controller als Alertmanager-Webhook-Empfänger konfiguriert ist.

Jeder Kanal kann mit der on-Liste filtern, welche Ereignistypen er behandeln soll. Eine leere on-Liste liefert alle Ereignistypen.

Aufgabenquellenfilter

SMTP- und Telegram-Kanäle unterstützen die Filterung nach der Quelle, die eine Aufgabe ausgelöst hat:

QuelleBeschreibung
webAktionen, die über die Web-UI ausgelöst wurden.
cliAktionen, die über die CLI ausgelöst wurden.
othersAndere Quellen.
scheduleGeplante Aufgaben (Backups, Wartung).
systemSystemgenerierte Aufgaben.
auto_deployAufgaben, die durch Auto-Deploy-Trigger generiert wurden.

Wenn task_sources leer ist, werden Benachrichtigungen für alle Quelltypen gesendet.

Alertmanager

Der Controller betreibt einen eingebetteten Alertmanager-Webhook-Empfänger. Wenn aktiviert, lauscht der Empfänger auf dem konfigurierten Pfad:

alertmanager:
  enabled: true
  listen_path: "/api/v1/alerts"
SchlüsselTypBeschreibung
enabledboolStandardmäßig aktiviert, wenn der Abschnitt existiert.
listen_pathstringHTTP-Pfad zum Empfangen von Alertmanager-Webhooks. Standardmäßig /api/v1/alerts. Muss mit / beginnen und darf keine Leerzeichen enthalten.

Richte deine Alertmanager-Instanz mit dieser Webhook-URL auf die Adresse des Controllers aus. Benachrichtigungen werden gemäß ihren Ereignisfiltern an konfigurierte Benachrichtigungskanäle weitergeleitet.

SMTP

SMTP liefert Benachrichtigungen per E-Mail:

SchlüsselTypErforderlich wenn aktiviertBeschreibung
enabledboolNeinStandardmäßig aktiviert, wenn der Abschnitt existiert.
hoststringJaSMTP-Server-Hostname.
portintJaSMTP-Port. Muss zwischen 1 und 65535 liegen.
encryptionstringNeinnone, starttls oder ssl_tls. Standardmäßig starttls.
usernamestringNeinSMTP-Authentifizierungs-Benutzername.
passwordstringNeinSMTP-Passwort.
password_filestringNeinPasswort aus einer Datei lesen.
fromstringJaAbsenderadresse.
to[]stringJaEmpfängeradressen.
on[]stringNeinEreignistypen, für die benachrichtigt werden soll.
task_sources[]stringNeinAufgabenquellenfilter.

Telegram

Telegram sendet Benachrichtigungen über einen Bot an einen Chat:

SchlüsselTypErforderlich wenn aktiviertBeschreibung
enabledboolNeinStandardmäßig aktiviert, wenn der Abschnitt existiert.
bot_tokenstringJaTelegram-Bot-Token von BotFather.
bot_token_filestringNeinBot-Token aus einer Datei lesen.
chat_idstringJaZiel-Chat-ID.
on[]stringNeinEreignistypen, für die benachrichtigt werden soll.
task_sources[]stringNeinAufgabenquellenfilter.
Zuletzt aktualisiert am • Renovate Bot