La supervision des serveurs est une nécessité absolue pour toute entreprise souhaitant garantir le bon fonctionnement de ses systèmes.
À mesure qu’une entreprise prospère, ses ressources, ses effectifs, ses services, ses systèmes et son infrastructure informatique connaissent une expansion. Par conséquent, l’adoption d’une solution de surveillance des performances devient essentielle pour observer la santé, les activités et les capacités des serveurs.
Dans cet exposé, nous allons explorer divers outils légers et gratuits dédiés à la surveillance de serveurs.
Chaque administrateur informatique est confronté à des défis récurrents : pannes de serveur, ralentissement des applications, temps d’arrêt inattendus, complexité des configurations de dépendances, dépannage de fuites de mémoire, etc. Afin de résoudre ces problématiques, des logiciels ou applications de surveillance informatique sont indispensables.
Des solutions comme Nagios et Zabbix sont reconnues comme étant parmi les plus populaires pour la surveillance de l’infrastructure dans son ensemble. Elles permettent de suivre un large éventail d’éléments, allant des performances serveur et réseau aux protocoles, systèmes d’exploitation, applications, sites web et bien plus encore.
Cependant, si votre infrastructure est de taille modeste ou si vos besoins se limitent à la surveillance des performances serveur, il est judicieux d’opter pour un logiciel auto-hébergé léger, plutôt que pour une solution complète de bout en bout.
Note importante : si vous utilisez Linux, vous avez également la possibilité d’exploiter des commandes intégrées pour surveiller le processeur, la mémoire et les processus.
Ward
Ward fournit des informations essentielles, spécifiques aux serveurs. Il est compatible avec tous les systèmes d’exploitation courants.
Ce logiciel s’appuie sur OSHI, une bibliothèque Java gratuite permettant de récupérer des informations sur le système d’exploitation et le matériel. Les données affichées comprennent la version du système d’exploitation, la mémoire, le processeur, les disques et partitions, l’utilisation du processeur, etc.
Le tableau de bord est divisé en cinq sections distinctes :
- Processeur : Nom, pourcentage d’utilisation, nombre de cœurs, architecture, fréquence
- Machine : Système d’exploitation et sa version, pourcentage de RAM utilisée, quantité de RAM totale, type de RAM, nombre de processus actifs
- Stockage : Nom, pourcentage d’utilisation, taille totale du stockage, nombre de disques, mémoire virtuelle
- % d’utilisation : Cette section présente une visualisation graphique de l’utilisation du processeur, de la mémoire et du stockage sur les 20 dernières secondes
- Ward : Affichage du temps de disponibilité depuis le dernier démarrage sous Linux, et du temps de réinitialisation matérielle sous Windows
Pour exécuter Ward, il est possible de créer un fichier jar à partir du projet et de le lancer, ou de télécharger le fichier jar de la dernière version et de l’exécuter. Ward peut également être lancé dans un conteneur Docker.
Netdata
Netdata est un logiciel open-source gratuit destiné à la surveillance en temps réel des systèmes et des applications. Il est compatible avec Linux, FreeBSD, macOS, les conteneurs Docker et les appareils IoT.
L’agent Netdata peut être installé sur votre système, votre application ou votre conteneur. Il fournit en temps réel toutes les informations pertinentes sur les performances et la santé.
Le graphique du CPU (en jaune) peut être sélectionné par glisser-déposer. Il est possible de zoomer en avant ou en arrière à l’aide de la touche SHIFT et de la molette de la souris afin d’examiner des zones spécifiques en détail. Netdata s’intègre facilement avec d’autres outils tels que Prometheus, AWS Kinesis, Graphite, MongoDB, etc.
Fonctionnalités de Netdata :
- Installation simple et rapide
- Fourniture de données en temps réel
- Capacité de surveiller des milliers de métriques par nœud
- Collecte automatique jusqu’à 10 000 métriques par serveur
- Stockage des données historiques avec une résolution d’une seconde
- Présentation claire et intuitive du tableau de bord
- Identification rapide d’anomalies grâce à un visualiseur de métriques moderne
- Faible consommation de ressources pour son exécution
Prometheus + Grafana
Prometheus est un outil open source dédié à la surveillance des métriques système, tandis que Grafana est une plateforme de visualisation open source. L’utilisation conjointe de Prometheus et Grafana crée un environnement puissant pour une surveillance efficace des serveurs.
Le serveur Prometheus collecte les données de manière périodique, devenant ainsi la source de données pour Grafana, qui visualise ces métriques sur un tableau de bord. Grafana permet également d’interroger directement les métriques visualisées.
Ce duo est un excellent choix à explorer !
Glances
Glances est un outil de surveillance multiplateforme développé en Python. Il prend en charge Python 2.7 ou une version supérieure à 3.4. Il utilise la bibliothèque Python psutil pour la collecte d’informations système.
Les informations affichées s’adaptent dynamiquement à la taille de l’interface (mobile, interface utilisateur web, terminal).
Fonctionnalités de Glances :
- Surveillance à distance via terminal, interface utilisateur web ou API (serveur XML-RPC et API RESTful JSON)
- Possibilité d’exporter les statistiques dans un fichier ou une base de données
- Installation facile en une seule commande via pip
- Conteneur Docker disponible pour Glances
Pour une visualisation plus poussée, les données de Glances peuvent être exportées vers InfluxDB puis visualisées sur Grafana.
Linux Dash
Linux Dash est un tableau de bord web pour les systèmes Linux. L’interface utilisateur de Linux Dash est basée sur Angular, et plusieurs langages sont disponibles côté serveur.
L’onglet « État du système » affiche des informations sur l’utilisation de la RAM, la charge moyenne du processeur, l’utilisation du processeur, les processus en cours utilisant le processeur et la RAM, les partitions de disque, l’utilisation du swap, la température du processeur et les conteneurs Docker.
Des informations concernant le réseau, les comptes utilisateurs et les applications sont également fournies.
Fonctionnalités de Linux Dash :
- Prise en charge des WebSockets pour une visualisation des données système en temps réel
- Interface utilisateur glisser-déposer
- Écrans personnalisables (minimiser, agrandir, ajuster) dans le tableau de bord
- Implémentation côté serveur disponible dans différents langages (Node.js, Python, Go, PHP)
Conky
Conky est un moniteur système initialement conçu pour X Window System. Il fonctionne désormais sur diverses plateformes, notamment X, Linux, Mac OS (avec X quartz) et la plupart des systèmes BSD.
Il affiche des informations sous forme de texte brut ou de widgets tels que des barres de progression et des graphiques, en utilisant différentes polices et couleurs.
Fonctionnalités de Conky :
- Plus de 300 objets intégrés pour afficher l’état du système
- Interfaces utilisateur très simples
- Prise en charge des lecteurs de musique tels qu’Audacious et MPD
- Prise en charge des protocoles POP3 et IMAP
- Possibilité d’afficher des informations via des scripts et programmes externes
Conclusion
La surveillance des performances de vos serveurs est une nécessité. Une surveillance inadéquate peut entraîner des problèmes de performances et de disponibilité, nuisant à votre activité. Cependant, l’adoption d’une solution logicielle de surveillance permet de s’assurer du bon fonctionnement de vos serveurs et de prévenir ces problèmes.
Une alternative intéressante consiste à utiliser une solution de surveillance de serveurs basée sur le cloud. Cette approche vous dispense de l’installation et de la gestion du logiciel de surveillance.