Uptime Kuma : monitoring de services auto-hébergé avec alertes
Savoir qu’un service est tombé avant vos utilisateurs, c’est la différence entre un incident géré et une découverte embarrassante. Uptime Kuma surveille vos endpoints — sites web, APIs, bases de données, services DNS — et vous alerte immédiatement via une trentaine de canaux de notification.
Ce que fait Uptime Kuma
Uptime Kuma est un outil de monitoring de disponibilité auto-hébergé. Il effectue des vérifications périodiques (HTTP, TCP, ping, DNS, bases de données…), calcule le taux de disponibilité, affiche un historique visuel, et envoie des alertes quand un service répond hors des paramètres attendus.
Il propose aussi des pages de statut publiques — une URL à partager avec vos clients ou utilisateurs pour afficher l’état de vos services en temps réel.
Installation avec Docker
# docker-compose.yml
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: uptime-kuma
volumes:
- uptime-kuma-data:/app/data
ports:
- "3001:3001"
restart: unless-stopped
volumes:
uptime-kuma-data:
docker compose up -d
# Interface disponible sur http://localhost:3001
Première connexion : créez un compte administrateur. Aucune base de données externe requise — SQLite embarqué.
Types de moniteurs
HTTP / HTTPS
Le plus courant : vérifie qu’une URL répond avec un code HTTP attendu.
URL : https://api.mon-service.com/health
Méthode : GET
Code HTTP : 200
Intervalle: 60 secondes
Timeout : 10 secondes
Options avancées :
- Corps de réponse — vérifier que la réponse contient une chaîne spécifique (
"status":"ok") - Headers — ajouter des headers d’authentification (Bearer token, API key)
- Certificat SSL — alerte si le certificat expire dans moins de N jours
- Redirections — suivre ou ignorer les redirections
TCP Port
Vérifie qu’un port est ouvert et accepte les connexions :
Hôte : db.mon-serveur.internal
Port : 5432
Utile pour surveiller PostgreSQL, MySQL, Redis, ou tout service TCP sans endpoint HTTP.
Ping (ICMP)
Simple vérification de disponibilité réseau :
Hôte : 192.168.1.1
DNS
Vérifie qu’un enregistrement DNS résout correctement :
Hôte : mon-site.com
Type : A
Valeur : 185.199.108.153
Détecte les hijackings DNS ou les propagations en cours.
Bases de données
Uptime Kuma supporte des connexions directes aux bases de données :
Type : PostgreSQL
Hôte : localhost
Port : 5432
Database : production
User : monitor_user
Password : ****
Query : SELECT 1
Utile pour vérifier que la base répond, pas seulement que le port est ouvert.
Docker Container
Si Uptime Kuma tourne sur le même hôte Docker :
Socket Docker : /var/run/docker.sock
Container : mon-api
Surveille l’état du container (running/stopped) directement.
Notifications
Uptime Kuma intègre plus de 30 canaux de notification.
Telegram
Bot Token : 123456789:AAF...
Chat ID : -1001234567890
Format du message reçu :
🔴 [DOWN] api.mon-service.com
Raison : Connection timeout
Durée : 3 minutes
Slack / Discord
Webhook URL : https://hooks.slack.com/services/T.../B.../...
Email (SMTP)
Serveur SMTP : smtp.gmail.com
Port : 587
TLS : STARTTLS
Utilisateur : alerts@mon-domaine.com
Mot de passe : ****
Destinataire : equipe@mon-domaine.com
Webhook générique
Pour intégrer avec n’importe quel système :
POST https://mon-api.com/webhook/monitoring
{
"monitor": "api.mon-service.com",
"status": "down",
"msg": "Connection timeout",
"heartbeat": {
"time": "2026-04-24T08:32:00Z",
"duration": 180
}
}
Page de statut publique
Uptime Kuma génère des pages de statut partageables :
Paramètres → Pages de statut → Nouvelle page
Slug : statut-mon-service
URL : http://localhost:3001/status/statut-mon-service
Choisissez quels moniteurs afficher. La page montre :
- L’état actuel (opérationnel / dégradé / en panne)
- L’historique des 90 derniers jours (barres vertes/rouges)
- Le taux de disponibilité
Vous pouvez mettre cette page derrière un domaine personnalisé via un reverse proxy.
Maintenance programmée
Pour planifier des maintenances sans déclencher d’alertes :
Maintenance → Ajouter
Titre : Déploiement v2.1
Début : 2026-04-24 02:00
Fin : 2026-04-24 03:00
Moniteurs : [API Production, Base de données]
Les alertes sont suspendues pendant la fenêtre de maintenance.
Reverse proxy avec Caddy
Pour exposer Uptime Kuma sur un domaine :
# Caddyfile
statut.mon-domaine.com {
reverse_proxy uptime-kuma:3001
}
Avec Nginx :
server {
listen 443 ssl;
server_name statut.mon-domaine.com;
location / {
proxy_pass http://localhost:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
}
Le support des WebSockets (Upgrade) est requis pour l’interface temps réel.
Alertes SSL
Uptime Kuma vérifie automatiquement les certificats SSL des moniteurs HTTPS et alerte N jours avant expiration :
Paramètres du moniteur → Expiration du certificat
Alerte si expiration dans moins de : 14 jours
Reçevez une alerte avant que Let’s Encrypt ne renouvelle (ou échoue à renouveler) votre certificat.
+ Les points forts
- Installation en 2 minutes — Docker Compose, une image, aucune dépendance externe
- Interface claire — historique visuel immédiatement lisible, graphiques de temps de réponse
- 30+ canaux de notification — Telegram, Slack, Discord, email, Ntfy, Gotify, PagerDuty…
- Pages de statut publiques — communicationfacile avec les utilisateurs lors d’incidents
- Certificats SSL surveillés — alertes d’expiration intégrées
- Gratuit et open source — pas de limite de moniteurs, pas d’abonnement
- Les points faibles
- Pas de monitoring multi-région — toutes les vérifications partent d’un seul hôte. Un site accessible depuis Paris mais pas depuis New York ne sera pas détecté
- Pas d’alertes conditionnelles complexes — les règles d’alerte sont simples (down/up). Pas de seuils sur le temps de réponse, pas d’alertes sur anomalies statistiques
- SQLite uniquement — pas de support PostgreSQL pour les grandes installations avec des milliers de moniteurs
- Pas d’API complète — la configuration via API REST est limitée par rapport aux concurrents enterprise
Comparaison
| Uptime Kuma | Grafana+Prometheus | UptimeRobot | |
|---|---|---|---|
| Auto-hébergement | ✅ | ✅ | ❌ |
| Installation | Simple | Complexe | N/A |
| Moniteurs gratuits | Illimité | Illimité | 50 |
| Multi-région | ❌ | ✅ (avec agents) | ✅ |
| Pages de statut | ✅ | Partiel | ✅ |
| Alertes avancées | Basique | Avancé | Basique |
| Prix | Gratuit | Gratuit | Freemium |
En résumé
Uptime Kuma est la solution de monitoring à déployer en premier sur tout serveur. Cinq minutes d’installation, et vous êtes alerté immédiatement quand un service tombe — avant vos utilisateurs. Pour les besoins avancés (multi-région, alertes sur percentiles de latence), une stack Prometheus/Grafana prend le relais, mais Uptime Kuma couvre 90% des cas d’usage avec 1% de la complexité.
Voir aussi :