Le monitoring sans notifications est inutile : si personne n’est alerté quand un service tombe, autant ne rien surveiller. Uptime Kuma supporte 90+ canaux de notifications natifs en 2026 (informations vérifiées en avril 2026, susceptibles d’évoluer). Voici les configurations les plus utiles pour PME africaines : Discord, Telegram, WhatsApp Business.
Voir notre guide Uptime Kuma complet.
Discord (le plus simple)
- Créer un serveur Discord ou utiliser existant
- Channel « #alerts » → Settings → Integrations → Webhooks → New Webhook → copier URL
- Uptime Kuma → Settings → Notifications → Setup Notification
- Type : Discord
- Webhook URL : coller l’URL Discord
- Custom username : « Uptime Kuma »
- Test → Save
Quand un monitor tombe, message instantané dans #alerts avec couleur rouge, détails du monitor, lien vers Uptime Kuma.
Telegram
- Telegram → @BotFather → /newbot → suivre instructions → copier le Token bot
- Démarrer une conversation avec votre nouveau bot (envoyer un message)
- Récupérer Chat ID :
https://api.telegram.org/bot{TOKEN}/getUpdates→ trouver « chat »:{« id »: …} - Uptime Kuma → Notifications → Setup Notification → Telegram
- Bot Token : coller
- Chat ID : coller
- Test → Save
Pour un groupe Telegram : ajouter le bot au groupe, récupérer le Chat ID du groupe (négatif, ex -100123456789).
WhatsApp Business via Twilio
- Compte Twilio → activer WhatsApp Business sandbox (gratuit) ou production
- Récupérer Account SID, Auth Token, From WhatsApp number
- Uptime Kuma → Notifications → Twilio (mode WhatsApp)
- Configurer From:
whatsapp:+14155238886(sandbox) ou votre numéro - To:
whatsapp:+221XXXXXXXXX - Test → Save
Production WhatsApp Business demande validation Meta (template message approuvé). Pour usage interne, sandbox suffit.
Email SMTP
Brevo (300 emails/jour gratuits) :
SMTP host : smtp-relay.brevo.com
Port : 587
Username : votre-login@smtp-brevo.com
Password : SMTP key
TLS : STARTTLS
From : alert@exemple.sn
To : admin@exemple.sn
SMS via Twilio (pour alertes critiques)
Pour les alertes vraiment critiques (paiement bloqué, prod down), envoyer SMS au admin garantit notification même offline messageries :
- Twilio → SMS : Account SID, Auth Token, From number Twilio
- To : votre numéro +221
- Message format : court
Coût ~0,07-0,10 USD par SMS vers Sénégal/CI. À utiliser uniquement pour critique.
Stratégie multi-canaux
Configuration recommandée pour une PME :
- Tous les monitors → Discord channel #alerts (information)
- Monitors critiques (paiement, login, DB) → Telegram + Discord
- Production down après 5 min → SMS au CTO + email tout le monde
- Maintenance prévue → status page seulement
Configurer dans chaque monitor : « Apply notifications » → cocher les canaux pertinents.
Adaptation Afrique de l’Ouest
Pour le contexte ouest-africain, WhatsApp est l’outil de messagerie dominant. Privilégiez WhatsApp Business via Twilio pour les alertes équipes — vos collaborateurs voient et réagissent rapidement.
Erreurs fréquentes
| Erreur | Cause | Solution |
|---|---|---|
| Discord webhook 401 | URL invalide ou révoquée | Régénérer webhook côté Discord |
| Telegram bot ne répond pas | Bot pas démarré (/start) | Envoyer /start à votre bot |
| WhatsApp template rejeté | Pas approuvé Meta | Soumettre template ou rester sandbox |
| Spam alertes | Trop de Retries faibles | Augmenter Retries Before Notify |
Pour approfondir
Solution d’hébergement pour ce tutoriel
Hostinger accueille un site WordPress, un VPS Linux ou une boutique en ligne sans configuration complexe.
Lien d affiliation. Si vous achetez via ce lien, le blog reçoit une petite commission sans surcoût pour vous.
Étape 1 — Vérifier l’installation Uptime Kuma
On part du principe qu’Uptime Kuma 2.x tourne déjà dans Docker sur un VPS Hetzner ou Contabo. La version 2.0 sortie début 2026 introduit la gestion multi-utilisateurs et la déduplication d’alertes : si vous êtes encore en 1.23, mettez à jour avant de configurer les notifications, certains champs ont changé.
docker ps | grep uptime-kuma
docker exec uptime-kuma cat /app/package.json | grep version
# Si version 1.x, mise à jour
docker pull louislam/uptime-kuma:2
docker stop uptime-kuma && docker rm uptime-kuma
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:2
Connectez-vous sur https://status.votredomaine.com avec votre compte admin. Dans Settings > General, choisissez Africa/Dakar comme fuseau horaire, sinon les heures d’incident affichées dans Discord ou Telegram seront en UTC.
Étape 2 — Notification Discord via Webhook
Discord est l’option la plus rapide à mettre en place pour une équipe technique. Créez un canal dédié #alertes-prod, puis Server Settings > Integrations > Webhooks > New Webhook. Copiez l’URL générée.
# Dans Uptime Kuma : Settings > Notifications > Setup Notification
Notification Type: Discord
Friendly Name: Discord prod
Discord Webhook URL: https://discord.com/api/webhooks/123456/abcdef
Bot Display Name: UptimeBot
Prefix Custom Message: 🔴 ALERTE PROD
Cliquez sur Test, vous devez recevoir un message dans le canal Discord en moins de 5 secondes. Si rien n’arrive, vérifiez que le VPS peut joindre discord.com en HTTPS sortant : un firewall trop restrictif est la cause habituelle.
Étape 3 — Notification Telegram via Bot
Telegram brille pour les alertes mobiles : push immédiat, peu de friction, fonctionne même en zone à connexion 3G instable comme certains quartiers d’Abidjan ou Cotonou. Créez d’abord le bot via @BotFather dans Telegram.
# Conversation avec @BotFather
/newbot
Nom: ITSC Monitoring
Username: itsc_monitoring_bot
# Récupérez le token : 6789012345:AAFxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Ouvrez ensuite une conversation avec votre bot et envoyez /start. Récupérez votre Chat ID via https://api.telegram.org/bot<TOKEN>/getUpdates, le champ chat.id contient le numéro à reporter.
# Uptime Kuma > Settings > Notifications
Notification Type: Telegram
Bot Token: 6789012345:AAFxxxxxxxxx
Chat ID: 123456789
Send Silently: décoché pour les vraies alertes
Protect Content: coché pour empêcher le forward
Pour une équipe, créez un groupe Telegram, ajoutez le bot comme administrateur, et utilisez le Chat ID négatif du groupe. Toute l’équipe d’astreinte reçoit alors les alertes simultanément.
Étape 4 — Notification WhatsApp via API Cloud Meta
WhatsApp est l’outil de communication par défaut au Sénégal, en Côte d’Ivoire et au Bénin : envoyer une alerte critique sur le canal habituel d’une équipe maximise la réactivité. Depuis 2024, l’API Cloud officielle de Meta permet d’envoyer des messages programmatiques pour 0 USD jusqu’à 1 000 conversations service par mois (note : ces tarifs changent au 1er avril 2026, vérifiez sur la page officielle).
# Pré-requis : WhatsApp Business Platform Cloud API Graph v25.0
# 1. Créer une app Meta Business
# 2. Ajouter le produit WhatsApp
# 3. Récupérer Phone Number ID et Permanent Access Token
# Test direct via curl
curl -X POST "https://graph.facebook.com/v25.0/$PHONE_ID/messages" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{
"messaging_product":"whatsapp",
"to":"221771234567",
"type":"template",
"template":{"name":"hello_world","language":{"code":"en_US"}}
}'
Uptime Kuma 2.x n’a pas de connecteur WhatsApp natif, on passe donc par le type Webhook qui appelle un petit relais Node.js. Le relais formate l’alerte en message texte et l’envoie via Graph API.
Étape 5 — Relais Webhook → WhatsApp en Node.js
Le relais tient en 30 lignes. On l’héberge soit sur le même VPS, soit sur un Cloudflare Worker gratuit (100 000 requêtes/jour). La version Worker est plus fiable car indépendante du serveur surveillé.
// worker.js — Cloudflare Worker
export default {
async fetch(req, env) {
const data = await req.json();
const status = data.heartbeat?.status === 1 ? "✅ UP" : "🔴 DOWN";
const body = `${status} — ${data.monitor?.name}\n${data.msg}`;
await fetch(`https://graph.facebook.com/v25.0/${env.PHONE_ID}/messages`, {
method: "POST",
headers: {
"Authorization": `Bearer ${env.WA_TOKEN}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
messaging_product: "whatsapp",
to: env.RECIPIENT,
type: "text",
text: { body }
})
});
return new Response("ok");
}
};
Déployez avec wrangler deploy, récupérez l’URL https://uptime-wa.votre-compte.workers.dev, et collez-la dans Uptime Kuma > Notifications > Webhook. Sélectionnez Content Type JSON. Test en simulant une alerte : vous recevez le message WhatsApp en moins de 10 secondes.
Étape 6 — Escalade : Discord d’abord, WhatsApp si toujours down
Toutes les alertes ne méritent pas le même canal. Une page lente à 03h du matin n’a pas besoin de réveiller l’astreinte sur WhatsApp. La règle pratique : Discord pour toute alerte, Telegram après 5 minutes de panne continue, WhatsApp après 15 minutes ou pour les services critiques uniquement.
# Sur chaque monitor > Notifications
Discord prod: coché (toutes alertes)
Telegram astreinte: coché uniquement pour monitors critiques (DB, API paiement)
WhatsApp astreinte: coché uniquement DB + API paiement
# Réglage Retries
Retries: 3
Heartbeat Retry Interval: 60 secondes
# Une alerte Discord part après 3 minutes de panne réelle
Pour l’escalade temporelle vraie (WhatsApp seulement après 15 minutes), créez deux monitors HTTP sur la même URL : un avec retries=3 (alerte Discord), un avec retries=15 (alerte WhatsApp). Les deux pingent en parallèle, le second envoie une alerte uniquement si la panne dure vraiment.
Étape 7 — Page de statut publique pour vos clients
Une page de statut publique réduit drastiquement les tickets support pendant un incident : le client la consulte, voit « panne en cours, ETA 30 min », et n’écrit pas un email. Uptime Kuma intègre cette fonctionnalité nativement.
# Status Pages > Add New Status Page
Slug: prod
Name: Statut Production ITSC
Theme: Auto (clair/sombre)
Domain Names: status.votredomaine.com # CNAME chez votre registrar
Show Powered By: décoché si vous voulez du white label
Ajoutez les monitors à afficher en groupes logiques : « API publique », « Base de données », « Sites clients ». Mettez à jour la description quand un incident survient pour communiquer la cause connue, sinon les utilisateurs supposent le pire et paniquent.
Étape 8 — Surveiller un certificat SSL avant expiration
Les expirations de certificat sont la première cause de panne évitable des sites WordPress hébergés chez des prestataires qui ne renouvellent pas Let’s Encrypt automatiquement. Uptime Kuma suit la date d’expiration de chaque cible HTTPS et envoie une alerte 30 jours avant.
# Sur un monitor HTTPS > Settings
Certificate Expiry Notification: coché
# Settings > Notifications > Notification globale TLS Warning
# Réglage : alerte 30, 14, 7, 1 jour avant expiration
Pour un parc de 50 sites clients en réseau d’hébergeur partagé à Dakar, cette seule fonctionnalité a évité 4 incidents publics en 2025 selon nos retours d’utilisateurs. Coût zéro, valeur immense.
Étape 9 — Sauvegarder la configuration Uptime Kuma
Toute la configuration (monitors, notifications, identifiants chiffrés, page de statut) tient dans un seul fichier SQLite. La sauvegarde est triviale, mais souvent oubliée jusqu’au crash du VPS.
docker stop uptime-kuma
docker run --rm -v uptime-kuma:/data -v $(pwd):/backup alpine tar czf /backup/uptime-kuma-$(date +%F).tgz /data
docker start uptime-kuma
restic backup uptime-kuma-*.tgz --tag uptime
Planifiez ce script chaque dimanche à 02:00. La fenêtre d’arrêt dure 10 secondes, négligeable même pour un service de monitoring : aucun client ne consulte un dashboard à 02:00 du dimanche matin.
Étape 10 — Coût et alternatives SaaS
Uptime Kuma auto-hébergé sur un VPS Hetzner CX11 (4,75 EUR ≈ 3 116 FCFA/mois) surveille 100 monitors sans broncher. Comparativement, UptimeRobot Pro démarre à 8 USD soit ≈ 5 247 FCFA/mois pour 50 monitors, BetterStack à 25 USD soit ≈ 16 399 FCFA/mois.
L’auto-hébergement gagne dès le premier mois pour un freelance ou une agence. Vous gagnez en plus la confidentialité totale des URLs internes surveillées (intranet client, environnements de staging) qui ne fuitent jamais vers un fournisseur tiers américain. Voir aussi notre installation Uptime Kuma sur VPS et notre tutoriel WhatsApp Cloud API.
Étape 11 — Maintenance planifiée pour éviter les fausses alertes
Une mise à jour WordPress, un redéploiement Coolify ou un reboot mensuel du VPS doit être annoncé à Uptime Kuma, sinon les monitors hurlent à tort et l’équipe désensibilisée finit par ignorer les vraies alertes. C’est l’effet « cri du loup » en astreinte technique.
# Maintenance > Add new maintenance
Title: Mise à jour Coolify mensuelle
Description: Reboot VPS prod, ETA 5 minutes
Strategy: Single Maintenance Window
Date Range: 2026-05-15 02:00 → 2026-05-15 02:15
Affected Monitors: tous les monitors prod
Status Page: cocher pour informer aussi les clients
Pendant la fenêtre, les monitors continuent de mesurer mais aucune notification n’est envoyée. La page de statut publique affiche un bandeau jaune « Maintenance en cours » qui rassure les clients pro-actifs.
Étape 12 — Détection de défaillance partielle (status code spécifique)
Un site qui répond 200 OK mais affiche « Erreur 500 » dans le HTML reste vert pour un monitor HTTP basique. Pour détecter ce genre de panne sournoise, configurez un monitor de type Keyword qui vérifie qu’un mot précis figure (ou ne figure pas) dans la réponse.
# Monitor Type: HTTP(s) - Keyword
URL: https://votresite.com
Keyword: "Connexion à la base" # texte présent UNIQUEMENT en cas d'erreur
Invert Keyword: coché (alerte si présent)
Method: GET
Heartbeat Interval: 60 secondes
Max Retries: 2
Pour une boutique WooCommerce, un keyword pertinent est « Ajouter au panier » présent en page produit : si le monitor ne le trouve pas, c’est que la boutique est cassée même si la home répond 200. Combinez 3 à 5 monitors keyword sur les pages stratégiques pour une couverture honnête.