Maîtriser les outils de surveillance système pour Ubuntu Server est essentiel pour garantir des performances optimales, diagnostiquer les problèmes et maintenir la fiabilité du système. Dans ce tutoriel, nous explorerons les meilleurs outils de surveillance système disponibles pour les serveurs Ubuntu, notamment la surveillance des ressources en temps réel, les E/S disque, l’activité réseau et les tableaux de bord de serveur.
Article précédent:
01. Introduction à Ubuntu Server – SysOSX: AI & Cloud
02. Comment configurer votre premier serveur Ubuntu : guide du débutant – SysOSX: AI & Cloud
03.Maîtriser la ligne de commande Linux pour Ubuntu Server – SysOSX: AI & Cloud
05. Notions de base sur les réseaux pour Ubuntu Server : guide complet – SysOSX: AI & Cloud
06. Installation et gestion des logiciels sur Ubuntu Server : guide complet – SysOSX: AI & Cloud
07.Application des correctifs et mise à jour d’Ubuntu Server : guide complet – SysOSX: AI & Cloud
09. Audit et journalisation du serveur Ubuntu
Utiliser htop et top pour la surveillance des ressources en temps réel
Introduction à htop et top
Les deux htop et top sont des outils en ligne de commande essentiels pour surveiller les ressources système en temps réel. Ils affichent des informations telles que l’utilisation du processeur, la consommation de mémoire et les processus en cours d’exécution.
Installation et exécution de htop (il est installé par défaut)
Pour installer htop, exécutez :
sudo apt update
sudo apt install htop
Pour lancer htop, tapez simplement :
htop
Fonctionnalités clés et cas d’utilisation de htop
htop est idéal pour :
- Identifier les processus gourmands en ressources: vous pouvez trier les processus par utilisation du processeur ou de la mémoire pour trouver rapidement les processus gourmands en ressources.
- Arrêter les processus: utilisez
F9pour mettre fin aux processus qui ne répondent pas ou qui posent problème directement depuis l’interface dehtop. - Surveiller les threads: développez les processus pour afficher les threads individuels et leur utilisation des ressources.
- Personnaliser les colonnes: appuyez sur
F2pour configurer l’affichage et ajouter ou supprimer des métriques comme les E/S disque ou l’utilisation du réseau.
Utiliser top
top est un outil plus simple, préinstallé sur les serveurs Ubuntu. Pour l’exécuter :
top
Commandes clés pour top:
- Appuyez sur
Shift + ppour trier par utilisation du processeur. - Appuyez sur
Shift + mpour trier par utilisation de la mémoire. - Appuyez sur
qpour quitter.
Installation et configuration de sysstat pour les métriques de performance
Qu’est-ce que sysstat?
sysstat est une suite d’outils permettant de collecter et de signaler les métriques de performance du système au fil du temps. Elle comprend des utilitaires comme iostat, vmstat, et sar.
Installation de sysstat
Pour installer sysstat:
sudo apt update
sudo apt install sysstat
Configuration de sysstat
Activez la collecte de données en modifiant le fichier de configuration :
sudo nano /etc/default/sysstat
Modifiez ENABLED="false" par ENABLED="true". Enregistrez, quittez, puis redémarrez le service :
sudo systemctl restart sysstat
Utiliser sysstat : les outils
iostat: surveiller les performances d’E/S disque.iostat

vmstat: surveiller les statistiques de mémoire, de processeur et d’E/S.vmstat

sar: générer des rapports historiques sur l’activité du système.sar -u 5 10 # CPU usage every 5 seconds for 10 intervals

Surveillance des E/S disque et de l’activité réseau
Surveillance des E/S disque avec iotop
Utilisez des outils comme iostat (de sysstat) ou iotop pour surveiller les E/S disque en temps réel.
Pour installer iotop:
sudo apt update
sudo apt install iotop
Exécutez iotop avec la commande :
sudo iotop
Cependant, certains utilisateurs peuvent rencontrer l’erreur suivante lors de l’exécution de iotop:
CONFIG_TASK_DELAY_ACCT not enabled in kernel, cannot determine SWAPIN and IO %
Comment corriger l’erreur iotop .
Ce problème survient parce que le noyau ne dispose pas de la fonctionnalité CONFIG_TASK_DELAY_ACCT , qui est requise pour que iotop affiche les pourcentages SWAPIN et IO. Heureusement, cela peut être résolu en mettant à jour la configuration de GRUB.
Étapes pour corriger l’erreur
- Modifiez le fichier de configuration de GRUB :
sudo nano /etc/default/grub
- Ajoutez l’option
delayacctà l’entréeGRUB_CMDLINE_LINUX_DEFAULT. Si la ligne est initialement vide (GRUB_CMDLINE_LINUX_DEFAULT=""), mettez-la à jour comme suit :GRUB_CMDLINE_LINUX_DEFAULT="delayacct"Si la ligne contient déjà d’autres options, ajoutezdelayacctaux options existantes, en les séparant par un espace. Par exemple :
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash delayacct"
- Mettez à jour GRUB pour appliquer les modifications :
sudo update-grub
- Redémarrez le serveur :
sudo reboot
Après le redémarrage, l’erreur devrait être résolue et iotop fonctionnera correctement.
Utiliser `iotop
Une fois le problème résolu, vous pouvez exécuter iotop pour surveiller les E/S disque :
sudo iotop
Ce que vous pouvez faire avec iotop
- Identifier les processus qui provoquent une forte activité d’E/S disque.
- Surveiller les opérations de lecture/écriture en temps réel.
- Trier les processus par utilisation du disque.
Surveillance de l’activité réseau
Utiliser iftop
Pour installer iftop:
sudo apt update
sudo apt install iftop
Exécutez iftop avec la commande :
sudo iftop
Utiliser nload
Pour installer nload:
sudo apt update
sudo apt install nload
Exécutez nload avec la commande :
nload
Configuration de tableaux de bord de serveur avec Cockpit
Qu’est-ce que Cockpit ?
Cockpit est un tableau de bord graphique basé sur le Web pour surveiller et gérer les serveurs. Il fournit des informations en temps réel sur le processeur, la mémoire, l’utilisation du disque et l’activité réseau.
Installation de Cockpit
Pour installer Cockpit :
sudo apt update
sudo apt install cockpit
Accès à Cockpit
Démarrez le service Cockpit :
sudo systemctl start cockpit.socket
sudo systemctl enable cockpit.socket
Accédez au tableau de bord en naviguant vers :
https://<your-server-ip>:9090
Fonctionnalités de Cockpit
- Surveiller visuellement les performances du système.
- Gérer les services, les journaux et les comptes utilisateur.
- Afficher l’utilisation du disque et l’activité réseau.
Autres outils de surveillance recommandés
Bien que des outils comme htop, sysstat, et Cockpit soient excellents pour la plupart des besoins de surveillance de serveur, il existe d’autres outils avancés qui peuvent fournir des informations plus approfondies et une meilleure visualisation pour les environnements complexes. Voici quelques outils de surveillance supplémentaires à envisager :
Prometheus et Grafana
Prometheus
Prometheus est une boîte à outils open source de surveillance et d’alerte conçue pour la fiabilité et l’évolutivité. Elle est largement utilisée dans les environnements cloud natifs et convient particulièrement bien à la surveillance des systèmes distribués et des microservices.
Fonctionnalités clés :
- Base de données de séries temporelles : stocke efficacement les métriques avec des horodatages.
- Langage de requête puissant (
PromQL) pour analyser les métriques. - Système d’alerte : intégré à des outils comme Alertmanager pour les notifications.
- Architecture basée sur le pull : Prometheus récupère activement les métriques auprès des cibles.
Cas d’utilisation :
- Surveiller l’utilisation du processeur, de la mémoire et du disque sur plusieurs serveurs.
- Suivre les métriques spécifiques aux applications (par exemple, la latence des requêtes HTTP, les taux d’erreur).
- Générer des alertes pour les métriques inhabituelles ou les défaillances du système.
Instructions d’installation :
Pour installer Prometheus sur Ubuntu :
sudo apt update
wget https://github.com/prometheus/prometheus/releases/download/v2.44.0/prometheus-2.44.0.linux-amd64.tar.gz
tar xvf prometheus-2.44.0.linux-amd64.tar.gz
cd prometheus-2.44.0.linux-amd64
./prometheus
Accédez à Prometheus en naviguant vers :
http://<your-server-ip>:9090
Veuillez noter que Prometheus et Cockpit utilisent tous deux le port 9090 par défaut ; si vous les utilisez en même temps, vous voudrez peut-être changer le port par défaut :
Résolution du conflit de port entre Prometheus et Cockpit
Option 1 : changer le port de Prometheus
Vous pouvez configurer Prometheus pour qu’il utilise un autre port en modifiant son fichier de configuration.
- Ouvrez le fichier de configuration de Prometheus :
nano prometheus.yml
- Ajoutez ou modifiez l’indicateur
--web.listen-addressdans la commande de démarrage de Prometheus ou le fichier de service pour spécifier un autre port (par exemple,9091) :
--web.listen-address=:9091
- Redémarrez Prometheus pour appliquer les modifications :
sudo systemctl restart prometheus
- Accédez à Prometheus en utilisant le nouveau port :
http://<your-server-ip>:9091
Option 2 : changer le port de Cockpit
Le port par défaut de Cockpit peut également être modifié si vous préférez conserver Prometheus sur le port 9090.
- Créez un fichier de configuration personnalisé pour Cockpit :
sudo nano /lib/systemd/system/cockpit.socket
- Ajoutez les lignes suivantes pour spécifier un nouveau port (par exemple,
9092) :ListenStream=9092 - Redémarrez le service Cockpit :
systemctl daemon-reload
systemctl restart cockpit.socket
- Accédez à Cockpit en utilisant le nouveau port :
https://<your-server-ip>:9092
Option 3 : utiliser un proxy inverse
Si changer les ports n’est pas idéal, vous pouvez utiliser un proxy inverse (par exemple, Nginx ou Apache) pour associer les deux services à des URL différentes tout en conservant leurs ports par défaut.
Par exemple :
- Prometheus:
http://<your-server-ip>/prometheus
- Cockpit:
http://<your-server-ip>/cockpit
Recommandation
Si vous utilisez fréquemment les deux outils :
Documentez les modifications de port pour référence future ou pour les autres administrateurs.
Modifiez Prometheus pour utiliser le port 9091 , car Cockpit est plus couramment accessible via son port par défaut 9090.
Grafana
Grafana est une puissante plateforme de visualisation qui s’intègre parfaitement à Prometheus. Elle vous permet de créer des tableaux de bord dynamiques pour visualiser les métriques et les tendances.
Fonctionnalités clés :
- Prise en charge de plusieurs sources : fonctionne avec Prometheus, Elasticsearch, MySQL, etc.
- Tableaux de bord personnalisés : créez des graphiques interactifs, des cartes thermiques et des tableaux.
- Alertes : configurez des alertes basées sur des seuils pour les métriques clés.
- Partage : partagez facilement les tableaux de bord avec les équipes.
Cas d’utilisation :
- Visualiser les métriques de performance des serveurs collectées par Prometheus.
- Surveiller les tendances au fil du temps pour une meilleure planification des capacités.
- Afficher les données de plusieurs sources dans un tableau de bord unifié.
Instructions d’installation :
Pour installer Grafana sur Ubuntu :
sudo apt update
sudo apt install -y software-properties-common
sudo wget -q -O - https://packages.grafana.com/gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/grafana.gpg > /dev/null
sudo echo "deb [signed-by=/usr/share/keyrings/grafana.gpg] https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt update
sudo apt install grafana
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
sudo systemctl status grafana-server
Accédez à Grafana en naviguant vers :
http://<your-server-ip>:3000
Nagios
Nagios est l’un des outils de surveillance d’infrastructure les plus populaires. Il fournit une surveillance et des alertes complètes pour les serveurs, les périphériques réseau et les applications. Il est hautement personnalisable et prend en charge les plugins pour des fonctionnalités étendues.
Fonctionnalités clés :
- Surveiller l’état des serveurs : suivre l’utilisation du processeur, de la mémoire, du disque, etc.
- Surveillance du réseau : détecter les problèmes liés aux routeurs, commutateurs et pare-feu.
- Alertes : envoyer des notifications par e-mail, SMS ou via des intégrations avec Slack.
- Vaste bibliothèque de plugins : surveiller les bases de données, les serveurs Web et d’autres services.
Cas d’utilisation :
- Surveiller les serveurs et applications critiques dans les environnements de production.
- Recevoir des alertes lorsque l’espace disque est insuffisant ou que l’utilisation du processeur est élevée.
- Surveiller la disponibilité et le temps de fonctionnement des périphériques réseau.
Instructions d’installation :
Pour installer Nagios sur Ubuntu :
sudo apt install nagios4 nagios-plugins
sudo a2enmod rewrite cgi
systemctl restart apache2
sudo systemctl status nagios4
sudo systemctl enable nagios4
sudo systemctl start nagios4
Nagios nécessite une configuration supplémentaire pour définir les cibles de surveillance. Pour une configuration détaillée, consultez la documentation Nagios.
Netdata : outil de surveillance système en temps réel
Netdata est un outil de surveillance léger et en temps réel qui fournit des informations détaillées sur les performances du système. Il est facile à installer et dispose d’une belle interface Web pour visualiser les métriques.
Étape 1 : mettre à jour les paquets système
Assurez-vous que votre système est à jour en exécutant les commandes suivantes dans le terminal :
sudo apt update
sudo apt upgrade
Étape 2 : installer Netdata
Installez Netdata à partir du dépôt Ubuntu par défaut :
sudo apt install netdata
Étape 3 : configurer Netdata
Modifiez le fichier de configuration de Netdata pour autoriser l’accès à distance :
sudo nano /etc/netdata/netdata.conf
Localisez le champ bind socket to IP et remplacez 127.0.0.1 par l’adresse IP de votre serveur :
[global]
bind socket to IP = <your-server-ip>
Enregistrez le fichier et redémarrez le service Netdata :
sudo systemctl restart netdata
Étape 4 : configurer le pare-feu
Autorisez l’accès au port par défaut de Netdata (19999) et activez le pare-feu :
sudo ufw allow 19999
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status
Étape 5 : accéder à l’interface Web de Netdata
Ouvrez votre navigateur Web et naviguez vers :
http://<your-server-ip>:19999

Comparaison des outils
| Outil | Idéal pour | Facilité d’utilisation | Visualisation | Alertes |
|---|---|---|---|---|
| Prometheus | Collecte de métriques à grande échelle | Modérée | Limitée | Oui |
| Grafana | Tableaux de bord avancés | Facile | Excellente | Oui |
| Nagios | Surveillance de l’infrastructure | Modérée | Basique | Oui |
| Netdata | Surveillance légère en temps réel | Facile | Excellente | Oui |
Conclusion
Surveiller votre serveur Ubuntu est essentiel pour maintenir les performances, diagnostiquer les problèmes et éviter les temps d’arrêt. Des outils comme htop, top, sysstat, Cockpit et d’autres offrent aux administrateurs la possibilité de surveiller efficacement les ressources. Que vous préfériez les outils en ligne de commande ou les tableaux de bord graphiques, ce guide couvre tout ce dont vous avez besoin pour mettre en place un système de surveillance robuste.
À suivre : Journalisation et surveillance centralisées
Dans le prochain article, nous nous concentrerons sur la journalisation et la surveillance centralisées afin de rationaliser davantage la gestion des serveurs et le suivi des performances. Les sujets abordés seront les suivants :
- Configurer rsyslog ou syslog-ng pour la journalisation centralisée.
- Transférer les journaux vers un serveur de journalisation distant pour une meilleure organisation et analyse.
- Intégrer votre serveur Ubuntu à des plateformes de surveillance robustes comme Nagios, Zabbix, ou Prometheus pour mieux comprendre l’état de santé et les performances du système.
Restez à l’écoute pour apprendre à centraliser votre infrastructure de journalisation et à tirer parti des outils de surveillance pour optimiser efficacement les opérations de vos serveurs !










2 thoughts on “10. System Monitoring Tools for Ubuntu Server: A Comprehensive Guide”