La surveillance des serveurs est essentielle pour les entreprises afin de garantir le bon fonctionnement des différents systèmes.
Au fur et à mesure que votre entreprise se développe, vos ressources, votre personnel, vos services, vos systèmes et votre infrastructure informatique se développent également. C’est pourquoi une solution de surveillance des performances devient importante pour observer la santé, les activités et les capacités de vos serveurs.
Dans cet article, je vais vous présenter plusieurs outils légers et gratuits pour surveiller les serveurs.
Chaque administrateur informatique est confronté à ces défis – crash de serveur, applications lentes, temps d’arrêt inattendus, configuration des dépendances, dépannage des fuites de mémoire, etc. Pour résoudre ces problèmes, des logiciels/applications de surveillance informatique sont nécessaires.
Nagios et Zabbix sont les outils de surveillance les plus populaires pour l’ensemble de l’infrastructure. Grâce à ces outils, vous pouvez presque tout surveiller : les performances des serveurs, les performances du réseau, les protocoles, les systèmes d’exploitation, les applications, les sites web, etc.
Mais si votre infrastructure n’est pas assez importante ou si vous souhaitez simplement surveiller les performances de votre serveur, plutôt que d’opter pour un outil complet de bout en bout, vous pouvez choisir un logiciel léger auto-hébergé pour surveiller les serveurs.
Remarque: si vous utilisez Linux, vous pouvez également utiliser les commandes intégrées pour surveiller l’unité centrale, la mémoire et les processus.
Ward
Ward fournit des informations minimales/principales concernant uniquement les serveurs. Il est compatible avec tous les systèmes d’exploitation courants.
Ward utilise OSHI, une bibliothèque Java gratuite, pour récupérer des informations sur le système d’exploitation et le matériel. Il partage des informations telles que la version du système d’exploitation, la mémoire, le processeur, le disque et les partitions, l’utilisation du processeur, etc.
Le tableau de bord comporte cinq sections différentes :
- Processeur: Nom, % d’utilisation, nombre de cœurs, bit, fréquence
- Machine: Système d’exploitation et sa version, % de RAM, quantité de RAM, type de RAM, nombre de processus en cours
- Stockage: Nom, % d’utilisation, taille du stockage, nombre de disques, mémoire virtuelle
- utilisation en %: Cette section montre la visualisation du processeur, de la mémoire et du stockage au cours des 20 dernières secondes
- Ward: Cette section montre le temps de fonctionnement depuis le dernier démarrage sous Linux et depuis la réinitialisation du système d’exploitation sous Windows
Pour exécuter Ward, vous pouvez créer un fichier jar de ce projet et l’exécuter ou télécharger le fichier jar de la dernière version et l’exécuter. Vous pouvez également lancer Ward à l’intérieur d’un conteneur Docker.
Netdata
Netdata est un logiciel libre et gratuit pour la surveillance en temps réel des systèmes et des applications. Il peut fonctionner sur Linux, FreeBSD, macOS, les conteneurs Docker, les appareils IoT.
Vous pouvez installer l’agent Netdata sur votre système, votre application ou votre conteneur, et il vous donnera toutes les informations de performance et de santé en temps réel.
Vous pouvez sélectionner le graphique ci-dessus du CPU en couleur jaune en le faisant glisser dans le graphique et en zoomant/dézoomant à l’aide de la molette SHIFT de la souris, et cette zone sera affichée en détail. Il peut facilement s’intégrer à d’autres outils tels que Prometheus, AWS Kinesis, Graphite, MongoDB, etc.
Caractéristiques de Netdata :
- Installation simple et rapide
- Fournit des données en temps réel
- Capable de surveiller des milliers de métriques par nœud
- Peut collecter automatiquement jusqu’à 10000 métriques par serveur
- Stocke les données historiques de chaque seconde
- Présentation du tableau de bord très facile à comprendre
- Identifie les anomalies en utilisant un visualiseur de métriques moderne
- Aucune ressource dédiée n’est nécessaire pour l’exécution de Netdata
Prometheus Grafana
Prometheus est un outil open-source de surveillance des métriques système, et Grafana est une plateforme de visualisation open-source. Une configuration intégrée de Prometheus et Grafana constitue un environnement puissant pour surveiller efficacement les serveurs.
Le serveur Prometheus collecte périodiquement toutes les données, Prometheus devient la source de données pour Grafana, et Grafana visualise toutes les métriques sur le tableau de bord. Vous avez même la possibilité dans Grafana d’effectuer des requêtes sur les métriques visualisées.
Cela vaut la peine d’essayer cette combinaison !
Glances
Glances est un outil de surveillance multiplateforme écrit en Python. Il ne supporte que python 2.7 ou python >=3.4. Il utilise des bibliothèques python (psutil) pour collecter toutes les informations du système.
En fonction de la taille de l’interface (mobile, web UI, terminal), les informations affichées sur l’UI changeront dynamiquement.
Caractéristiques de Glances :
- Surveillance à distance disponible via le terminal, l’interface web ou l’API (serveur XML-RPC et RESTful JSON)
- Statistiques exportables dans un fichier ou une base de données
- Facile à installer avec une seule commande – pip install glances
- Conteneur Docker disponible pour Glances
Si vous avez besoin d’une meilleure visualisation, vous pouvez exporter les données de Glances vers InfluxDB et les visualiser sur Grafana.
Linux Dash
Linux D ash est un tableau de bord web pour les systèmes Linux. L’interface utilisateur de Linux Dash est construite sur Angular, et plusieurs langages prennent en charge le côté serveur.
L’onglet de l’état du système montre les informations sur l’utilisation de la RAM, la charge moyenne du CPU, l’utilisation du CPU, les processus du CPU et de la RAM, les partitions du disque, l’utilisation du Swap, la température du CPU et les processus Docker.
Il fournit également des informations au niveau du réseau, du compte et de l’application.
Caractéristiques de Linux Dash :
- Prise en charge de WebSocket pour une visualisation en temps réel des données du système
- Interface utilisateur par glisser-déposer
- Écrans personnalisables (minimiser, développer, ajuster) sur le tableau de bord
- Mise en œuvre côté serveur disponible dans plusieurs langages (Node.js, Python, Go, PHP)
Conky
Conky est un moniteur système écrit à l’origine pour X (système de fenêtres). Il fonctionne actuellement sur un grand nombre de plateformes différentes. Vous pouvez l’exécuter sur X, Linux, Mac OS (en utilisant X quartz), et sur la plupart des BSD.
Il affiche des informations à l’aide de texte simple ou de barres de progression et de graphiques utilisant différentes polices et couleurs.
Conky présente les caractéristiques suivantes
- 300 objets intégrés pour afficher l’état du système
- Interfaces utilisateur très simples
- Supporte les lecteurs de musique tels que Audacious, MPD
- Supporte POP3 et IMAP
- Peut afficher n’importe quelle information en utilisant des scripts et des programmes externes
Conclusion
Le contrôle des performances de votre serveur est en effet nécessaire. Si elle n’est pas effectuée correctement, elle peut créer des problèmes de performance et de disponibilité qui peuvent entraver votre activité. Mais vous n’avez pas à vous inquiéter si vous utilisez un logiciel de surveillance pour vous assurer que votre serveur fonctionne correctement.
Vous pouvez également essayer une solution de surveillance de serveur basée sur le cloud où vous n’avez pas besoin d’installer et de gérer le logiciel de surveillance.