Sysstat est une suite d'outils de surveillance de performance pour Linux. Ses utilitaires les plus connus sont
sar (System Activity Reporter), iostat (pour les I/O des disques), et mpstat (pour les statistiques par processeur). C'est l'outil de base pour collecter et analyser l'historique de performance de votre système.
Pourquoi utiliser sysstat ?
- Analyse historique : Contrairement à
topouhtopqui ne montrent que l\'état actuel,sarpermet de voir ce qu\'il s\'est passé à un moment précis dans le passé. - Diagnostic de problèmes : Indispensable pour comprendre l\'origine d\'un ralentissement (CPU, mémoire, disque, réseau ?).
- Rapports complets : Fournit des données détaillées sur quasiment tous les sous-systèmes de la machine.
- Léger : La collecte de données en arrière-plan a un impact négligeable sur les performances.
Prérequis
- Un serveur Linux (Ubuntu/Debian, CentOS/RHEL, etc.).
- Accès root ou privilèges sudo.
Installation et activation
Étape 1 : Installation du paquet
# Sur Debian / Ubuntu
sudo apt-get update
sudo apt-get install -y sysstat
# Sur CentOS / RHEL
sudo yum install -y sysstat
Étape 2 : Activer la collecte de données
Pour que sar puisse enregistrer des données historiques, il faut activer la collecte via cron. Sur Debian/Ubuntu, cela se fait en modifiant un fichier :
sudo nano /etc/default/sysstat
Changez la ligne ENABLED="false" en :
ENABLED="true"
Sur CentOS/RHEL, le service est généralement activé par défaut. Redémarrez le service pour qu\'il prenne en compte le changement :
sudo systemctl restart sysstat
La collecte se fait maintenant toutes les 10 minutes via une tâche dans /etc/cron.d/sysstat.
Utilisation des outils
Les données sont stockées dans /var/log/sysstat/ dans des fichiers binaires nommés saXX (où XX est le jour du mois).
sar - L'outil principal
sar est utilisé pour afficher les données collectées.
# Utilisation CPU sur la journée actuelle (depuis le début de la collecte)
sar -u
# Utilisation mémoire
sar -r
# Activité de pagination (swapping)
sar -S
# Activité des disques
sar -b
# Activité réseau
sar -n DEV
# Afficher les données du jour précédent (fichier saDD-1)
sar -u -f /var/log/sysstat/sa$(date +%d -d "1 day ago")
iostat - Focus sur les disques
Affiche des statistiques en temps réel sur les entrées/sorties des disques.
# Rapport de base
iostat
# Rapport détaillé avec plus d'informations (extended) et en Mo
iostat -x -m
# Rapport continu toutes les 2 secondes
iostat -x -m 2
Regardez les colonnes %util (pourcentage d'utilisation du disque) et await (temps d'attente moyen) pour identifier les goulots d'étranglement.
mpstat - Focus sur le CPU
Affiche les statistiques détaillées pour chaque processeur/cœur.
# Statistiques pour tous les cœurs (ALL)
mpstat -P ALL
# Statistiques pour tous les cœurs, mises à jour toutes les 2 secondes
mpstat -P ALL 2
- Un %user élevé dans `sar` signifie que vos applications consomment beaucoup de CPU. - Un %system élevé signifie que le noyau passe beaucoup de temps en appels système. - Un %iowait élevé est un signe que le CPU attend après les disques. C'est souvent le premier indicateur d'un problème de stockage. - Une activité swap (
sar -S) non nulle sur un système avec de la RAM libre est un signe de mauvaise configuration ou de pression mémoire.
Conclusion
La suite d'outils Sysstat est indispensable pour tout administrateur système sérieux. Elle fournit les données brutes nécessaires pour diagnostiquer objectivement les problèmes de performance. Apprendre à lire les rapports de sar, iostat, et mpstat vous permettra de comprendre en profondeur le comportement de vos serveurs et de prendre des décisions éclairées pour optimiser leurs ressources.