Canaux de notification
Envoyez les notifications d'alerte vers Discord, Slack, Telegram, Matrix, Ntfy, Gotify, SMTP, ou l'un des 26+ services pris en charge par Shoutrrr. Gérez les canaux depuis Settings > Notifications.
Watchflare envoie les notifications d’alerte et de résolution via un ou plusieurs canaux de notification, s’appuyant sur la bibliothèque Shoutrrr. Chaque canal est une URL Shoutrrr ciblant une seule destination (un webhook Discord, un Incoming Webhook Slack, une boîte SMTP, un bot Telegram, etc.). Les canaux se gèrent depuis Settings > Notifications.
Remarque
Shoutrrr prend en charge 26+ services nativement. La liste ci-dessous présente les plus courants, avec des modèles d’URL à copier-coller. Pour la référence complète, voir la vue d’ensemble des services Shoutrrr.
Ajouter un canal
- Allez dans Settings > Notifications.
- Cliquez sur Add channel. Un tiroir s’ouvre sur le côté.
- Donnez un nom au canal (ex.
Ops Discord), collez une URL Shoutrrr, et sélectionnez une ou plusieurs catégories (voir Catégories de notification). - Cliquez sur Test pour vérifier que l’URL fonctionne sans rien enregistrer, puis cliquez sur Create.
Vous pouvez ajouter plusieurs canaux. Chaque canal activé reçoit, indépendamment, toutes les notifications des catégories auxquelles il est abonné.
Catégories de notification
Chaque canal s’abonne à une ou plusieurs catégories, choisies avec les cases à cocher du tiroir Add ou Edit. Un canal ne reçoit une notification que s’il est abonné à la catégorie de cette notification, vous pouvez donc acheminer les alertes de supervision vers une destination et les événements de sécurité du compte vers une autre.
| Catégorie | Ce qu’elle couvre |
|---|---|
| Alerts | Alertes de supervision et leurs résolutions : un hôte qui passe hors ligne, un seuil de métrique franchi, un incident qui se referme. |
| Transactional | Événements de compte et de sécurité : nouvelle connexion, changement de mot de passe, modifications de l’authentification à deux facteurs, et changements d’adresse e-mail. Voir Notifications transactionnelles. |
Un canal sans catégorie activée ne reçoit rien, et un canal peut s’abonner aux deux.
Remarque
Les e-mails envoyés via les paramètres dédiés Notifications e-mail (SMTP) portent le même sélecteur de catégorie : ils n’envoient des e-mails d’alerte que s’ils sont abonnés à Alerts, et des e-mails de compte et de sécurité uniquement s’ils sont abonnés à Transactional. Cet expéditeur SMTP est distinct d’un canal smtp:// ajouté ici, qui est traité comme n’importe quel autre canal Shoutrrr.
Notifications transactionnelles
Au-delà des alertes de supervision, le Hub vous notifie des changements de sécurité relatifs à votre propre compte. Ils appartiennent à la catégorie Transactional et sont envoyés à chaque canal et à l’expéditeur SMTP qui y est abonné.
Chacun des événements de compte suivants déclenche une notification :
| Événement | Quand il se déclenche | Détails inclus |
|---|---|---|
| New login | Une connexion réussie, y compris après un défi 2FA | Heure, adresse IP, appareil (user agent) |
| Password changed | Le mot de passe de votre compte est modifié | Heure |
| Two-factor enabled | Le 2FA est activé | Heure |
| Two-factor disabled | Le 2FA est désactivé | Heure |
| Email changed | L’e-mail de votre compte est modifié. Un avis part aussi vers l’adresse précédente | Heure, nouvelle adresse |
| Email confirmed | Envoyé à la nouvelle adresse une fois qu’elle devient l’e-mail actif | Heure |
Changer votre e-mail produit deux messages : un vers l’ancienne adresse, pour qu’un compte compromis ne puisse pas échanger l’adresse en silence sans être remarqué, et un vers la nouvelle adresse.
Remarque
Les notifications transactionnelles sont asynchrones et sans garantie de livraison. Elles ne bloquent jamais l’action qui les a déclenchées, et ne la font jamais échouer : si aucun canal ni expéditeur SMTP n’est abonné à Transactional, l’événement se poursuit simplement sans notification.
Attention
L’adresse IP dans une notification de connexion est l’IP client telle que vue par le Hub. Derrière un reverse proxy, elle n’est exacte que lorsque le proxy définit les en-têtes forwarded standard et que le Hub est configuré pour leur faire confiance. Voir Reverse proxy.
Formats d’URL
Discord
Format : discord://{token}@{webhook_id}
Construisez-la à partir d’une URL de webhook Discord du type https://discord.com/api/webhooks/{webhook_id}/{token} :
{webhook_id}est le premier segment après/webhooks/{token}est le segment après l’ID du webhook
Pour obtenir l’URL du webhook : ouvrez un salon Discord > Edit Channel > Integrations > Create Webhook > copiez l’URL du webhook.
Slack
Format : slack://hook:{A}-{B}-{C}@webhook
Construisez-la à partir d’une Incoming Webhook Slack du type https://hooks.slack.com/services/{A}/{B}/{C} : joignez les trois segments de chemin avec des tirets.
Pour obtenir l’URL du webhook : allez sur api.slack.com/apps, créez ou ouvrez une app, activez Incoming Webhooks, et ajoutez un webhook à votre espace de travail.
Telegram
Format : telegram://{bot_token}@telegram?chats=@{channel_or_chat_id}
Étape 1 : créer un bot et récupérer le token
- Ouvrez Telegram et écrivez à @BotFather.
- Envoyez
/newbotet suivez les consignes. - BotFather répond avec le token de votre bot (ex.
7123456789:AAF...).
Étape 2 : récupérer le chat ID
- Cherchez votre bot par son nom et envoyez-lui n’importe quel message. Le bot ne répondra pas, mais c’est ce message qui lie votre chat au bot.
- Ouvrez
https://api.telegram.org/bot{token}/getUpdatesdans un navigateur. - Trouvez
result[0].message.chat.iddans la réponse JSON.
Remarque
Pour un groupe, ajoutez le bot comme membre puis envoyez /start@{botname} dans le groupe avant d’appeler getUpdates. Par défaut, un bot Telegram ne reçoit que les commandes (messages qui commencent par /) dans les groupes. Le chat_id d’un groupe est un nombre négatif.
Matrix
Format : matrix://{user}:{password}@{homeserver}/?rooms={room_id}
Utilisez un compte Matrix dédié au Hub. Récupérez l’ID de salon dans les paramètres avancés du salon.
Ntfy
Format : ntfy://{username}:{password}@{host}/{topic}
Pour un topic public ntfy.sh sans authentification : ntfy://ntfy.sh/{topic}.
Gotify
Format : gotify://{host}/{token}
Générez un token d’application dans votre instance Gotify sous Apps > Create Application.
SMTP
Format : smtp://{user}:{password}@{host}:{port}/?fromAddress={from}&toAddresses={to}
Exemple pour Gmail (avec un mot de passe d’application) :
smtp://you@gmail.com:abcdefghijklmnop@smtp.gmail.com:587/?fromAddress=you@gmail.com&toAddresses=alerts@example.com
Pour plusieurs destinataires, séparez les toAddresses par des virgules.
Webhook générique
Format : generic://{host}{path} (ou generic+https://... pour forcer le HTTPS)
Le Hub envoie un POST avec un corps JSON contenant les champs title et message. Utilisez-le pour tout service que Shoutrrr ne prend pas en charge nativement.
Tester avant d’enregistrer
Le bouton Test dans le tiroir Add ou Edit envoie une notification unique en utilisant l’URL actuellement dans le formulaire, sans rien enregistrer. Utilisez-le pour vérifier que l’URL fonctionne avant de cliquer sur Create ou Save.
Le même bouton fonctionne aussi sur les canaux enregistrés : lorsque le champ URL est vide pendant l’édition, le test utilise l’URL stockée.
Remarque
Les tests sont limités à un par canal toutes les 5 secondes, avec un compte à rebours visible sur le bouton. Les brouillons partagent la même limite, indexée sur l’URL elle-même : tester deux URL différentes d’affilée n’est pas limité.
Gérer les canaux
| Action | Comment |
|---|---|
| Activer / désactiver | Basculez l’interrupteur à côté du canal |
| Modifier | Cliquez sur l’icône crayon. Le tiroir s’ouvre avec le nom actuel, les catégories, et un aperçu masqué de l’URL. Laissez le champ URL vide pour conserver la valeur stockée. |
| Supprimer | Cliquez sur l’icône poubelle et confirmez. L’action est irréversible. |
| Tester | Cliquez sur l’icône Send dans la ligne, ou sur le bouton Test dans le tiroir. Limité par canal. |
Remarque
Les URL des canaux sont chiffrées au repos avec NOTIFICATION_ENCRYPTION_KEY (voir Configuration) et jamais renvoyées en clair par l’API. Le Hub n’expose qu’une forme masquée (ex. discord://***).
Mise à niveau depuis v0.37 ou une version antérieure
La table webhook_endpoints des anciennes versions est supprimée pendant la mise à niveau. Le format d’URL était auparavant natif (par ex. l’URL complète du webhook Discord), mais Shoutrrr attend une forme compacte (discord://TOKEN@WEBHOOK_ID). Réajoutez vos destinations depuis Settings > Notifications après la mise à niveau.
La variable d’environnement SMTP_ENCRYPTION_KEY est renommée en NOTIFICATION_ENCRYPTION_KEY. Renommez-la dans votre .env avant de démarrer v0.38 ou une version ultérieure.
Étape suivante
Configurez les seuils d’alerte pour contrôler quand les notifications se déclenchent. Voir Règles d’alerte.