Vérifier les services de l'extérieur, les machines de l'intérieur
Checkmate vérifie de l'extérieur qu'un site, une API, un port ou un enregistrement DNS répond, et lit de l'intérieur le processeur, la mémoire, les disques et la température des machines. Cette seconde partie passe par Capture, un agent écrit en Go à installer sur chaque serveur. L'application est en TypeScript (Node.js et React) et stocke tout dans MongoDB.
Les sondes réseau recoupent largement celles d'Uptime Kuma. L'écart porte sur les machines elles-mêmes : Checkmate installe un agent qui relève processeur, mémoire et disque, quand Uptime Kuma n'installe rien sur les serveurs surveillés et s'en tient à des sondes à distance, SNMP compris.
Le comparatif des outils de supervision et des pages de statut auto-hébergés met Checkmate face aux outils qui ne sondent que de l'extérieur.
Dix types de sondes et des seuils sur le matériel
- Dix types de sondes : HTTP avec vérification du corps de réponse (texte, regex ou expression JMESPath), ping, port TCP, DNS, gRPC, WebSocket, serveurs de jeu, PageSpeed, Docker et métriques système. Les sondes HTTPS suivent aussi l'expiration du certificat et du nom de domaine.
- Seuils sur les machines : une limite par moniteur pour le CPU, la mémoire, le disque et la température. Une limite franchie fait passer le moniteur à l'état
exceededet déclenche les notifications. - Docker par trois accès : depuis la 3.12, un moniteur suit l'état, la santé, le CPU et la mémoire de chaque conteneur d'un hôte, par le socket local, par un démon distant en TLS mutuel ou via Capture.
- Pages de statut : une URL publique montre les moniteurs choisis avec leurs barres de disponibilité, dans l'un des cinq thèmes, avec logo, couleur et, depuis la 3.9.1, une CSS maison.
- Alertes : e-mail, webhooks, Slack, Discord, Teams, Telegram, Matrix, Rocket.Chat, PagerDuty, Pushover, ntfy, SignalGrid et SMS par Twilio, avec des fenêtres de maintenance planifiées.
MongoDB obligatoire et un port exposé par serveur
MongoDB est obligatoire. Le Compose de référence démarre deux services, l'application et mongo:8.0 ; la base n'est pas incluse dans l'image. Le site du projet annonce environ 1 Go de RAM et quelques Go de disque, et le README mesure MongoDB à 398 Mo pour 323 serveurs contrôlés chaque minute. L'historique est gardé 90 jours par défaut.
Redis n'est plus requis, malgré la documentation. Ni le Compose de la 3.12 ni les dépendances du serveur ne le citent, mais la page des prérequis serveur et le schéma d'architecture de la documentation l'affichent toujours à côté de MongoDB.
Chaque serveur supervisé doit exposer un port. Capture sert une API REST sur le port 59232, que Checkmate vient interroger avec un secret partagé (API_SECRET) saisi des deux côtés. Ce port doit donc être joignable depuis l'instance Checkmate. L'agent répond en HTTP ; son dépôt fournit une configuration Caddy pour le passer en HTTPS. Les données S.M.A.R.T. des disques exigent l'agent installé en binaire avec smartmontools, pas en conteneur. La dernière version de Capture, la 1.4.0, date du 12 mars 2026.
Ni astreinte ni traces applicatives. Checkmate transmet ses alertes à PagerDuty, mais sa documentation ne couvre ni planning d'astreinte ni APM. OneUptime réunit ces briques avec la supervision et les pages de statut.
Le projet se compare aux outils facturés à l'hôte. Son site l'oppose à Datadog et PagerDuty, qui facturent par hôte, et à la pile Prometheus, Grafana, Alertmanager et exporters. Parmi ses publics, il cite les agences, avec une page de statut par client, et les admins qui veulent des métriques matérielles sans monter Prometheus. La licence est l'AGPL-3.0 : qui expose une version modifiée en service réseau doit en publier le code. La FAQ précise qu'il n'existe pas de support payant.
Empaquetage refait en juillet, chart Helm en retard. Depuis la 3.10.0 (28 juillet 2026), l'application tient dans une seule image et les anciennes images séparées ne sont plus mises à jour. D'après le README, le chart Helm déploie encore ces images, figées en 3.8.1. De la 3.3 (28 janvier 2026) à la 3.12.0 (13 septembre 2026), le dépôt a publié dix versions mineures.
