CoursB2-27 - Surveiller la disponibilité avec Uptime Kuma
Cours · Fiche de cours
B2-27 - Surveiller la disponibilité avec Uptime Kuma
Sommaire
B2-27 Surveiller la disponibilité avec Uptime Kuma
🎓 SIO1 · semestre 2⏱️ 2 h (cours + TP)🎯 Bloc 2 – SISRMesurer la disponibilité d'un service, choisir les bonnes sondes, régler les alertes, publier une page de statut et installer Uptime Kuma avec Docker Compose (Traefik en option).
🎯 Objectifs
Calculer un taux de disponibilité et le comparer à un engagement (SLA).
Distinguer supervision de disponibilité et supervision complète.
Choisir la sonde adaptée : HTTP(S) avec mot-clé, ping, port TCP, DNS, certificat, push.
Régler l'intervalle, les nouvelles tentatives et le délai d'expiration pour éviter les fausses alertes.
Configurer notifications, page de statut et maintenance planifiée.
Installer Uptime Kuma avec Docker Compose, y accéder (directement ou, en option, derrière Traefik) et le sécuriser.
Test express des prérequis 3 questions · 2 minutes · conseillé avant de commencer
1. Que fait la commande ping ?
Le ping (protocole ICMP) teste seulement que la machine est joignable. Il ne dit rien sur les services qu'elle héberge. C, c'est le rôle du DNS.
2. Sur quel port TCP écoute un site web en HTTPS ?
443 pour HTTPS, 80 pour HTTP. Le port 3389 est celui du Bureau à distance (RDP) de Windows.
3. Un service est indisponible 36 minutes sur un mois de 30 jours. Son taux de disponibilité est proche de…
Un mois = 43 200 minutes. 36 ÷ 43 200 = 0,083 % d'arrêt, soit 99,92 % de disponibilité. À revoir : B1-03 · SLA.
Chez Brocéliande Logistique (entreprise fictive, 60 salariés, bureaux et entrepôt), c'est l'entrepôt qui prévient l'informatique : « l'imprimante d'étiquettes ne répond plus », « l'intranet est cassé ». La panne dure parfois une heure avant que quelqu'un téléphone. Pire : la veille, un certificat a expiré sans que personne s'en aperçoive.
Le responsable informatique veut savoir avant les utilisateurs, et pouvoir chiffrer la disponibilité des services devant la direction. Il te demande d'installer Uptime Kuma, un outil libre qui interroge les services toutes les minutes, prévient par message et affiche une page de statut.
Le coursMesurer la disponibilité, choisir des sondes, régler les alertes, installer et sécuriser Uptime Kuma, puis dépanner les fausses alertes.
1. Mesurer la disponibilité
Un service est disponible quand un utilisateur peut s'en servir normalement. La SLA fixe l'engagement (par exemple 99,5 % par mois, voir B1-03) ; la supervision fournit la mesure qui permet de dire si l'engagement est tenu.
Disponibilité (%) = (temps prévu − temps d'arrêt) ÷ temps prévu × 100. Sur un mois de 30 jours, le temps prévu est 30 × 24 × 60 = 43 200 minutes pour un service attendu 24 h sur 24.
La disponibilité se calcule sur une période fixe : on compte les minutes perdues, pas le nombre de pannes.
Taux promis
Arrêt toléré par mois (30 j)
Arrêt toléré par an
Ordre de grandeur
99 %
7 h 12 min
3 j 15 h
Service interne peu critique
99,5 %
3 h 36 min
1 j 20 h
Messagerie d'une PME
99,9 %
43 min
8 h 46 min
Hébergeur, site marchand
99,99 %
4 min 19 s
53 min
Services très critiques, redondés
Ce calcul suppose qu'on mesure : sans sonde, on ne connaît que les pannes que quelqu'un a signalées. Uptime Kuma affiche lui-même le pourcentage sur 24 heures, 30 jours et un an pour chaque service.
Entraîne-toi. Un mois de 30 jours (43 200 minutes). L'intranet a été indisponible 216 minutes. Complète, puis vérifie avec ✓.
Arrêt en pourcentage ›
Disponibilité ›
Arrêt toléré à 99,9 % (min) ›
2. Disponibilité ou supervision complète ?
Deux familles d'outils se complètent. Une sonde de disponibilité se place à l'extérieur du service, comme un utilisateur, et pose une seule question : « est-ce que ça répond ? ». Une supervision complète installe un agent dans chaque machine et mesure l'intérieur : processeur, mémoire, disque, trafic, services. Elle sait pourquoi et peut prévenir avant la panne.
Kuma voit ce que voit l'utilisateur ; Zabbix voit ce que voit l'administrateur. On utilise les deux.
Situation
Uptime Kuma
Zabbix
L'intranet ne répond plus
Alerte en 1 à 3 minutes
Alerte si un déclencheur est configuré
Le disque d'un serveur est plein à 91 %
Ne voit rien tant que le service répond
Alerte avant la saturation
Le certificat expire dans 7 jours
Alerte (sonde HTTPS)
Possible, avec un modèle dédié
La sauvegarde de cette nuit n'a pas tourné
Alerte (sonde push)
Possible, avec un script
En deux heures, on obtient une première vision utile de tous les services, sans rien installer sur les machines surveillées. La supervision complète demande plus de travail (agents, modèles, seuils) : c'est l'objet de la fiche B2-28.
3. Les sondes d'Uptime Kuma
Dans Uptime Kuma, chaque élément surveillé est un sonde. Chaque sonde a un type, qui décide de ce qu'on teste, et une cible. Plus le test est proche de l'usage réel, plus l'alerte est fiable.
Clique sur une sonde pour savoir ce qu'elle teste et quand la choisir.
Choisis une sonde : son rôle s'affiche ici.
Six types de sondes couvrent l'essentiel des besoins d'une PME.
Une application en panne de base de données affiche souvent une page d'erreur avec un code HTTP 200. Une sonde HTTP simple reste verte pendant que les utilisateurs ne peuvent rien faire. Ajoute un mot-clé qui n'existe que sur la vraie page (un titre, le nom de l'entreprise) : s'il manque, la sonde passe au rouge.
3.1 Les champs d'une sonde HTTP
Type de sonde (Monitor Type)Le type de sonde : HTTP(s), HTTP(s) - Keyword, TCP Port, Ping, DNS ou Push.
URLL'adresse complète à interroger, par exemple https://intranet.broceliande.lan. Utilise le nom que les utilisateurs utilisent, pas l'adresse IP.
Mot-clé (Keyword)Le mot attendu dans la page. La casse compte : Accueil et accueil sont deux mots différents.
Codes HTTP acceptés (Accepted Status Codes)Les codes de réponse considérés comme normaux (200-299 par défaut). Une redirection ou un code 401 attendu s'ajoute ici.
Ignorer les erreurs liées au certificat SSL/TLS (Ignore TLS/SSL errors)Accepte un certificat non reconnu (autosigné). Pratique au labo ; en production, on installe plutôt l'autorité de certification. La sonde ne sert plus alors à détecter un faux certificat.
Notification d'expiration du certificat (Certificate Expiry Notification)Case à cocher qui active l'alerte avant l'expiration du certificat.
Pour une sonde DNS, indique comme serveur à interroger le DNS de l'entreprise (172.16.50.10) : le serveur par défaut est un DNS public d'Internet, qui ne connaît pas broceliande.lan. Pour une sonde Ping, vérifie que le pare-feu de la cible laisse passer l'ICMP : le pare-feu de Windows le bloque par défaut sur certains profils.
4. Intervalle, nouvelles tentatives, délai
Une sonde qui alerte au premier échec est une sonde qui crie au loup : un paquet perdu, une page lente pendant la sauvegarde, et le téléphone sonne. Trois réglages équilibrent rapidité et fiabilité.
Pour bien comprendre : le veilleur de nuit
Uptime Kuma se comporte comme un veilleur de nuit. Il fait sa ronde à intervalle fixe et vérifie chaque porte : c'est l'intervalle.
Quand une porte semble forcée, un bon veilleur ne réveille pas tout le monde : il repasse d'abord pour confirmer. Ce sont les nouvelles tentatives. Si la porte est toujours cassée au second passage, il téléphone.
Il ne reste pas non plus un quart d'heure devant une porte qui ne s'ouvre pas : au bout d'un certain temps, il considère qu'elle ne répond pas. C'est le délai d'expiration.
Avec N nouvelles tentatives, la sonde passe en rouge au (N + 1)e échec consécutif.
Intervalle de vérification (Heartbeat Interval)Le temps entre deux vérifications, en secondes (60 par défaut). Plus il est court, plus la détection est rapide, et plus la charge et les risques de fausse alerte augmentent.
Tentatives (Retries)Le nombre de nouvelles tentatives avant de déclarer la panne (0 par défaut, 2 ou 3 est un bon réglage).
Intervalle entre chaque nouvelle tentative (Heartbeat Retry Interval)Le temps entre deux tentatives quand la sonde est en attente. Il peut être plus court que l'intervalle normal.
Délai d'expiration de la demande (Request Timeout)Le temps maximal d'attente d'une réponse. Il doit rester inférieur à l'intervalle (par défaut, 80 % de l'intervalle).
Renvoyer la notification (Resend Notification)Répète l'alerte tant que le service reste en panne, toutes les N vérifications (0 : une seule alerte).
Une sonde passe à DOWN au (N + 1)e échec consécutif (N = nouvelles tentatives). Le délai maximal entre le début de la panne et l'alerte vaut environ intervalle + N × intervalle de nouvelle tentative. Les valeurs de départ raisonnables : 60 s, 2 tentatives, délai de 48 s.
Entraîne-toi. Intervalle 30 s, 3 nouvelles tentatives, intervalle de nouvelle tentative 30 s. Complète, puis vérifie avec ✓.
Échecs consécutifs avant DOWN ›
Secondes entre le 1er échec et l'alerte ›
5. Prévenir, informer, planifier
5.1 Les notifications
Une panne détectée mais jamais lue ne sert à rien. Uptime Kuma sait envoyer l'alerte par des dizaines de canaux. On les crée une fois (Paramètres → Notifications), puis on les rattache aux sondes. La case Activé par défaut (Default enabled) les applique à toutes les nouvelles sondes, et Appliquer sur toutes les sondes existantes aux sondes déjà créées.
Canal
Ce qu'il faut renseigner
Avantage
Limite
Courriel (SMTP)
Serveur, port (587), sécurité STARTTLS, compte, expéditeur, destinataire
Universel, conservé
Lu tard ; tombe avec le serveur de messagerie
Discord, Teams
L'adresse du webhook du canal
Toute l'équipe voit l'alerte
Service externe à l'entreprise
ntfy
Serveur (ntfy.sh ou le vôtre) et nom du sujet (topic)
Notification immédiate sur téléphone, sans compte
Qui connaît le sujet peut le lire : choisir un nom long et imprévisible
Si Kuma alerte par le serveur de messagerie qu'il surveille, la panne de la messagerie supprime l'alerte qui la signale. Prévois au moins un canal qui ne dépend pas de l'infrastructure surveillée (ntfy, téléphone) et teste-le avec le bouton Test de chaque notification.
5.2 La page de statut
Une page de statut affiche l'état des services sur une adresse dédiée, sans connexion : /status/nom-de-la-page. Les utilisateurs la consultent avant d'appeler le support. On crée des groupes (« Messagerie et intranet », « Infrastructure »), on y glisse les sondes, on donne un titre et on publie. Elle peut aussi annoncer un incident en cours.
Ne mets sur une page de statut ni adresse IP, ni nom de serveur d'administration, ni détail technique. Choisis des noms parlants pour les utilisateurs (« Messagerie », pas smtp-01) et renomme les sondes au besoin. Si la page est accessible depuis Internet, chaque information devient publique.
5.3 La maintenance planifiée
Une mise à jour ou un redémarrage prévu provoque une coupure normale. Sans précaution, elle déclenche une alerte et dégrade le taux de disponibilité. Une maintenance planifiée (menu Maintenance) désigne les sondes concernées et une période (une fois, tous les dimanches, selon une expression cron) : pendant ce temps, l'état passe en bleu, aucune alerte ne part et l'arrêt n'est pas compté comme une panne.
6. Installer, publier et sécuriser Uptime Kuma
Uptime Kuma est une application web (Node.js) qui s'installe très simplement dans un conteneur. Docker Compose décrit ce conteneur dans un fichier compose.yaml : quelle image, quel volume, quel port. L'image officielle est louislam/uptime-kuma ; la version 2 est la version actuelle (2.5 à la rédaction de cette fiche) et l'étiquette :2 suit ses mises à jour correctives. La fiche B2-23 approfondit Docker et Compose ; ici, il suffit de connaître trois idées.
imageLe modèle figé de l'application, téléchargé depuis un dépôt public. L'étiquette :2 choisit la version majeure.
volumeUn espace de stockage géré par Docker, qui survit à la suppression du conteneur. Les sondes, l'historique et le compte admin vivent dans /app/data : sans volume, tout disparaît à la recréation.
portsLe port 3001 du conteneur est publié sur la VM. En le limitant à 127.0.0.1, seul Traefik, installé sur la même VM, peut le joindre. Sans Traefik (TP de SIO1), on écrit "3001:3001" : Kuma répond en HTTP sur http://IP-de-la-VM:3001, à réserver au réseau du labo.
6.1 Le fichier Compose
YAML /opt/kuma/compose.yaml
services:
kuma:
image: louislam/uptime-kuma:2 # version 2, mises à jour correctives comprises
container_name: kuma
restart: unless-stopped # redémarre avec la VM
ports:
- "127.0.0.1:3001:3001" # joignable seulement depuis la VM elle-même
volumes:
- kuma_data:/app/data # sondes, historique, compte admin
volumes:
kuma_data:
Debian 13 /opt/kuma
$ sudo docker compose config --quiet && echo "fichier valide" # vérifie la syntaxe $ sudo docker compose up -d # télécharge l'image, crée le volume, démarre $ sudo docker compose ps # kuma : Up (healthy) après environ une minute $ curl -sI http://127.0.0.1:3001 | head -1 # HTTP/1.1 302 : l'application répond en local
6.2 La publication derrière Traefik (option, Traefik est vu en SIO2)
Comme dans la fiche B2-12, Traefik est configuré avec des fichiers dynamiques : un fichier par service publié, jamais d'étiquettes (labels) Docker. Le fichier déclare un routeur, un service qui pointe vers 127.0.0.1:3001, et le certificat.
YAML /etc/traefik/dynamic/kuma.ymlappliqué à chaud
L'interface d'Uptime Kuma dialogue avec le serveur par WebSocket pour afficher l'état en direct. Traefik les transmet sans configuration supplémentaire. Si l'interface reste figée sur « connexion en cours », vérifie d'abord l'adresse du service dans le fichier dynamique.
Seul le port 443 de Traefik est exposé ; Kuma interroge ensuite les services depuis son conteneur.
6.3 Premier démarrage et sécurisation
Crée le compte administrateur tout de suite : tant qu'aucun compte n'existe, la première personne qui ouvre la page le crée. Choisis un identifiant personnel (pas admin) et un mot de passe long.
Active la double authentification : Paramètres → Sécurité → Double authentification, avec une application d'authentification (code à 6 chiffres qui change toutes les 30 secondes).
Renseigne l'adresse principale (Paramètres → Général → URL principale, Primary Base URL en anglais) : https://kuma.broceliande.lan, pour que les liens des alertes et de la page de statut soient corrects.
Garde l'authentification activée : l'option qui la désactive ouvre l'administration à tout le réseau.
Pour mettre à jour, on lance sudo docker compose pull puis sudo docker compose up -d : les données du volume sont conservées. Pour sauvegarder, on arrête brièvement le conteneur puis on archive le volume, car la base ne doit pas être copiée en cours d'écriture.
Debian 13 /opt/kuma · sauvegarde du volume
$ sudo docker compose stop # arrêt court : les sondes ne tournent plus pendant quelques secondes $ sudo docker run --rm -v kuma_data:/d:ro -v "$PWD":/b busybox tar czf /b/kuma-$(date +%F).tgz -C /d . $ sudo docker compose start # Kuma repart, rien n'est perdu
Si la VM de Kuma s'arrête, plus aucune alerte ne part et rien ne l'indique. Deux parades : surveiller Kuma depuis l'extérieur (une sonde push que Kuma envoie à un second outil, ou un autre Kuma sur un autre site) et ne pas l'héberger sur le service qu'il surveille.
7. Dépanner : fausses alertes et alertes manquées
Une supervision n'est utile que si l'on peut lui faire confiance. Deux défauts la ruinent : les faux positifs (alerte alors que tout va bien) et les faux négatifs (aucune alerte alors que le service est cassé).
Symptôme
Cause probable
Vérification et correction
Alertes brèves et répétées, puis retour à la normale
Aucune nouvelle tentative, ou délai trop court
Passer Retries à 2 ; allonger le délai d'attente ; chercher la tâche qui ralentit la cible
Rouge avec « keyword not found » alors que le site s'ouvre
Le mot a changé, ou la page affichée est une page d'erreur
Ouvrir l'adresse dans un navigateur, lire la page, choisir un mot stable
Ping rouge, service pourtant utilisable
Pare-feu qui bloque l'ICMP
Remplacer par une sonde TCP sur le port du service
Sonde DNS rouge, ping vert
Service DNS arrêté, ou mauvais serveur interrogé
Vérifier le service sur le serveur et l'adresse du serveur DNS dans la sonde
Alerte « certificat expire dans N jours »
Certificat à renouveler
Renouveler avant l'échéance, puis vérifier la nouvelle date
Sonde push rouge
Le script n'a pas tourné, ou son appel échoue
Lancer l'appel à la main avec curl -v et lire l'erreur
Aucune alerte reçue pendant un test
Notification non rattachée à la sonde, ou jamais testée
Bouton Test de la notification ; vérifier la case de la sonde
7.1 Entraîne-toi : les tickets du support
Tu es de permanence au support de Brocéliande Logistique. Cinq tickets arrivent les uns après les autres : lis le message, observe le relevé, puis choisis la cause.
File d'attente du support5 tickets · un à la fois · l'explication s'affiche après ta réponse
« Tous les soirs vers 2 h, l'intranet passe au rouge trente secondes et je reçois un message. Quand je me connecte le matin, tout fonctionne. »
Uptime Kuma sonde « Intranet »
Heartbeat Interval : 20
Retries : 0
Request Timeout : 16
Journal 02:00:41 : Down - timeout of 16000ms exceeded
Journal 02:01:01 : Up - 200 - OK
Quelle est la cause la plus probable ?
Cause : un seul dépassement de délai suffit à déclarer la panne, car Retries vaut 0 et le délai est court. Le site est revenu à la vérification suivante : c'est un faux positif. Correction : passer Retries à 2 et le délai à 48 s avec un intervalle de 60 s ; si le ralentissement est connu (sauvegarde), le déclarer en maintenance planifiée.
Ticket n° 2De : bureau d'étudesPriorité haute
« Kuma dit que l'intranet est hors ligne, mais je l'ouvre et j'arrive sur une page. Elle dit juste "Erreur de connexion à la base de données". »
Uptime Kuma sonde « Intranet »
Type : HTTP(s) - Keyword
URL : https://intranet.broceliande.lan
Keyword : Accueil
Journal : Down - but keyword is not in [Erreur de connexion à la base de données]
Code de réponse : 200
Que faut-il en conclure ?
Cause : l'application répond, mais sans base de données. Seul le mot-clé permet de s'en apercevoir : ce n'est pas un faux positif, c'est exactement ce que la sonde doit détecter. Correction : chercher du côté de la base (service arrêté, mot de passe changé), pas de la sonde.
Ticket n° 3De : technicien réseauPriorité moyenne
« J'ai reçu un message de Kuma pour l'intranet, mais la sonde est verte et le site fonctionne. Je supprime l'alerte ? »
Message reçu par ntfy
[intranet.broceliande.lan] [TLS Certificate Expiry]
Certificate will expire in 6 days
Date d'expiration : 24/10/2026
Que faire ?
Cause : c'est l'alerte préventive qui joue son rôle : le certificat est valide aujourd'hui, mais il expire dans 6 jours. Correction : renouveler le certificat dans Traefik (fichier du certificat), puis contrôler la nouvelle date dans Kuma. Ignorer l'erreur TLS ne règle rien et masque le problème.
Ticket n° 4De : comptabilitéPriorité haute
« Je ne trouve plus l'intranet par son nom depuis ce matin, mais en tapant son adresse IP, ça marche. »
Uptime Kuma état des sondes de SRV-01
SRV-01 ping : Up (1 ms)
SRV-01 port 3389 : Up
SRV-01 DNS : Down - queryA ECONNREFUSED 172.16.50.10:53
(serveur DNS interrogé : 172.16.50.10)
Quelle est la cause la plus probable ?
Cause : le ping et le Bureau à distance répondent, donc la machine fonctionne ; seule la sonde DNS échoue, et la connexion au port 53 est refusée : le service n'écoute plus. Correction : sur SRV-01, Get-Service DNS puis Start-Service DNS, et rechercher pourquoi il s'est arrêté dans le journal. L'ensemble des sondes a localisé la panne.
Cause : le script a travaillé, puis son dernier appel a échoué sur la vérification du certificat. Sans signal, Kuma conclut que la sauvegarde n'a pas eu lieu. Correction : installer l'autorité de certification sur la machine (solution propre), ou ajouter -k à curl au labo. Et garder l'appel après la sauvegarde, pour qu'un échec de sauvegarde reste visible.
8. À l'examen et en entreprise
Justifier le choix de l'outil : supervision de disponibilité ou complète, avec les services concernés, les sondes retenues et leur fréquence.
Joindre des preuves : tableau des sondes (type, cible, intervalle, tentatives), capture de l'écran de supervision, de la page de statut et d'une alerte reçue.
Documenter la sécurité : accès HTTPS, compte nominatif, double authentification, port non exposé, sauvegarde du volume.
Cahier de recette : une panne simulée, l'heure de la panne, l'heure de l'alerte, la remise en service. Le jury aime un test qui échoue volontairement.
Chiffrer : donner le taux de disponibilité du mois et le comparer au SLA, calcul à l'appui.
Les alertes arrivent dans un canal que quelqu'un lit vraiment, avec une astreinte définie pour la nuit. Les arrêts planifiés passent en maintenance, ce qui garde un taux de disponibilité honnête. Les sondes sont nommées selon le service rendu (« Messagerie »), car elles alimentent aussi le catalogue de services et les rapports de SLA.
9. L'essentiel
Disponibilité = (temps prévu − arrêt) ÷ temps prévu ; un mois de 30 jours fait 43 200 minutes.
Le SLA fixe l'engagement (99,5 % tolère 3 h 36 min par mois) ; la supervision fournit la mesure.
Kuma teste de l'extérieur (« ça répond ? ») ; Zabbix mesure de l'intérieur (« comment va-t-il ? »). Les deux se complètent.
Sondes : HTTP(S) avec mot-clé, ping, port TCP, DNS, certificat, push.
Un code 200 ne suffit pas : le mot-clé détecte la page d'erreur.
La sonde push surveille ce qui doit arriver (sauvegarde) : pas de signal, pas de vert.
Intervalle, tentatives, délai : DOWN au (N + 1)e échec ; le délai d'attente reste inférieur à l'intervalle.
Notifications testées, avec un canal indépendant de l'infrastructure surveillée.
Page de statut sans information sensible ; maintenance planifiée pour les arrêts prévus.
Installation : louislam/uptime-kuma:2, volume pour /app/data, port sur 127.0.0.1, Traefik en fichier dynamique, compte admin, 2FA, sauvegarde.
La fiche en une image : à refaire de mémoire, sur une feuille, avant de passer aux exercices.
Tout cela tient sur une page : utilise le bouton Mémo à imprimer en haut de la fiche.
La pratiqueLe quiz noté pour vérifier tes acquis, les exercices à rendre à ton professeur, puis le TP au labo : Uptime Kuma sur ta VM Debian.
10. Quiz noté
8 questions · 10 minutesRéponds à toutes les questions, puis valide. Seule ta première tentative est enregistrée : elle compte dans ton suivi. Ensuite, tu peux t'entraîner autant que tu veux.
1. Un service est coupé 3 heures sur un mois de 30 jours (720 heures). Quelle est sa disponibilité ?
2. Une application répond « 200 OK » mais affiche « Erreur de base de données ». Quelle sonde détecte la panne ?
3. Intervalle 60 s et 2 nouvelles tentatives : à partir de quel échec consécutif la sonde passe-t-elle à DOWN ?
4. Quelle sonde surveille qu'un script de sauvegarde nocturne s'est bien exécuté ?
5. Pourquoi indiquer 172.16.50.10 comme serveur d'une sonde DNS plutôt que le serveur par défaut ?
6. Pourquoi publier le port 3001 sur 127.0.0.1 et passer par Traefik ?
7. Que se passe-t-il pour une sonde pendant une maintenance planifiée ?
8. Le disque d'un serveur est plein à 95 %, mais tous ses services répondent. Quel outil le signale ?
11. Exercices : à toi de répondre
Écris ta réponse sous chaque énoncé et envoie-la à ton professeur. Quand il l'a validée, le corrigé s'affiche à la place du cadenas ; s'il te la renvoie « à revoir », lis son commentaire et corrige. Montre tes calculs, pas seulement le résultat.
Exercice 1 – Respecter un SLA (SIO1)
La messagerie de Brocéliande Logistique est promise à 99,5 % de disponibilité par mois, 24 h sur 24. En octobre (31 jours), Uptime Kuma a relevé deux coupures : 2 h 10 min et 1 h 05 min. Calcule la disponibilité du mois et dis si le SLA est respecté. Quelle marge reste-t-il, en minutes ?
Le corrigé s'affichera ici dès que ton professeur aura validé ta réponse. Cherche d'abord par toi-même : c'est en se trompant qu'on retient.
Exercice 2 – Choisir les sondes (SIO1)
Pour chaque besoin de Brocéliande Logistique, indique le type de sonde et sa cible : (a) l'intranet https://intranet.broceliande.lan, qui doit afficher « Brocéliande » ; (b) le contrôleur de domaine SRV-01 (172.16.50.10), pour le DNS ; (c) l'imprimante de la compta (172.16.20.20) ; (d) le Bureau à distance de SRV-01 ; (e) la sauvegarde de 2 h 00 ; (f) le certificat de l'intranet.
Le corrigé s'affichera ici dès que ton professeur aura validé ta réponse. Cherche d'abord par toi-même : c'est en se trompant qu'on retient.
Exercice 3 – Régler les alertes (SIO1)
La direction demande d'être prévenue au plus tard 2 minutes après le début d'une panne de l'intranet, sans fausse alerte pour un simple ralentissement de quelques secondes. Propose l'intervalle, le nombre de nouvelles tentatives, l'intervalle de nouvelle tentative et le délai d'attente. Justifie par le calcul.
Le corrigé s'affichera ici dès que ton professeur aura validé ta réponse. Cherche d'abord par toi-même : c'est en se trompant qu'on retient.
Exercice 4 – Concevoir (SIO2)
Brocéliande Logistique veut superviser la disponibilité du siège et de l'agence de Rennes, et être prévenue même si la VM d'Uptime Kuma tombe ou si le lien WAN est coupé. Décris l'architecture : où placer les instances, quelles sondes, quels canaux d'alerte, et comment sécuriser et sauvegarder l'ensemble. Justifie en quelques lignes.
Le corrigé s'affichera ici dès que ton professeur aura validé ta réponse. Cherche d'abord par toi-même : c'est en se trompant qu'on retient.
12. Au labo : superviser les VM de ton pool avec Uptime Kuma
Objectif
Sur la VM Debian 13 de ton pool Proxmox (page Mes serveurs et VM), tu installes Uptime Kuma avec Docker Compose, tu l'ouvres depuis ton poste sur le port 3001 (ou en HTTPS derrière Traefik si tu as déjà fait B2-12), tu crées des sondes vers les autres VM de ton pool, tu règles une notification et une page de statut, puis tu provoques une panne pour vérifier que l'alerte arrive. Note les adresses de tes machines : IP-VM (Debian), IP-SRV (Windows Server 2025), IP-W11 (Windows 11 Pro) et IP-FW (IPFire).
Machine
Système
Rôle dans le TP
SRV-LINUX
Debian 13 (Traefik de B2-12 : facultatif)
Hôte d'Uptime Kuma : Docker Engine, Compose, projet /opt/kuma
SRV-01
Windows Server 2025, DNS
Cible : ping, DNS, Bureau à distance (3389) ; panne simulée du DNS
PC-COMPTA-01
Windows 11 Pro
Cible (ping, 3389) et poste client : navigateur (fichier hosts si Traefik)
Pare-feu
IPFire
Cible HTTPS (interface web, port 444)
Kuma interroge trois machines du pool ; la panne simulée de l'étape 7 doit déclencher la notification.
Ce que tu ajoutes à cette étape
Uptime Kuma 2 dans un conteneur, avec un volume de données, dans /opt/kuma.
L'accès : directement sur le port 3001 de la VM ; en option (B2-12 déjà faite), un fichier dynamique Traefik et un certificat pour kuma.broceliande.lan.
Six sondes : ping, DNS, port RDP, HTTPS, push.
Une alerte testée, une page de statut et une maintenance planifiée.
1 Installer Docker Engine
Sur SRV-LINUX, ajoute le dépôt officiel de Docker (mêmes commandes qu'en B2-23) :
Toutes les commandes du TP se lancent avec sudo : n'ajoute pas ton compte au groupe docker.
2 Écrire le projet et démarrer
Crée le dossier, puis le fichier compose.yaml de la partie 6.1 avec sudo nano. Sans Traefik (cas général en SIO1), remplace la ligne du port par - "3001:3001" : Kuma sera joignable depuis le réseau du pool sur http://IP-VM:3001. Garde "127.0.0.1:3001:3001" seulement si tu fais l'étape 3 (Traefik).
Debian 13 SRV-LINUX
$ sudo mkdir -p /opt/kuma && cd /opt/kuma $ sudo nano compose.yaml # contenu de la partie 6.1 ; sans Traefik, ports : - "3001:3001" $ sudo docker compose config --quiet && echo "fichier valide"
Complète les commandes, à lancer dans /opt/kuma. Vérifie chaque ligne avec ✓.
démarrer en arrière-plan $
état du service $
journal du service kuma $
tester sans Traefik $
Attends environ une minute que le service soit healthy. Le test local doit répondre 302 Found. Vérifie aussi l'exposition du port : sudo ss -ltn | grep 3001 affiche 0.0.0.0:3001 sans Traefik (accès direct, réservé au réseau du pool), et seulement 127.0.0.1:3001 avec Traefik.
3 Publier derrière Traefik (facultatif, si tu as déjà fait B2-12)
Sans Traefik, saute cette étape : depuis PC-COMPTA-01, Kuma s'ouvre sur http://IP-VM:3001, et cette adresse remplace https://kuma.broceliande.lan dans la suite du TP.
Sur PC-COMPTA-01, ajoute la ligne IP-VM kuma.broceliande.lan au fichier C:\Windows\System32\drivers\etc\hosts (Bloc-notes lancé en administrateur), ou crée l'enregistrement sur SRV-01.
4 Créer le compte et sécuriser
Le compte : ouvre http://IP-VM:3001 (ou https://kuma.broceliande.lan avec Traefik, en acceptant l'alerte du certificat autosigné), choisis la langue Français, puis crée un compte administrateur nominatif avec un mot de passe long.
La double authentification : Paramètres → Sécurité → Double authentification, active-la et scanne le QR code avec une application d'authentification. Déconnecte-toi puis reconnecte-toi pour la tester.
L'adresse principale : Paramètres → Général → URL principale : l'adresse que tu utilises (http://IP-VM:3001 ou https://kuma.broceliande.lan).
5 Créer les notifications et les sondes
D'abord la notification : Paramètres → Notifications → Créer une notification, type ntfy, serveur https://ntfy.sh, sujet long et imprévisible (par exemple sio-NOM-k7q2x9m4), case Activé par défaut cochée. Installe l'application ntfy sur ton téléphone, abonne-toi au sujet, puis clique sur Tester : le message doit arriver. Ensuite, crée les sondes avec Ajouter une nouvelle sonde :
Nom
Type
Cible
Intervalle · tentatives
SRV-01 · ping
Ping
IP-SRV
60 s · 2
SRV-01 · DNS
DNS
Nom connu de ton DNS (par exemple ton domaine AD), serveur IP-SRV, type A
60 s · 2
SRV-01 · Bureau à distance
Port TCP
IP-SRV, port 3389
60 s · 2
PC-COMPTA-01 · ping
Ping
IP-W11
60 s · 2
Pare-feu · interface web
HTTP(s)
https://IP-FW:444, Ignorer les erreurs liées au certificat SSL/TLS cochée ; l'interface demande une connexion : ajoute 401 aux Codes HTTP acceptés
60 s · 2
Sauvegarde nocturne
Push
Copie l'URL de push affichée
300 s
Pour la sonde push, teste le signal à la main depuis SRV-LINUX (remplace le jeton par le tien), puis arrête d'appeler : au bout de 5 minutes la sonde doit passer en rouge.
Debian 13 SRV-LINUX
$ curl -fsS "http://127.0.0.1:3001/api/push/TON-JETON?status=up&msg=OK" # {"ok":true} : la sonde passe au vert (avec ou sans Traefik)
6 Publier la page de statut
Menu Pages d'état → Nouvelle page d'état : titre « Services du labo », chemin (slug) labo. Crée deux groupes, « Serveurs » (SRV-01 ping, DNS et Bureau à distance) et « Postes et réseau » (PC-COMPTA-01, pare-feu). Renomme les sondes pour des noms lisibles (« Annuaire DNS », « Pare-feu »). Sauvegarde, puis ouvre http://IP-VM:3001/status/labo (ou https://kuma.broceliande.lan/status/labo) dans une fenêtre de navigation privée : la page doit s'afficher sans connexion, sans adresse IP visible.
7 Provoquer des pannes et mesurer
Panne 1 : le service DNS s'arrête. Note l'heure, puis sur SRV-01 (PowerShell administrateur) :
Windows Server 2025 SRV-01 · PowerShell administrateur
PS> Stop-Service DNS # la machine reste allumée, seul le service s'arrête PS> Get-Service DNS # Status : Stopped PS> Start-Service DNS # à lancer quand l'alerte est arrivée
Observe : la sonde DNS passe en orange puis en rouge, le ping et le port 3389 restent verts. Note l'heure de la notification et calcule le délai de détection ; compare-le au calcul de la partie 4. Après Start-Service DNS, vérifie le retour au vert et le message de rétablissement.
Panne 2 : maintenance planifiée. Crée une maintenance (menu Maintenance) de type « Créneau de maintenance unique » pour la sonde « PC-COMPTA-01 · ping », de maintenant à dans 15 minutes. Arrête ensuite PC-COMPTA-01 depuis la page Mes serveurs et VM : la sonde passe en bleu et aucune notification n'est envoyée. Redémarre la VM et vérifie que la maintenance s'achève.
8 Valider : le cahier de recette
N°
Test
Commande ou action
Résultat attendu
OK
1
Kuma tourne
sudo docker compose ps
Service kuma Up / healthy
2
Le port est exposé comme prévu
sudo ss -ltn | grep 3001
0.0.0.0:3001 sans Traefik ; 127.0.0.1:3001 seulement avec Traefik
3
Accès depuis le poste
http://IP-VM:3001 (ou https://kuma.broceliande.lan) sur PC-COMPTA-01
Page de connexion (avec Traefik : certificat kuma.broceliande.lan)
4
Double authentification
Déconnexion puis connexion
Le code à 6 chiffres est demandé
5
Les sondes sont vertes
Tableau de bord, juste après un appel push
Six sondes en ligne, disponibilité affichée
6
Alerte en cas de panne
Stop-Service DNS sur SRV-01
Sonde DNS rouge seule, message ntfy reçu, délai noté
7
Maintenance sans alerte
Arrêt de PC-COMPTA-01 pendant la maintenance
Sonde bleue, aucune notification
8
Page de statut publique
/status/labo en navigation privée
Page lisible sans connexion, sans adresse IP
Suis ta progressionConnecte-toi pour marquer les ressources comme terminées et retrouver ton avancement.