Aller au contenu
Notifications

Notifications

Composia envoie des notifications pour les résultats de tâches, les événements de sauvegarde, les mises à jour d’images et les changements d’état des nœuds. Trois canaux de notification sont pris en charge : Alertmanager, SMTP et Telegram.

Configuration

Tous les canaux sont configurés dans la configuration du contrôleur sous notifications :

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

Types d’événements

Les types d’événements de notification suivants sont disponibles :

ÉvénementDéclencheur
task_failedUne tâche se termine avec le statut failed.
task_cancelledUne tâche est annulée avant la fin.
task_completedUne tâche se termine avec succès.
task_awaiting_confirmationUne tâche de migration atteint l’étape de confirmation.
backup_completedUne tâche de sauvegarde ou une sauvegarde planifiée se termine avec succès.
backup_failedUne tâche ou une étape de sauvegarde échoue.
image_update_availableUne vérification d’image découvre une nouvelle version.
image_update_appliedUne mise à jour d’image est appliquée.
node_offlineUn nœud cesse d’envoyer des heartbeats.
node_onlineUn nœud précédemment hors ligne reprend les heartbeats.
alertmanager_alertUne alerte Alertmanager est reçue lorsque le contrôleur est configuré comme récepteur de webhook Alertmanager.

Chaque canal peut filtrer les types d’événements qu’il doit traiter en utilisant la liste on. Une liste on vide délivre tous les types d’événements.

Filtres de source de tâche

Les canaux SMTP et Telegram prennent en charge le filtrage par la source qui a déclenché une tâche :

SourceDescription
webActions déclenchées via l’interface web.
cliActions déclenchées via la CLI.
othersAutres sources.
scheduleTâches planifiées (sauvegardes, maintenance).
systemTâches générées par le système.
auto_deployTâches générées par les déclencheurs de déploiement automatique.

Lorsque task_sources est vide, les notifications sont envoyées pour tous les types de sources.

Alertmanager

Le contrôleur exécute un récepteur de webhook Alertmanager intégré. Lorsqu’il est activé, le récepteur écoute sur le chemin configuré :

alertmanager:
  enabled: true
  listen_path: "/api/v1/alerts"
CléTypeDescription
enabledboolActivé par défaut lorsque la section existe.
listen_pathstringChemin HTTP pour recevoir les webhooks Alertmanager. Par défaut /api/v1/alerts. Doit commencer par / et ne pas contenir d’espaces.

Pointez votre instance Alertmanager vers l’adresse du contrôleur avec cette URL de webhook. Les alertes sont transmises aux canaux de notification configurés selon leurs filtres d’événements.

SMTP

SMTP délivre les notifications par e-mail :

CléTypeRequis si activéDescription
enabledboolNonActivé par défaut lorsque la section existe.
hoststringOuiNom d’hôte du serveur SMTP.
portintOuiPort SMTP. Doit être entre 1 et 65535.
encryptionstringNonnone, starttls ou ssl_tls. Par défaut starttls.
usernamestringNonNom d’utilisateur d’authentification SMTP.
passwordstringNonMot de passe SMTP.
password_filestringNonLire le mot de passe depuis un fichier.
fromstringOuiAdresse de l’expéditeur.
to[]stringOuiAdresses des destinataires.
on[]stringNonTypes d’événements pour lesquels notifier.
task_sources[]stringNonFiltres de source de tâche.

Telegram

Telegram envoie des notifications à une discussion via un bot :

CléTypeRequis si activéDescription
enabledboolNonActivé par défaut lorsque la section existe.
bot_tokenstringOuiJeton du bot Telegram depuis BotFather.
bot_token_filestringNonLire le jeton du bot depuis un fichier.
chat_idstringOuiID de la discussion cible.
on[]stringNonTypes d’événements pour lesquels notifier.
task_sources[]stringNonFiltres de source de tâche.
Dernière modification • Renovate Bot