Comment surveiller les performances de son serveur Linux

Comment surveiller les performances de son serveur Linux
Photo by Todd Quackenbush / Unsplash

Voici un tutoriel détaillé basé sur la liste de référence des outils de surveillance des performances Linux. Pour faciliter la compréhension, j'ai classé ces outils par catégorie (système global, processus, mémoire, disque et réseau).

Les Incontournables (Vue d'ensemble)

Ces outils vous donnent une vision globale de ce qui se passe sur votre serveur.

  1. top : Le grand classique. Il affiche en temps réel les processus qui consomment le plus de processeur (CPU) et de mémoire.
  2. htop : Une version améliorée et colorée de top. Il est beaucoup plus lisible et permet d'utiliser la souris pour interagir.
  3. atop : Un moniteur de performance très complet qui enregistre l'activité sur le long terme pour analyser un problème survenu dans le passé.
  4. glances : Un outil moderne qui regroupe énormément d'informations (CPU, Load, Mémoire, Réseau, Disques) sur une seule page très compacte.
  5. nmon : Un outil puissant qui permet d'afficher des graphiques en mode texte pour le CPU, le réseau et les disques.

Surveillance du Processeur (CPU) et Système

Ces commandes aident à comprendre si le processeur est surchargé.

  1. uptime : Indique depuis combien de temps le serveur tourne et donne la "charge moyenne" (load average).
  2. vmstat : (Virtual Memory Statistics) Affiche des statistiques sur le CPU, la mémoire et les entrées/sorties (I/O).
  3. mpstat : Permet de voir l'utilisation de chaque cœur de votre processeur individuellement.
  4. sar : Un outil qui collecte et rapporte l'activité du système sur une période donnée (très utile pour les rapports quotidiens).
  5. tload : Affiche un graphique de la charge système directement dans votre terminal.

Surveillance de la Mémoire (RAM)

Pour savoir si votre serveur manque de "cerveau" pour réfléchir.

  1. free : La commande la plus simple pour voir la quantité de mémoire utilisée, libre et disponible.
  2. smem : Rapporte la mémoire utilisée par les processus de façon plus précise que top en tenant compte des bibliothèques partagées.
  3. memstat : Identifie quel programme ou bibliothèque partagée consomme de la mémoire.

Surveillance des Disques et du Stockage

Si votre serveur est lent à lire ou écrire des fichiers, regardez ici.

  1. iostat : Affiche le temps d'utilisation des disques et les vitesses de lecture/écriture.
  2. iotop : Comme top, mais pour les disques. Il montre quel processus écrit ou lit le plus sur le disque en temps réel.
  3. df : Affiche l'espace disque total et restant sur vos partitions.
  4. du : Permet de savoir quel dossier ou fichier prend le plus de place sur votre disque.
  5. lsof : (List Open Files) Affiche tous les fichiers ouverts par le système. Indispensable pour savoir quel programme utilise un fichier.

Surveillance du Réseau

Pour diagnostiquer une connexion lente ou une saturation de la bande passante.

  1. ifstat : Affiche la quantité de données envoyées et reçues sur vos cartes réseau.
  2. iptraf : Un moniteur réseau interactif coloré qui détaille tout le trafic IP.
  3. nload : Affiche des graphiques de trafic entrant et sortant en temps réel.
  4. iftop : Montre quelle connexion (quelle adresse IP) consomme le plus de bande passante. 23. netstat : Un outil classique pour voir toutes les connexions réseau ouvertes et les ports en écoute.
  5. ss : Le remplaçant moderne de netstat, beaucoup plus rapide pour afficher les sockets réseau.
  6. nicstat : Donne des statistiques détaillées sur l'utilisation des cartes réseau.
  7. ethtool : Permet de voir et de modifier la configuration physique de votre carte réseau (vitesse, duplex, etc.).

Outils Spécialisés et Débogage

Pour aller plus loin quand un programme se comporte mal.

  1. strace : Intercepte et enregistre les appels système d'un programme. Utile pour comprendre pourquoi un logiciel plante.
  2. ps : Affiche une photo instantanée des processus en cours. ps aux est la variante la plus connue.
  3. pstree : Affiche les processus sous forme d'arbre généalogique pour voir qui a lancé quoi.
  4. dstat : Un outil polyvalent qui remplace à lui seul vmstat, iostat et ifstat.
  5. collectl : Un outil de performance "tout-en-un" qui peut surveiller presque n'importe quel paramètre système.
  6. tcpdump : Un analyseur de paquets réseau très puissant (pour voir le contenu exact de ce qui circule sur le réseau).
  7. mtr : Combine ping et traceroute pour diagnostiquer la qualité du chemin réseau vers une destination.

Conseil pour débuter

Si vous ne devez en retenir que trois pour commencer, apprenez à utiliser htop (vue globale), iotop (disque) et iftop (réseau). Ils couvrent 90% des besoins quotidiens d'un administrateur Linux.