Le site de l’entreprise est-il en ligne ? Le certificat de la messagerie expire-t-il bientôt ? L’API du logiciel de caisse répond-elle en moins d’une seconde ? Trop souvent, c’est un client qui vous apprend qu’un service est tombé. Gatus, outil open source léger, vérifie vos services en continu, vous alerte dès qu’un contrôle échoue et publie une page de statut claire. Toute la configuration tient dans un fichier. Voici comment le mettre en place en quelques minutes.
L’essentiel en 30 secondes
- Gatus teste des points de terminaison : HTTP(S), DNS, ping, TCP, SSH, et vérifie des conditions (code de réponse, temps de réponse, contenu, expiration du certificat ou du domaine).
- Il envoie des alertes vers de nombreux canaux : e-mail, Teams, Slack, Telegram, ntfy, Discord…
- Il affiche une page de statut avec l’historique de disponibilité.
- Configuration en YAML, versionnable, déploiement en un conteneur Docker.
Installation avec Docker Compose
services:
gatus:
image: twinproduction/gatus:latest
container_name: gatus
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./config:/config
- ./data:/data
La configuration se place dans config/config.yaml. Comme pour tout outil, épinglez une version précise de l’image en production.
Une configuration type pour une PME
storage:
type: sqlite
path: /data/gatus.db
alerting:
email:
from: supervision@entreprise.fr
host: smtp.entreprise.fr
port: 587
username: supervision@entreprise.fr
password: "mot-de-passe-applicatif"
to: "technique@entreprise.fr"
default-alert:
failure-threshold: 3
success-threshold: 2
send-on-resolved: true
endpoints:
- name: Site web
group: Public
url: "https://www.entreprise.fr"
interval: 2m
conditions:
- "[STATUS] == 200"
- "[RESPONSE_TIME] < 1500"
- "[CERTIFICATE_EXPIRATION] > 336h"
alerts:
- type: email
- name: Webmail
group: Public
url: "https://webmail.entreprise.fr"
interval: 5m
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 336h"
alerts:
- type: email
- name: Nom de domaine
group: Public
url: "https://www.entreprise.fr"
interval: 12h
conditions:
- "[DOMAIN_EXPIRATION] > 720h"
alerts:
- type: email
- name: Serveur de fichiers (SMB)
group: Interne
url: "tcp://192.168.1.20:445"
interval: 1m
conditions:
- "[CONNECTED] == true"
alerts:
- type: email
- name: DNS interne
group: Interne
url: "192.168.1.10"
dns:
query-name: "srv-fichiers.entreprise.local"
query-type: "A"
conditions:
- "[DNS_RCODE] == NOERROR"
alerts:
- type: email
Le seuil failure-threshold: 3 évite d’être alerté pour un échec isolé ; send-on-resolved prévient du retour à la normale. La condition sur [CERTIFICATE_EXPIRATION] détecte un renouvellement en échec deux semaines avant la panne : voir automatiser la surveillance des certificats TLS.
Vérifier le contenu, pas seulement le code 200
Un site peut répondre « 200 » tout en affichant une page d’erreur de base de données. Gatus sait vérifier le corps de la réponse :
conditions:
- "[STATUS] == 200"
- "[BODY] == pat(*Demandez un devis*)"
Pour une API qui renvoie du JSON, vérifiez directement un champ : "[BODY].status == UP".
Les tâches planifiées : surveillance par « battement de cœur »
Gatus peut aussi recevoir des signaux : vos scripts de sauvegarde appellent une URL de Gatus à la fin de chaque exécution réussie, et une alerte se déclenche si le signal n’arrive pas. C’est une façon simple de surveiller qu’une sauvegarde nocturne a bien tourné, en complément de vrais tests de restauration.
La page de statut
L’interface web affiche chaque service, son historique et ses temps de réponse, regroupés par catégorie. Vous pouvez la rendre publique pour vos clients (en n’y faisant figurer que les services publics), ou la réserver à l’équipe. Des badges intégrables indiquent la disponibilité sur un intranet ou un tableau de bord.
Bonnes pratiques
| Règle | Pourquoi |
|---|---|
| Héberger Gatus hors de l’infrastructure surveillée | Si tout tombe, la supervision doit encore pouvoir alerter |
| Deux canaux d’alerte (e-mail + messagerie) | Une panne de messagerie ne doit pas masquer les alertes |
| Mots de passe dans des variables d’environnement | Ne pas versionner de secrets dans le YAML |
| Accès protégé (OIDC ou authentification basique) à l’interface interne | Elle révèle la liste de vos services |
| Fenêtres de maintenance déclarées | Éviter les fausses alertes pendant les mises à jour |
| Revue trimestrielle des contrôles | Ajouter les nouveaux services, retirer les anciens |
Gatus surveille la disponibilité vue de l’extérieur ; pour les ressources internes des serveurs (CPU, disque, mémoire), complétez avec Beszel, et pour le réseau complet avec NetXMS.
Questions fréquentes
Gatus ou Uptime Kuma ?
Uptime Kuma se configure entièrement à la souris, ce qui plaît à beaucoup. Gatus se configure par fichier, ce qui facilite le versionnage, la revue et le déploiement automatisé. Les deux conviennent à une PME.
Peut-on surveiller des services internes ?
Oui, à condition que Gatus puisse les joindre : installez une instance interne, ou reliez-la à votre réseau via un VPN.
Combien de ressources faut-il ?
Très peu : quelques dizaines de mégaoctets de mémoire suffisent pour des dizaines de contrôles.
Comment éviter les alertes pendant une maintenance ?
Déclarez une fenêtre de maintenance dans la configuration, ou suspendez temporairement les alertes de l’endpoint concerné.
Sources
Besoin d’un accompagnement ?
MPCÂBLE Solutions Informatiques (MPCSI) accompagne particuliers, entreprises, associations et collectivités depuis Gaudiès, en Ariège : sur site en Occitanie, principalement dans un rayon de 40 km (Pamiers, Foix, Mirepoix, Saverdun, Castelnaudary), et à distance partout en France. Nous mettons en place la surveillance de vos services dans le cadre de notre infogérance. Demandez un devis gratuit ou appelez le 05 32 42 99 98.
