Recherche de site Web

20 outils de ligne de commande indispensables pour surveiller les performances de Linux


Être un administrateur système ou réseau chargé de surveiller et de déboguer quotidiennement les problèmes de performances du système Linux est une responsabilité extrêmement difficile.

Cela exige un dévouement sans faille, une compréhension approfondie des systèmes Linux et un engagement constant à garantir des performances et une fiabilité optimales.

Après avoir consacré une décennie à travailler en tant qu'administrateur Linux dans l'industrie informatique, j'ai vraiment apprécié la tâche ardue de surveiller et d'assurer le fonctionnement continu des systèmes.

À la lumière de cela, nous avons dressé une liste complète des 20 outils de surveillance en ligne de commande les plus fréquemment utilisés. Ces outils inestimables peuvent s'avérer indispensables à chaque administrateur système Linux/Unix, leur permettant de surveiller, diagnostiquer et maintenir efficacement la santé et les performances de leurs systèmes.

Ces outils de surveillance sont disponibles sous toutes les versions de Linux et peuvent être utiles pour surveiller et trouver les causes réelles des problèmes de performances. Cette liste de commandes présentée ici est tout à fait suffisante pour que vous puissiez choisir celle qui convient à votre scénario de surveillance.

1. Haut – Surveillance des processus Linux

La commande Linux top est un programme de surveillance des performances fréquemment utilisé par de nombreux administrateurs système pour surveiller les performances de Linux et il est disponible sous de nombreux systèmes d'exploitation Linux/de type Unix .

La commande top est utilisée pour afficher tous les processus en temps réel en cours d'exécution et actifs dans une liste ordonnée et la met à jour régulièrement. Il affiche l'utilisation du processeur, l'utilisation de la mémoire, la mémoire d'échange, la taille du cache et la taille du tampon . , Process PID, Utilisateur, Commandes et bien plus encore.

Il montre également une utilisation élevée de la mémoire et du processeur des processus en cours d'exécution. La commande top est très utile aux administrateurs système pour surveiller et prendre des mesures correctives si nécessaire. Voyons la commande supérieure en action.

top

2. VmStat – Statistiques de la mémoire virtuelle

La commande Linux VmStat est utilisée pour afficher les statistiques de la mémoire virtuelle, des threads du noyau, des disques et des processus système. , les blocages d'E/S, les interruptions, l'activité du processeur et bien plus encore.

Installer VmStat sur Linux

Par défaut, la commande vmstat n'est pas disponible sous les systèmes Linux, vous devez installer un package appelé sysstat (un puissant outil de surveillance) qui inclut un programme vmstat.

sudo yum install sysstat      [On Older CentOS/RHEL & Fedora]
sudo dnf install sysstat      [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux]
sudo apt-get install sysstat  [On Debian/Ubuntu & Mint]
sudo pacman -S sysstat        [On Arch Linux]

L'utilisation courante du format de commande vmstat est la suivante.

vmstat

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0  43008 275212   1152 561208    4   16   100   105   65  113  0  1 96  3  0

3. Lsof – Liste des fichiers ouverts

La commande lsof est utilisée dans de nombreux systèmes de type Linux/Unix pour afficher une liste de tous les fichiers et processus ouverts. Les fichiers ouverts inclus sont des fichiers disque, des sockets réseau, des canaux, des périphériques et des processus. fort>.

L'une des principales raisons d'utiliser cette commande est lorsqu'un disque ne peut pas être démonté et affiche l'erreur indiquant que les fichiers sont en cours d'utilisation ou d'ouverture. Avec cette commande, vous pouvez facilement identifier les fichiers en cours d'utilisation.

Le format le plus courant pour la commande lsof est le suivant.

lsof

COMMAND     PID   TID TASKCMD             USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAME
systemd       1                           root  cwd       DIR                8,2      224        128 /
systemd       1                           root  rtd       DIR                8,2      224        128 /
systemd       1                           root  txt       REG                8,2  1567768  134930842 /usr/lib/systemd/systemd
systemd       1                           root  mem       REG                8,2  2714928  134261052 /usr/lib64/libm-2.28.so
systemd       1                           root  mem       REG                8,2   628592  134910905 /usr/lib64/libudev.so.1.6.11
systemd       1                           root  mem       REG                8,2   969832  134261204 /usr/lib64/libsepol.so.1
systemd       1                           root  mem       REG                8,2  1805368  134275205 /usr/lib64/libunistring.so.2.1.0
systemd       1                           root  mem       REG                8,2   355456  134275293 /usr/lib64/libpcap.so.1.9.0
systemd       1                           root  mem       REG                8,2   145984  134261219 /usr/lib64/libgpg-error.so.0.24.2
systemd       1                           root  mem       REG                8,2    71528  134270542 /usr/lib64/libjson-c.so.4.0.0
systemd       1                           root  mem       REG                8,2   371736  134910992 /usr/lib64/libdevmapper.so.1.02
systemd       1                           root  mem       REG                8,2    26704  134275177 /usr/lib64/libattr.so.1.1.2448
systemd       1                           root  mem       REG                8,2  3058736  134919279 /usr/lib64/libcrypto.so.1.1.1c
...

4. Tcpdump – Analyseur de paquets réseau

La commande tcpdump est l'un des programmes d'analyseur de paquets réseau ou de renifleur de paquets en ligne de commande les plus largement utilisés pour capturer ou filtrer TCP/IP reçus ou transférés sur une interface spécifique sur un réseau.

Il fournit également une option pour enregistrer les packages capturés dans un fichier pour une analyse ultérieure. tcpdump est presque disponible dans toutes les principales distributions Linux.

tcpdump -i enp0s3

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), capture size 262144 bytes
10:19:34.635893 IP tecmint.ssh > 192.168.0.124.45611: Flags [P.], seq 2840044824:2840045032, ack 4007244093
10:19:34.636289 IP 192.168.0.124.45611 > tecmint.ssh: Flags [.], ack 208, win 11768, options 
10:19:34.873060 IP _gateway.57682 > tecmint.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; UNICAST
10:19:34.873104 IP tecmint > _gateway: ICMP tecmint udp port netbios-ns unreachable, length 86
10:19:34.895453 IP _gateway.48953 > tecmint.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; UNICAST
10:19:34.895501 IP tecmint > _gateway: ICMP tecmint udp port netbios-ns unreachable, length 86
10:19:34.992693 IP 142.250.4.189.https > 192.168.0.124.38874: UDP, length 45
10:19:35.010127 IP 192.168.0.124.38874 > 142.250.4.189.https: UDP, length 33
10:19:35.135578 IP _gateway.39383 > 192.168.0.124.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; UNICAST
10:19:35.135586 IP 192.168.0.124 > _gateway: ICMP 192.168.0.124 udp port netbios-ns unreachable, length 86
10:19:35.155827 IP _gateway.57429 > 192.168.0.124.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; UNICAST
10:19:35.155835 IP 192.168.0.124 > _gateway: ICMP 192.168.0.124 udp port netbios-ns unreachable, length 86
...

5. Netstat – Statistiques du réseau

netstat est un outil en ligne de commande permettant de surveiller les statistiques des paquets entrants et réseau sortant ainsi que les statistiques d'interface. Il s'agit d'un outil très utile permettant à chaque administrateur système de surveiller les performances du réseau et de résoudre les problèmes liés au réseau.

netstat -a | more

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:sunrpc          0.0.0.0:*               LISTEN
tcp        0      0 tecmint:domain          0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN
tcp        0      0 localhost:postgres      0.0.0.0:*               LISTEN
tcp        0      0 tecmint:ssh             192.168.0.124:45611     ESTABLISHED
tcp6       0      0 [::]:sunrpc             [::]:*                  LISTEN
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN
tcp6       0      0 localhost:postgres      [::]:*                  LISTEN
udp        0      0 0.0.0.0:mdns            0.0.0.0:*
udp        0      0 localhost:323           0.0.0.0:*
udp        0      0 tecmint:domain          0.0.0.0:*
udp        0      0 0.0.0.0:bootps          0.0.0.0:*
udp        0      0 tecmint:bootpc          _gateway:bootps         ESTABLISHED
...

Bien qu'aujourd'hui netstat soit obsolète au profit de la commande ss, vous pouvez toujours découvrir netstat dans votre boîte à outils réseau.

6. Htop – Surveillance des processus Linux

htop est un outil de surveillance des processus Linux interactif et en temps réel très avancé, qui est très similaire à la commande top de Linux, mais il possède des fonctionnalités riches comme un utilisateur- interface conviviale pour gérer les processus, touches de raccourci, vues verticales et horizontales des processus et bien plus encore.

htop

htop est un outil tiers, qui n'est pas fourni avec les systèmes Linux, vous devez l'installer à l'aide de votre outil de gestion de packages système.

Pour plus d'informations sur l'installation de htop, lisez notre article – Installer Htop (Linux Process Monitoring) sous Linux.

7. Iotop – Surveiller les E/S du disque Linux

iotop est également très similaire à la commande top et au programme htop, mais il dispose d'une fonction de comptabilité pour surveiller et afficher en temps réel E/S disque et processus.

L'outil iotop est très utile pour trouver le processus exact et les lectures/écritures sur disque très utilisées des processus.

Installer Iotop sur Linux

Par défaut, la commande iotop n'est pas disponible sous Linux et vous devez l'installer comme indiqué.

sudo yum install iotop      [On Older CentOS/RHEL & Fedora]
sudo dnf install iotop      [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux]
sudo apt-get install iotop  [On Debian/Ubuntu & Mint]
sudo pacman -S iotop        [On Arch Linux]

L'utilisation courante du format de commande iotop est la suivante.

iotop

8. Iostat – Statistiques d'entrée/sortie

iostat est un outil simple qui collectera et affichera les statistiques des périphériques de stockage d'entrée et de sortie du système. Cet outil est souvent utilisé pour tracer les problèmes de performances des périphériques de stockage, notamment les périphériques, les disques locaux et les disques distants tels que NFS . .

Installer Iostat sur Linux

Pour obtenir la commande iostat, vous devez installer un package appelé sysstat comme indiqué.

sudo yum install sysstat      [On Older CentOS/RHEL & Fedora]
sudo dnf install sysstat      [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux]
sudo apt-get install sysstat  [On Debian/Ubuntu & Mint]
sudo pacman -S sysstat        [On Arch Linux]

L'utilisation courante du format de commande iostat est la suivante.

iostat

Linux 4.18.0-193.el8.x86_64 (tecmint)   04/05/2021      _x86_64_        (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.21    0.03    0.59    2.50    0.00   96.67

Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               3.95        83.35        89.63    1782431    1916653

9. IPTraf – Surveillance LAN IP en temps réel

IPTraf est un utilitaire de surveillance de réseau en temps réel (IP LAN) basé sur une console open source pour Linux. Il collecte diverses informations telles que la surveillance du trafic IP qui transite sur le réseau, notamment les informations sur les indicateurs TCP, les détails ICMP, les pannes de trafic TCP/UDP, les paquets de connexion TCP et le nombre d'octets.

Il rassemble également des informations sur les statistiques générales et détaillées des interfaces TCP, UDP, IP, ICMP, non-IP, les erreurs de somme de contrôle IP, l'activité de l'interface, etc.

10. Psacct ou Acct – Surveiller l'activité des utilisateurs

Les outils psacct ou acct sont très utiles pour surveiller l'activité de chaque utilisateur sur le système. Les deux démons fonctionnent en arrière-plan et surveillent de près l'activité globale de chaque utilisateur sur le système ainsi que les ressources qu'ils consomment.

Ces outils sont très utiles aux administrateurs système pour suivre l'activité de chaque utilisateur, comme ce qu'il fait, les commandes qu'il a émises, combien de ressources sont utilisées, combien de temps il est actif sur le système, etc.

11. Monit – Surveillance des processus et services Linux

Monit est un utilitaire gratuit de supervision de processus open source et basé sur le Web qui surveille et gère automatiquement les processus système, les programmes, les fichiers, les répertoires, les autorisations, les sommes de contrôle et les systèmes de fichiers.

Il surveille des services comme Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH, etc. L'état du système peut être consulté à partir de la ligne de commande ou en utilisant sa propre interface Web.

Pour l'installation et la configuration, lisez notre article – Comment installer et configurer le programme Monit (Linux Process and Services Monitoring).

12. NetHogs – Surveiller la bande passante du réseau par processus

NetHogs est un joli petit programme open source (similaire à la top command de Linux) qui garde un onglet sur chaque activité réseau de processus sur votre système. Il assure également le suivi de la bande passante du trafic réseau en temps réel utilisée par chaque programme ou application.

nethogs

Pour l'installation et l'utilisation, lisez notre article : Surveiller la bande passante du réseau Linux à l'aide de NetHogs.

13. iftop – Surveillance de la bande passante réseau

iftop est un autre utilitaire gratuit de surveillance du système open source basé sur un terminal qui affiche une liste fréquemment mise à jour de l'utilisation de la bande passante réseau (hôtes sources et de destination) qui passe par l'interface réseau de votre système.

iftop est analogue à « top » dans le contexte de l'utilisation du réseau, tout comme « top » fournit des informations sur l'utilisation du processeur.

iftop appartient à la famille « haut de gamme » des outils de surveillance de réseau. Spécialement conçu pour observer une interface réseau sélectionnée par l'utilisateur, il restitue des données en temps réel sur l'utilisation actuelle de la bande passante entre deux hôtes spécifiés.

iftop

Pour l'installation et l'utilisation, lisez notre article : iftop – Surveiller l'utilisation de la bande passante réseau

14. Monitorix – Surveillance du système et du réseau

Monitorix est un utilitaire léger et gratuit conçu pour exécuter et surveiller autant de ressources système et réseau que possible sur des serveurs Linux/Unix.

Il dispose d'un serveur Web HTTP intégré qui collecte régulièrement des informations sur le système et le réseau et les affiche sous forme de graphiques. Il surveille la charge moyenne et l'utilisation du système, l'allocation de mémoire, la santé du pilote de disque, les services système et le réseau. ports, statistiques de messagerie (Sendmail, Postfix, Dovecot, etc), MySQL statistiques, et bien d'autres.

Il est conçu pour surveiller les performances globales du système et aide à détecter les pannes, les goulots d'étranglement, les activités anormales, etc.

Pour l'installation et l'utilisation, lisez notre article : Monitorix, un outil de surveillance du système et du réseau pour Linux

15. Arpwatch – Moniteur d'activité Ethernet

Arpwatch est une sorte de programme conçu pour surveiller la résolution d'adresse (les changements d'adresse MAC et IP) d'Ethernet trafic réseau sur un réseau Linux.

Il surveille en permanence le trafic Ethernet et produit un journal des modifications des paires d'adresses IP et MAC ainsi qu'un horodatage sur un réseau. Il dispose également d'une fonctionnalité permettant d'envoyer des alertes par e-mail aux administrateurs lorsqu'un couplage est ajouté ou modifié. Il est très utile pour détecter l'usurpation d'identité ARP sur un réseau.

Pour l'installation et l'utilisation, lisez notre article : Arpwatch pour surveiller l'activité Ethernet

16. Suricata – Surveillance de la sécurité du réseau

Suricata est un système de sécurité réseau, de détection d'intrusion et de système de surveillance de prévention open source hautes performances pour Linux, FreeBSD et Windows.

Il a été conçu et détenu par une fondation à but non lucratif OISF (Open Information Security Foundation).

Pour l'installation et l'utilisation, lisez notre article : Suricata – Un système de détection et de prévention des intrusions réseau

17. VnStat PHP – Surveillance de la bande passante du réseau

VnStat PHP est une application frontale basée sur le Web pour l'outil de mise en réseau le plus populaire appelé « vnstat ». VnStat PHP surveille l'utilisation du trafic réseau en mode graphique.

Il affiche l'utilisation totale du trafic réseau IN et OUT en horaire, quotidien, mensuel. rapports et de synthèse complète.

Pour l'installation et l'utilisation, lisez notre article : Surveillance de l'utilisation de la bande passante du réseau.

18. Nagios – Surveillance réseau/serveur

Nagios est un puissant système de surveillance open source de premier plan qui permet aux administrateurs réseau/système d'identifier et de résoudre les problèmes liés au serveur avant qu'ils n'affectent les processus métier majeurs.

Avec le système Nagios, les administrateurs peuvent surveiller Linux, Windows, les commutateurs, les routeurs et les imprimantes distants sur une seule fenêtre. Il affiche des avertissements critiques et indique si quelque chose s'est mal passé sur votre réseau/serveur, ce qui vous aide indirectement à démarrer les processus de correction avant qu'ils ne se produisent.

Pour l'installation, la configuration et l'utilisation, lisez notre article – Installer le système de surveillance Nagios pour surveiller les hôtes Linux/Windows distants

19. Nmon : surveiller les performances de Linux

Outil Nmon (pour Nigel's Performance Monitor), qui est utilisé pour surveiller toutes les ressources Linux telles que le processeur, la mémoire, l'utilisation du disque, le réseau, les principaux processus, NFS, le noyau et bien plus encore. Cet outil est disponible en deux modes : le mode en ligne et le mode capture.

Le mode en ligne est utilisé pour la surveillance en temps réel et le mode capture est utilisé pour stocker la sortie au format CSV pour un traitement ultérieur.

Pour l'installation et l'utilisation, lisez notre article : Installer l'outil Nmon (Performance Monitoring) sous Linux

20. Collectl : outil de surveillance des performances tout-en-un

Collectl est encore un autre utilitaire de ligne de commande puissant et riche en fonctionnalités, qui peut être utilisé pour collecter des informations sur les ressources du système Linux telles que l'utilisation du processeur, la mémoire, le réseau, les inodes, les processus, nfs, TCP. , prises et bien plus encore.

Pour l'installation et l'utilisation, lisez notre article : Installer l'outil Collectl (All-in-One Performance Monitoring) sous Linux

Nous aimerions savoir quel type de programmes de surveillance vous utilisez pour surveiller les performances de vos serveurs Linux. Si nous avons manqué un outil important que vous souhaiteriez que nous incluions dans cette liste, veuillez nous en informer via les commentaires et n'oubliez pas de le partager.