Héberger ses propres applications sur un VPS, c’est bien, jusqu’au jour où l’on se rend compte qu’une base de données est plantée depuis la veille. Ou que le disque du serveur est rempli à 100 % par des logs que personne n’a purgés.
Il existe beaucoup de solutions de monitoring. La plupart des outils d’entreprise sont des usines à gaz complexes à configurer. Pour un serveur personnel ou une petite infrastructure, on a surtout besoin d’outils simples qui font leur travail en silence et préviennent quand une panne survient.
J’utilise ces cinq outils open-source au quotidien pour surveiller mes serveurs.
1. Uptime Kuma
Uptime Kuma est un outil auto-hébergé pour vérifier la disponibilité de vos services. Vous lui donnez une URL ou un port, il effectue un ping à intervalle régulier, et son interface affiche un tableau de bord clair avec l’état de chaque service.
L’application gère les requêtes HTTP, le TCP et les vérifications DNS. Son principal intérêt réside dans son système de notifications. Vous pouvez le relier facilement à Telegram, Slack ou un webhook personnalisé.
2. Netdata
Netdata collecte les métriques de votre serveur Linux seconde par seconde. Contrairement à d’autres solutions qui demandent de configurer chaque capteur manuellement, Netdata est prêt à l’emploi.
L’agent détecte vos conteneurs Docker, vos bases de données locales et vos interfaces réseau. Il génère ensuite une interface web très dense contenant les graphiques de la charge CPU, de l’utilisation de la RAM, des écritures sur les disques et du trafic réseau. C’est l’interface que je consulte quand je veux comprendre pourquoi un serveur ralentit à un instant T.
3. Glances
Glances est une alternative plus complète à top ou htop. Tout s’affiche directement dans le terminal SSH.
Le script est écrit en Python et concentre un grand nombre d’informations sur un seul écran. Au-delà des processus et de la charge CPU classique, Glances affiche l’espace disponible sur les montages de disques, l’état des capteurs de température et liste les conteneurs Docker en cours d’exécution.
Lancer Glances avec Docker
docker run -d --restart=always \
--name=glances \
--network=host \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-e GLANCES_OPT="-w" \
nicolargo/glances:latest
Le paramètre -w active le mode web. Si vous le conservez dans la commande, vous pourrez aussi consulter l’interface sur le port 61208 depuis un navigateur.
4. Dozzle
La commande docker logs -f devient difficile à suivre quand on doit croiser les erreurs de plusieurs services. Dozzle simplifie cette lecture.
C’est un conteneur qui se branche sur le socket Docker et expose les logs dans une interface web très légère. Vous pouvez cliquer sur chaque conteneur pour suivre ses logs en direct, utiliser une barre de recherche pour isoler des erreurs, ou diviser l’écran pour comparer les logs de deux applications côte à côte.
5. Prometheus et Grafana
Netdata et Glances sont conçus pour le diagnostic instantané. Ils ne gardent pas l’historique sur le long terme. Pour conserver les métriques sur plusieurs mois, l’approche standard consiste à utiliser Prometheus pour collecter les données et Grafana pour les visualiser.
Cette architecture demande un peu de configuration. Il faut déployer Prometheus, lancer des exportateurs (comme node_exporter pour le serveur et cadvisor pour Docker), puis créer ou importer des tableaux de bord dans Grafana. L’avantage final est de pouvoir tout personnaliser et de centraliser les métriques de plusieurs serveurs sur un seul écran.
En pratique, on associe souvent Uptime Kuma pour les alertes de pannes immédiates, Grafana pour l’historique des ressources et Dozzle pour fouiller dans les logs quand une alerte tombe.
Pour aller plus loin
- Surveiller ses apps avec Uptime Kuma et Discord : Un tutoriel détaillé pour installer Uptime Kuma et configurer des alertes de pannes sur un serveur Discord ou Telegram.
- Installer Coolify sur un VPS Hostinger : La majorité des outils de cette liste peuvent s’installer directement via le catalogue de services de Coolify.