Surveillance des conteneurs homelab sur le bureau

Un récent article XDA raconte une histoire familière : un conteneur mort était resté dans un homelab pendant 64 jours, et les moniteurs populaires ne l’ont pas détecté. Le problème est que la plupart des surveillance de homelab est du théâtre de vérification HTTP. On vérifie l’équilibreur de charge, on obtient un 200 en réponse, et on considère toute la pile comme saine alors qu’un processus en arrière-plan s’est écrasé il y a un mois. Ce tour d’horizon couvre les meilleures applications pour la surveillance de l’intégrité des conteneurs homelab sur Windows, macOS et Linux, en mettant l’accent sur les outils qui regardent le conteneur lui-même, pas seulement le port devant lui.

Comparaison rapide

Application Meilleur pour Plateformes Plan gratuit Prix de départ Caractéristique remarquable
Uptime Kuma Vérifications HTTP et Docker avec routage d’alertes Windows, macOS, Linux Oui, self-host gratuit Gratuit Docker health probe, des dizaines de notificateurs
Beszel Tableau de bord homelab léger basé sur agent Windows, macOS, Linux Oui, self-host gratuit Gratuit CPU et mémoire des conteneurs dans le temps, empreinte minuscule
Dozzle Suivi en direct des logs de conteneur entre les hôtes Windows, macOS, Linux Oui, self-host gratuit Gratuit Logs en temps réel avec filtrage et vue swarm
Netdata Métriques haute fréquence avec détection d’anomalies Windows, macOS, Linux Oui, édition community Plan cloud moins de $10/mois Granularité à la seconde, alertes basées sur ML
Glances Navigateur de métriques terminal-first avec web UI Windows, macOS, Linux Oui, open source Gratuit Un écran pour CPU, RAM, disque, conteneurs
Prometheus + Grafana Pipeline de métriques réel avec dashboards Windows, macOS, Linux Oui, les deux open source Gratuit Règles Alertmanager sur n’importe quelle métrique
Zabbix Plateforme de surveillance complète avec agents Windows, macOS, Linux Oui, open source Gratuit Modèles, escalades, proxies distribués
Autoheal Redémarrage automatique des conteneurs non sains Windows, macOS, Linux Oui, open source Gratuit Surveille HEALTHCHECK et redémarre en cas d’échec

Ce qu'il faut chercher dans un moniteur de conteneur

Le cas XDA est instructif. Un conteneur s’exécutait, un port était ouvert, et le processus à l’intérieur était bloqué. Le moniteur regardait le port, donc rien ne s’est déclenché. Pour éviter cela :

1. Uptime Kuma, meilleur pour les vérifications HTTP et Docker avec routage d'alertes

Uptime Kuma est le moniteur de disponibilité self-hosted par défaut pour une bonne raison. Il s’exécute comme un seul conteneur, vérifie les endpoints HTTP et communique directement avec Docker pour le statut du conteneur, donc un conteneur arrêté déclenche une alerte sans qu’une vérification de port ait besoin d’échouer en premier.

Où il faiblir: les moniteurs sont configurés un par un dans l’interface utilisateur, ce qui convient pour un petit homelab et est pénible au-delà de quelques douzaines de services. Les données historiques sont limitées par le stockage SQLite.

Tarification:

Plateformes: Windows, macOS, Linux via Docker.

Télécharger: Site GitHub

Conclusion: la première chose à installer quand un homelab a plus de trois services.

2. Beszel, meilleur pour un tableau de bord homelab léger basé sur agent

Beszel est un petit agent Go plus un hub qui affiche un tableau de bord propre du CPU, RAM, disque et statistiques de conteneur au fil du temps. Il fonctionne là où Netdata est trop lourd et Uptime Kuma est trop binaire.

Où il faiblir: la couche d’alerte est plus fine qu’un pipeline Prometheus, et les intégrations en dehors des notificateurs intégrés nécessitent une couture Webhook.

Tarification:

Plateformes: Windows, macOS, Linux binaires natifs ou Docker.

Télécharger: Site GitHub

Conclusion: le bon choix quand vous voulez des graphiques d’historique sans engagement Prometheus.

3. Dozzle, meilleur pour le suivi en direct des logs entre les hôtes

Dozzle diffuse les logs de conteneur dans un navigateur avec filtres, couleurs de niveau de log et mode swarm qui récupère les logs de chaque hôte dans un seul volet. Un conteneur mourant montre souvent la défaillance dans ses logs avant que le health check ne bascule, et Dozzle est le moyen le plus rapide de voir cela.

Où il faiblir: c’est une visionneuse de logs, pas un moniteur complet, donc appariez-le avec quelque chose qui alerte sur le motif que vous repérez.

Tarification:

Plateformes: Windows, macOS, Linux via Docker.

Télécharger: Site GitHub

Conclusion: l’onglet que vous gardez ouvert quand un conteneur commence à se mal comporter.

4. Netdata, meilleur pour les métriques haute fréquence avec détection d'anomalies

Netdata échantillonne chaque métrique par seconde et applique des modèles ML qui signalent les anomalies sans que vous écriviez les règles d’alerte. Les chutes de conteneur, les ralentissements réseau et la latence des disques apparaissent sur un graphique en direct en une ou deux secondes.

Où il faiblir: l’agent utilise plus de ressources que Beszel ou Glances, et le niveau cloud est vraiment où les vues multi-nœuds brillent.

Tarification:

Plateformes: Windows, macOS, Linux.

Télécharger: Site GitHub

Conclusion: l’option à choisir quand un homelab a franchi la ligne “assez grande pour avoir besoin de vrais graphiques”.

5. Glances, meilleur pour un navigateur de métriques terminal-first

Glances affiche le CPU, la mémoire, le disque, le réseau et les statistiques des conteneurs Docker dans une seule vue terminale, et expose la même vue sur une interface web quand vous voulez un onglet de navigateur. Pour un serveur headless, c’est le moyen le plus rapide de voir ce qui se passe maintenant.

Où il faiblir: l’historique est limité à ce que le processus conserve en mémoire, et il n’y a pas de canal d’alerte intégré au-delà de stdout.

Tarification:

Plateformes: Windows, macOS, Linux.

Télécharger: Site GitHub

Conclusion: le deuxième onglet SSH sur le moniteur de chaque administrateur de homelab.

6. Prometheus + Grafana, meilleur pour un pipeline de métriques réel

Prometheus récupère les métriques, Grafana les affiche, et Alertmanager achemine les alertes où vous le souhaitez. Pointez cAdvisor et node-exporter vers le même Prometheus et vous avez CPU par conteneur, mémoire, nombre de redémarrages et statut de santé dans un seul langage de requête.

Où il faiblir: trois ou quatre pièces mobiles à configurer, et PromQL prend un week-end pour être compris. La récompense est une pile de surveillance qui ne dépasse pas le homelab.

Tarification:

Plateformes: Windows, macOS, Linux via Docker ou binaires natifs.

Télécharger: Prometheus Grafana cAdvisor

Conclusion: l’étape finale si vous prévoyez de développer le homelab. Excessif pour trois conteneurs.

7. Zabbix, meilleur pour une plateforme de surveillance complète

Zabbix est un serveur de surveillance mature avec des agents pour chaque OS, des modèles pour des centaines de services et des arbres d’escalade pour les alertes. Il surveille le conteneur, l’hôte et le réseau à partir d’un seul tableau de bord.

Où il faiblir: l’interface utilisateur montre son âge, et un homelab de cinq conteneurs n’a pas besoin de la surface opérationnelle que Zabbix apporte.

Tarification:

Plateformes: Windows, macOS, Linux.

Télécharger: Site GitHub

Conclusion: choisissez ceci si vous administrez également de vrais serveurs au travail et que vous voulez un seul outil des deux côtés de la clôture.

8. Autoheal, meilleur pour le redémarrage automatique en cas d'échec du health check

Autoheal est un seul conteneur qui surveille le statut HEALTHCHECK d’autres conteneurs et redémarre tout ce qui signale un manque de santé depuis trop longtemps. Il ne rapporte pas, il agit, donc un processus bloqué meurt et renaît avant que vous ne sachiez que quelque chose s’est mal passé.

Où il faiblir: il a besoin d’un vrai HEALTHCHECK dans le Dockerfile ou le fichier compose de chaque conteneur. Un conteneur sans lui est invisible pour Autoheal.

Tarification:

Plateformes: Windows, macOS, Linux via Docker.

Télécharger: GitHub

Conclusion: le filet de sécurité que vous ajoutez après avoir corrigé les définitions de health-check.

Comment choisir le bon

FAQ

Pourquoi ma surveillance a-t-elle manqué un conteneur mort? La cause la plus courante est une vérification qui regarde le port devant le conteneur tandis que le processus derrière se bloque. Déplacez la vérification à l’intérieur du conteneur en utilisant Docker HEALTHCHECK, ou associez la vérification HTTP à une métrique comme le nombre de processus ou le taux de lignes de log.

Ai-je besoin de Prometheus pour un petit homelab? Non. Uptime Kuma et Beszel couvrent la plupart de ce dont un petit homelab a besoin. Prometheus devient utile une fois que vous voulez un long historique, des requêtes personnalisées et des alertes basées sur les règles sur n’importe quelle métrique.

Quelle est la meilleure option gratuite? Uptime Kuma, Beszel, Dozzle, Glances, Prometheus, Grafana, Zabbix et Autoheal sont tous gratuits et open source. Uptime Kuma est le chemin le plus court de l’installation à la première alerte.

Puis-je utiliser ceci sur Windows? Oui. Chaque option ici s’exécute sur Windows soit nativement, soit via Docker Desktop. Uptime Kuma, Beszel, Dozzle, Prometheus et Grafana sont généralement exécutés en tant que conteneurs.

Comment puis-je arrêter le problème de fatigue des alertes? Acheminez les alertes vers un canal que vous lisez réellement, définissez l’escalade de l’avertissement à la page après un délai, et préférez les alertes de symptômes (les utilisateurs ne peuvent pas se connecter) aux alertes de cause (CPU à 85 pour cent). Chaque outil ci-dessus prend en charge ce modèle.