Supervision Uptime Kuma
Mise à jour : 2026-10-19 | Relu intégralement : 2026-10-19
Uptime Kuma est un outil open source de surveillance de disponibilité, auto-hébergé. Il interroge régulièrement vos services (sites web, API, serveurs) pour vérifier qu'ils répondent, alerte en cas de panne, et publie une page de statut présentable à vos utilisateurs.
C'est l'équivalent auto-hébergé de services comme UptimeRobot. Il surveille aussi bien le HTTP(S), le TCP, le ping, les enregistrements DNS, que l'expiration des certificats TLS.
Versions visées
- Uptime Kuma 2.x (stable depuis 2026), image Docker
louislam/uptime-kuma:2 - Docker Engine avec Compose v2
Ce qu'il surveille, et ce qu'il ne voit pas
Uptime Kuma répond à une question simple : "ce service répond-il ?". C'est un complément à la supervision des ressources (CPU, mémoire, disque), qui relève d'un autre outil comme Beszel.
Une sonde au vert ne garantit pas que tout fonctionne
Une sonde HTTP vérifie que le serveur renvoie un code de succès (2xx ou 3xx). Mais une application peut répondre 200 OK tout en étant dégradée : base de données injoignable, tâche de fond arrêtée... La sonde reste au vert alors que le service est inutilisable.
Analogie : la sonde vérifie que la lumière est allumée dans la boutique, pas qu'il y a quelqu'un derrière le comptoir. Pour aller plus loin, une sonde de type "mot-clé" peut vérifier qu'un texte précis apparaît dans la page, signe que l'application fonctionne vraiment.
Installer Uptime Kuma
Uptime Kuma se déploie très simplement avec Docker. Créez un dossier, par exemple /opt/uptime-kuma, puis un fichier compose.yml :
services:
uptime-kuma:
image: louislam/uptime-kuma:2
container_name: uptime-kuma
restart: unless-stopped
volumes:
- ./data:/app/data
ports:
- "3001:3001"
Ouvrez ensuite http://adresse-du-serveur:3001 : un assistant vous invite à créer le compte administrateur.
Épinglez la version majeure
L'image est épinglée sur :2, et non :latest. Attention : sur Uptime Kuma, le tag latest pointe encore vers l'ancienne version 1, qui n'est plus maintenue. Utilisez toujours :2 pour la version 2 stable. Vous recevez ainsi les correctifs de la branche 2, mais le passage à une future version 3 restera un acte volontaire et testé.
Derrière un reverse proxy (recommandé)
En production, on ne publie pas le port 3001 sur Internet : on place Uptime Kuma derrière un reverse proxy (Traefik, Nginx...) qui gère le HTTPS. Le service écoute alors sur le réseau interne, et le proxy route un domaine (ex. status.domaine.fr) vers adresse-interne:3001.
Activez le proxy de confiance
Derrière un proxy, Uptime Kuma voit toutes les requêtes arriver depuis l'adresse du proxy. Pour qu'il connaisse la vraie adresse des visiteurs, activez Paramètres > Proxy inverse > Proxy de confiance. Sans cela, les statistiques et les journaux n'affichent que l'adresse interne du proxy.
Réglages après installation
Dans Paramètres > Général :
- Fuseau horaire : réglez-le (ex.
Europe/Paris), sinon les horaires des incidents seront décalés. - Indexation par les moteurs de recherche : refusez-la. Une page de statut n'a pas vocation à apparaître dans Google.
Si vous publiez une page de statut (voir plus bas), réglez aussi la page d'accueil sur cette page de statut, pour que les visiteurs non connectés arrivent directement dessus plutôt que sur l'écran de connexion.
Comprendre le double usage de l'interface
C'est un point qui déroute souvent : Uptime Kuma n'a qu'un seul frontend. La même URL sert à la fois :
- la page de statut publique, accessible à tous sans connexion;
- l'interface d'administration (ajout de sondes, réglages, alertes), protégée par le login.
L'authentification est donc la seule barrière entre le public et l'administration. Protégez bien le compte administrateur (mot de passe fort, et idéalement l'authentification à deux facteurs proposée dans les paramètres).
Créer une sonde : les bons réglages
À la création d'une sonde (monitor), les valeurs par défaut ne sont pas idéales. Voici les réglages de référence que j'applique, avec leur raison.
| Réglage | Valeur | Pourquoi |
|---|---|---|
| Type de sonde | HTTP(s) | Vérifie qu'un service web répond |
| Intervalle de vérification | 60 s | Bon compromis entre réactivité et charge |
| Nouvelles tentatives (retries) | 3 | Filtre les micro-coupures : alerte après 3 échecs consécutifs, pas à la première hésitation |
| Intervalle entre tentatives | 60 s | Identique à l'intervalle nominal |
| Délai d'expiration (timeout) | 15 s | Un service qui met plus de 15 s à répondre est déjà hors service pour l'utilisateur |
| Renvoi de notification | 10 | Rappelle l'incident toutes les 10 vérifications tant qu'il dure |
| Certificat expiré | activé | Prévient avant l'expiration du certificat TLS |
Par défaut, Uptime Kuma fait 0 tentative (il alerte dès le premier échec) et impose un timeout élevé, ce qui génère de fausses alertes sur de simples ralentissements. Les valeurs ci-dessus rendent la surveillance fiable.
Le timeout se cumule avec les tentatives
Si une sonde a 3 tentatives et un timeout de 48 s, un service qui "pend" (au lieu de refuser franchement la connexion) consomme 48 s par tentative : l'alerte, annoncée pour 3 minutes, arrive en réalité au bout de 5 à 6 minutes. Avec un timeout de 15 s, le délai réel reste proche du délai théorique. Adaptez le nombre de tentatives à la criticité du service : moins pour un service critique (alerte plus rapide), plus pour un service secondaire (moins de bruit).
Les notifications
Uptime Kuma prévient par de nombreux canaux (mail, Slack, Discord, Telegram, webhook...).
1) Configurez un canal dans Paramètres > Notifications (ex. SMTP pour le mail).
2) Associez-le à vos sondes : soit à la création, soit en masse. Une notification non associée à une sonde ne sert à rien.
Testez le canal avec le bouton prévu, et provoquez un vrai incident (arrêtez un service surveillé) pour vérifier que l'alerte arrive bien.
Publier une page de statut
La page de statut présente l'état de vos services à vos utilisateurs, sans qu'ils aient besoin d'un compte.
1) Pages de statut > Nouvelle page de statut.
2) Donnez-lui un nom et une adresse (slug), ajoutez les sondes à afficher.
3) Vous pouvez la personnaliser (logo, description) et choisir quelles informations montrer (historique, incidents).
C'est elle que vous partagez avec vos utilisateurs ou partenaires, et que vous pouvez définir comme page d'accueil.
Sauvegarder
Tout l'état d'Uptime Kuma (configuration, sondes, historique) tient dans le dossier data/. Sauvegardez ce dossier, idéalement conteneur arrêté pour une copie parfaitement cohérente :
cd /opt/uptime-kuma
docker compose stop
tar -czf uptime-kuma-$(date +%F).tar.gz data/
docker compose start
Si la VM qui héberge Uptime Kuma est elle-même sauvegardée (snapshot PBS par exemple), ce dossier est déjà couvert.
Mettre à jour
Grâce au tag :2, pull récupère les mises à jour mineures de la branche 2 (nouvelles fonctions, correctifs). Une montée vers une future version majeure (3.x) nécessitera de changer le tag et de lire le guide de migration au préalable : le passage de la v1 à la v2 comportait des changements de rupture et migrait la base de données au premier démarrage.
Snapshot avant une version majeure
Avant un changement de version majeure, faites une sauvegarde du dossier data/ (ou un snapshot de la VM). La migration de la base de données n'est pas réversible.
Surveiller la machine
Uptime Kuma surveille les autres services, mais pas lui-même ni la machine qui l'héberge. Complétez avec un agent de supervision des ressources (Beszel, par exemple) pour le CPU, la mémoire et le disque de cette VM. Et posez-vous la question : qui surveille le surveillant ? Un second point de contrôle, même minimal, évite qu'une panne d'Uptime Kuma ne passe inaperçue.