Aller au contenu

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"
cd /opt/uptime-kuma
docker compose up -d
docker compose logs -f uptime-kuma

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

cd /opt/uptime-kuma
docker compose pull
docker compose up -d
docker compose logs -f uptime-kuma

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.

Références