DOC
Accueil/ Projets/ VPS Hostinger - Stack ENGWE/ 09 - Uptime Kuma : surveillance & alertes

09 - Uptime Kuma : surveillance & alertes

Uptime Kuma surveille en continu tes services et te prévient dès que l'un tombe (email, Telegram, Discord…). Il stocke tout dans SQLite (un seul fichier dans son volume - facile à sauvegarder, voir §8).

  • URL : https://uptime-it.engwe-france.fr
  • Déployé via Coolify (projet ENGWE INFRA), image louislam/uptime-kuma.

1. Vocabulaire : une « sonde » = un Monitor

Dans Uptime Kuma, chaque chose que tu surveilles s'appelle un Monitor (la « sonde »). Un monitor, c'est :

  • une cible (une URL, une IP + port, un hôte à pinguer…) ;
  • un type de vérification (HTTP, TCP, Ping, DNS, mot-clé…) ;
  • une fréquence (toutes les 60 s par défaut) ;
  • des conditions de succès (code HTTP attendu, mot-clé présent, temps de réponse…) ;
  • des notifications rattachées (qui prévenir en cas de panne).

Kuma exécute la sonde en boucle et dessine une timeline verte (up) / rouge (down) + un temps de réponse.


2. Créer ta première sonde (pas à pas)

  1. Connecte-toi → bouton + Add New Monitor (en haut à gauche).
  2. Monitor Type : choisis HTTP(s) (le plus courant).
  3. Friendly Name : un nom lisible, ex. n8n.
  4. URL : l'adresse complète, ex. https://n8n-it.engwe-france.fr.
  5. Heartbeat Interval : 60 secondes (bien pour démarrer).
  6. Retries : 3 → il faut 3 échecs d'affilée avant de te déclarer « down » (évite les fausses alertes sur un micro-hoquet réseau).
  7. Notifications : coche celle(s) que tu auras créée(s) au §6.
  8. Save.

C'est tout. La sonde démarre immédiatement et tu vois la courbe se remplir.


3. Est-ce que je peux surveiller n'importe quelle URL ?

Oui. Tu peux surveiller :

  • N'importe quelle URL publique : tes services (n8n-it…, data-it…), mais aussi des sites externes (https://google.com, une API tierce, ton Shopify, l'API OpenRouter…). Aucune restriction de domaine.
  • Des services internes joignables depuis le container Kuma. ⚠️ Rappel de ton setup : Kuma est un Service Coolify, donc sur son propre réseau Docker isolé. Pour surveiller un service par son nom interne (ex. http://postgres:5432) plutôt que par son URL publique, il faudrait docker network connect coolify <container-kuma>. Pas nécessaire si tu surveilles tout via les URLs HTTPS publiques (recommandé - plus simple, et ça teste aussi le reverse proxy + le SSL).

4. Types de sondes disponibles (ce que tu peux vérifier)

Uptime Kuma va bien au-delà du simple « le site répond-il ». Les types les plus utiles :

Type Ce qu'il vérifie Exemple d'usage
HTTP(s) Le site répond avec un code 2xx/3xx Tous tes services web
HTTP(s) - Keyword Un mot-clé est présent (ou absent) dans la page Vérifier que la page affiche n8n et pas une page d'erreur blanche
HTTP(s) - Json Query Interroge un champ JSON d'une API et le compare API qui renvoie {"status":"ok"} → vérifier status == ok
TCP Port Un port répond Vérifier qu'un port applicatif écoute
Ping L'hôte répond au ping ICMP Vérifier que le VPS est vivant (187.55.227.148)
DNS Une résolution DNS renvoie la bonne valeur Vérifier que engwe-france.fr pointe au bon endroit
Docker Un container est running/healthy Surveiller un container précis
Push C'est ton service qui appelle Kuma (heartbeat inversé) Un cron/job qui doit tourner : s'il ne « ping » pas Kuma à temps → alerte
Steam / MQTT / gRPC / Radius… Protocoles spécialisés Rarement utile ici

Vérifications fines que tu peux ajouter sur une sonde HTTP

  • Code de statut accepté : par défaut 200-299. Tu peux exiger 200 strict, ou accepter 401 si un service protégé répond volontairement 401.
  • Mot-clé (type Keyword) : la sonde est « up » seulement si le texte attendu apparaît dans la réponse.
  • Requête JSON (type Json Query) : extrait un champ d'une réponse API et le compare à une valeur attendue.
  • Expiration du certificat SSL : Kuma affiche les jours restants avant expiration du certificat HTTPS et peut t'alerter avant qu'il périme.
  • Temps de réponse : la courbe te montre la latence ; utile pour repérer un service qui rame avant qu'il tombe.
  • En-têtes / auth / méthode : dans les options avancées tu peux définir la méthode (GET/POST), des headers (ex. Authorization: Bearer …), un body, ignorer un certificat auto-signé, etc.

5. Les sondes à créer pour ta stack (recommandé)

Nom Type Cible
Coolify HTTP(s) https://coolify-it.engwe-france.fr
n8n HTTP(s) - Keyword https://n8n-it.engwe-france.fr (mot-clé n8n)
NocoDB HTTP(s) https://data-it.engwe-france.fr
Mongo Express HTTP(s) https://mongo-it.engwe-france.fr (accepte 401 si basic-auth)
VPS (ping) Ping 187.55.227.148

Quand tu déploieras Open WebUI (chat-it) et ton API (api-it), ajoute-leur une sonde de la même façon.


6. Notifications (être prévenu quand ça tombe)

  1. Settings → Notifications → Setup Notification.
  2. Choisis le canal :
    • Email (SMTP) : simple, mais demande un serveur SMTP (ex. un compte Gmail avec mot de passe d'application, ou un service type Brevo/Mailgun).
    • Telegram : le plus rapide à mettre en place - crée un bot via @BotFather, récupère le token et ton chat id, colle-les. Gratuit, fiable, notif instantanée sur ton téléphone. Recommandé.
    • Discord : colle simplement l'URL d'un webhook de salon.
  3. Test pour vérifier que le message arrive, puis Save.
  4. Retourne sur chaque sonde et coche la notification (elle n'est pas rattachée automatiquement aux sondes déjà créées).

7. Fonctions utiles en plus

  • Status Page (Settings → Status Pages) : une page publique (ou privée) facultative type « statut des services », avec ton logo, que tu peux partager.
  • Maintenance : planifie une fenêtre de maintenance → Kuma n'alerte pas pendant que tu mets à jour un service (évite le spam d'alertes).
  • Tags : range tes sondes (ex. infra, perso).
  • Groupes de moniteurs : regroupe visuellement (ex. « Bases », « Web »).
  • 2FA : active-la sur ton compte admin (Settings → Security).

8. Sauvegarde (important)

Toute la config + l'historique tiennent dans un seul fichier SQLite (kuma.db) à l'intérieur du volume Kuma. Deux façons de le sauvegarder :

  • Dans l'app : Settings → Backup → Export → télécharge un JSON de tes sondes/notifications (config uniquement, pas l'historique).
  • Le volume Docker (config et historique) : inclure le volume de Kuma dans le script de sauvegarde des volumes de docs/05-maintenance-sauvegardes.md.

Pense à faire l'export/backup avant toute mise à jour majeure de l'image.


Voilà : tu peux surveiller n'importe quelle URL, vérifier bien plus que « c'est en ligne » (mot-clé, JSON, SSL, latence, ping, port…), et te faire alerter automatiquement. Reviens au README pour la vue d'ensemble.