20 eines de línia d'ordres per supervisar el rendiment de Linux


És realment una feina molt difícil per a tots els administradors de sistemes o xarxes supervisar i depurar problemes de rendiment del sistema Linux cada dia.

Després de ser administrador de Linux durant 10 anys a la indústria de les TI, vaig saber que tan difícil és supervisar i mantenir els sistemes en funcionament.

Per aquest motiu, hem compilat la llista de les 20 eines de supervisió de línia d'ordres més utilitzades que poden ser útils per a tots els administradors de sistemes Linux/Unix.

[També us pot agradar: 16 eines útils de control de l'ample de banda per analitzar l'ús de la xarxa a Linux]

Aquestes ordres estan disponibles en tots els tipus de Linux i poden ser útils per controlar i trobar les causes reals dels problemes de rendiment. Aquesta llista d'ordres que es mostra aquí és suficient perquè trieu la que s'adapti al vostre escenari de supervisió.

L'ordre superior de Linux és un programa de control de rendiment que molts administradors de sistemes utilitzen amb freqüència per supervisar el rendiment de Linux i està disponible amb molts sistemes operatius semblants a Linux/Unix.

L'ordre superior s'utilitza per mostrar tots els processos en execució i actius en temps real en una llista ordenada i l'actualitza regularment. Mostra l'ús de la CPU, l'ús de la memòria, la memòria d'intercanvi, la mida de la memòria cau, la mida del buffer, el PID del procés, l'usuari, les ordres i molt més.

També mostra una gran utilització de memòria i CPU dels processos en execució. L'ordre superior és molt útil per als administradors del sistema per supervisar i prendre mesures correctives quan sigui necessari. Vegem la comanda superior en acció.

# top

Per obtenir més exemples d'ordres superiors llegiu: 12 exemples d'ordres TOP a Linux

L'ordre VmStat de Linux s'utilitza per mostrar estadístiques de memòria virtual, fils del nucli, discs, processos del sistema, blocs d'E/S, interrupcions, activitat de la CPU i molt més.

Per defecte, l'ordre vmstat no està disponible als sistemes Linux, cal instal·lar un paquet anomenat sysstat (una potent eina de supervisió) que inclogui un programa 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'ús comú del format d'ordres vmstat és.

# 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

Per obtenir més ús i exemples, llegiu: 6 exemples d'ordres Vmstat a Linux

L'ordre lsof s'utilitza en molts sistemes semblants a Linux/Unix per mostrar una llista de tots els fitxers oberts i els processos. Els fitxers oberts inclosos són fitxers de disc, endolls de xarxa, canonades, dispositius i processos.

Un dels motius principals per utilitzar aquesta ordre és quan un disc no es pot desmuntar i mostra l'error que s'estan utilitzant o s'obren els fitxers. Amb aquesta ordre, podeu identificar fàcilment quins fitxers estan en ús.

El format més comú per a l'ordre lsof és.

# 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
...

Per a més ús i exemples, llegiu: 10 exemples d'ordres lsof a Linux

L'ordre tcpdump és un dels analitzadors de paquets de xarxa de línia d'ordres o programes de rastreig de paquets més utilitzats per capturar o filtrar paquets TCP/IP que es reben o es transfereixen en una interfície específica a través d'una xarxa.

També ofereix una opció per desar els paquets capturats en un fitxer per a una anàlisi posterior. tcpdump està gairebé disponible a totes les distribucions principals de 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
...

Per a més ús i exemples, llegiu: 12 exemples d'ordres Tcpdump a Linux

El netstat és una eina de línia d'ordres per supervisar les estadístiques de paquets de xarxa entrants i sortints, així com les estadístiques de la interfície. És una eina molt útil per a tots els administradors del sistema per controlar el rendiment de la xarxa i resoldre problemes relacionats amb la xarxa.

# 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
...

Per obtenir més ús i exemples, llegiu: 20 exemples d'ordres de Netstat a Linux.

Tot i que a l'actualitat netstat ha quedat obsolet a favor de l'ordre ss, encara podeu descobrir netstat al vostre conjunt d'eines de xarxa.

htop és una eina de supervisió de processos de Linux interactiva i en temps real molt avançada, que és molt semblant a l'ordre superior de Linux, però té algunes funcions riques com una interfície fàcil d'utilitzar per gestionar processos, tecles de drecera, vistes verticals i horitzontals dels processos. i molt més.

# htop

htop és una eina de tercers, que no ve amb els sistemes Linux, l'heu d'instal·lar mitjançant l'eina de gestor de paquets del sistema. Per obtenir més informació sobre la instal·lació de htop, llegiu el nostre article - Instal·leu Htop (control de processos de Linux) a Linux.

iotop també és molt semblant al programa de comandament superior i htop, però té una funció de comptabilitat per supervisar i mostrar processos i E/S de disc en temps real.

L'eina iotop és molt útil per trobar el procés exacte i les lectures/escriptures de disc molt utilitzades dels processos.

Per defecte, l'ordre iotop no està disponible a Linux i cal que l'instal·leu tal com es mostra.

$ 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'ús comú del format d'ordres iotop és.

# iotop

Per obtenir més ús i exemples, llegiu - Iotop - Superviseu l'activitat d'E/S del disc de Linux i l'ús per procés.

iostat és una eina senzilla que recopilarà i mostrarà les estadístiques del dispositiu d'emmagatzematge d'entrada i sortida del sistema. Aquesta eina s'utilitza sovint per rastrejar problemes de rendiment del dispositiu d'emmagatzematge, inclosos dispositius, discs locals, discs remots com NFS.

Per obtenir l'ordre iostat, heu d'instal·lar un paquet anomenat sysstat tal com es mostra.

$ 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'ús comú del format d'ordres iostat és.

# 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

Per obtenir més ús i exemples, llegiu - 6 Exemples d'ordres Iostat a Linux.

IPTraf és una utilitat de control de xarxa en temps real (IP LAN) basada en consola de codi obert per a Linux. Recull una varietat d'informació, com ara el monitor de trànsit IP que passa per la xarxa, inclosa la informació de la bandera TCP, els detalls ICMP, les interrupcions del trànsit TCP/UDP, el paquet de connexió TCP i el recompte de bytes.

També recopila informació d'estadístiques generals i detallades de la interfície de TCP, UDP, IP, ICMP, errors no IP, suma de comprovació IP, activitat de la interfície, etc.

Per obtenir més informació sobre la instal·lació i l'ús, llegiu - Monitorització de LAN IP interactiva en temps real amb l'eina IPTraf.

Les eines psacct o acct són molt útils per supervisar l'activitat de cada usuari al sistema. Tots dos dimonis s'executen en segon pla i fan una vigilància de prop de l'activitat general de cada usuari al sistema i també dels recursos que consumeixen.

Aquestes eines són molt útils per als administradors del sistema per fer un seguiment de l'activitat de cada usuari com el que està fent, quines ordres han emès, quants recursos utilitzen, quant de temps estan actius al sistema, etc.

Per a la instal·lació i l'ús d'exemple d'ordres, llegiu l'article sobre Monitor de l'activitat de l'usuari amb psacct o acct

Monit és una utilitat gratuïta de codi obert i de supervisió de processos basada en web que supervisa i gestiona automàticament els processos del sistema, programes, fitxers, directoris, permisos, sumes de comprovació i sistemes de fitxers.

Supervisa serveis com Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH, etc. L'estat del sistema es pot veure des de la línia d'ordres o mitjançant la seva pròpia interfície web.

Per a la instal·lació i configuració, llegiu el nostre article: Com instal·lar i configurar el programa Monit (control de processos i serveis de Linux).

NetHogs és un programa petit i agradable de codi obert (similar al comandament superior de Linux) que manté una pestanya a cada activitat de la xarxa de procés al vostre sistema. També fa un seguiment de l'ample de banda del trànsit de xarxa en temps real utilitzat per cada programa o aplicació.

# nethogs

Per a la instal·lació i l'ús, llegiu el nostre article: Superviseu l'ample de banda de la xarxa Linux mitjançant NetHogs

iftop és una altra utilitat gratuïta de monitorització de sistemes de codi obert basat en terminals que mostra una llista actualitzada amb freqüència d'utilització de l'ample de banda de la xarxa (amfitrions d'origen i de destinació) que passa per la interfície de xarxa del vostre sistema.

iftop es considera per a l'ús de la xarxa, què fa top per a l'ús de la CPU. iftop és una eina familiar superior que supervisa una interfície seleccionada i mostra l'ús actual de l'ample de banda entre dos amfitrions.

# iftop

Per a la instal·lació i l'ús, llegiu el nostre article: iftop - Monitorització de l'ample de banda de la xarxa

Monitorix és una utilitat lleugera gratuïta dissenyada per executar i supervisar els recursos del sistema i de la xarxa tants com sigui possible als servidors Linux/Unix.

Té un servidor web HTTP integrat que recopila regularment informació del sistema i de la xarxa i la mostra en gràfics. Supervisa els ports de xarxa, les estadístiques de correu (Sendmail, Postfix, Dovecot, etc.), les estadístiques de MySQL i molts més.

Està dissenyat per supervisar el rendiment global del sistema i ajuda a detectar errors, colls d'ampolla, activitats anormals, etc.

Per a la instal·lació i l'ús, llegiu el nostre article: Monitorix, una eina de monitorització de sistemes i xarxes per a Linux

Arpwatch és una mena de programa dissenyat per controlar la resolució d'adreces (canvis d'adreces MAC i IP) del trànsit de xarxa Ethernet en una xarxa Linux.

Vigila contínuament el trànsit Ethernet i produeix un registre dels canvis de parells d'adreces IP i MAC juntament amb una marca de temps a una xarxa. També té una funció per enviar alertes per correu electrònic als administradors, quan s'afegeix o es modifica un aparellament. És molt útil per detectar la falsificació d'ARP en una xarxa.

Per a la instal·lació i l'ús, llegiu el nostre article: Arpwatch per supervisar l'activitat Ethernet

Suricata és un sistema de control de prevenció i detecció d'intrusions i seguretat de xarxa de codi obert d'alt rendiment per a Linux, FreeBSD i Windows.

Va ser dissenyat i propietat d'una fundació sense ànim de lucre OISF (Open Information Security Foundation).

Per a la instal·lació i l'ús, llegiu el nostre article: Suricata: un sistema de prevenció i detecció d'intrusions a la xarxa

VnStat PHP és una aplicació de frontend basada en web per a l'eina de xarxa més popular anomenada vnstat. VnStat PHP supervisa l'ús del trànsit de la xarxa en un mode molt gràfic.

Mostra un ús total de trànsit de xarxa d'ENTRADA i SORTIDA en informes de resum horari, diari, mensual i complet.

Per a la instal·lació i l'ús, llegiu el nostre article: Monitorització de l'ús de l'ample de banda de la xarxa

Nagios és un potent sistema de monitorització de codi obert líder que permet als administradors de xarxa/sistema identificar i resoldre problemes relacionats amb el servidor abans que afectin els principals processos empresarials.

Amb el sistema Nagios, els administradors poden controlar Linux, Windows, commutadors, encaminadors i impressores remots en una sola finestra. Mostra advertències crítiques i indica si alguna cosa ha fallat a la vostra xarxa/servidor, cosa que us ajuda indirectament a iniciar els processos de correcció abans que es produeixin.

Per a la instal·lació, configuració i ús, llegiu el nostre article - Instal·leu el sistema de monitorització de Nagios per supervisar els hosts Linux/Windows remots

19. Nmon: supervisa el rendiment de Linux

Eina Nmon (significa el monitor de rendiment de Nigel), que s'utilitza per supervisar tots els recursos de Linux com ara CPU, memòria, ús del disc, xarxa, processos principals, NFS, nucli i molt més. Aquesta eina es presenta en dos modes: Mode en línia i Mode de captura.

El mode en línia s'utilitza per a la supervisió en temps real i el mode de captura s'utilitza per emmagatzemar la sortida en format CSV per a un processament posterior.

Per a la instal·lació i l'ús, llegiu el nostre article: Instal·leu l'eina Nmon (monitoratge del rendiment) a Linux

20. Collectl: eina de seguiment del rendiment tot en un

Collectl és una altra utilitat basada en la línia d'ordres potent i rica en funcions, que es pot utilitzar per recopilar informació sobre els recursos del sistema Linux, com ara l'ús de la CPU, la memòria, la xarxa, els inodes, els processos, nfs, TCP, sòcols i molt més.

Per a la instal·lació i l'ús, llegiu el nostre article: Instal·leu l'eina Collectl (All-in-One Performance Monitoring) a Linux

Ens agradaria saber quin tipus de programes de supervisió feu servir per controlar el rendiment dels vostres servidors Linux? Si hem perdut alguna eina important que us agradaria que incloguéssim en aquesta llista, si us plau, feu-nos-ho saber mitjançant comentaris i no us oblideu de compartir-la.

[També us pot agradar: 13 eines de control del rendiment de Linux - Part 2]