Búsqueda de sitios web

20 herramientas de línea de comandos imprescindibles para monitorear el rendimiento de Linux


Ser un administrador de sistemas o redes encargado de monitorear y depurar los problemas de rendimiento del sistema Linux diariamente es una responsabilidad inmensamente desafiante.

Exige una dedicación inquebrantable, un profundo conocimiento de los sistemas Linux y un compromiso constante para garantizar un rendimiento y una confiabilidad óptimos.

Después de dedicar una década a trabajar como administrador de Linux en la industria de TI, he llegado a apreciar verdaderamente la ardua tarea de monitorear y garantizar el funcionamiento continuo de los sistemas.

En vista de esto, hemos seleccionado una lista completa de las 20 herramientas de monitoreo de línea de comandos más utilizadas. Estas herramientas invaluables pueden resultar indispensables para cada administrador de sistemas Linux/Unix, permitiéndoles monitorear, diagnosticar y mantener de manera eficiente el estado y el rendimiento de sus sistemas.

Estas herramientas de monitoreo están disponibles en todas las versiones de Linux y pueden ser útiles para monitorear y encontrar las causas reales de los problemas de rendimiento. Esta lista de comandos que se muestra aquí es suficiente para que usted elija el que sea adecuado para su escenario de monitoreo.

1. Arriba: Monitoreo de procesos de Linux

El comando top de Linux es un programa de supervisión del rendimiento que muchos administradores de sistemas utilizan con frecuencia para supervisar el rendimiento de Linux y está disponible en muchos sistemas operativos Linux/tipo Unix.

El comando superior se utiliza para mostrar todos los procesos activos y en ejecución en tiempo real en una lista ordenada y la actualiza periódicamente. Muestra uso de CPU, uso de memoria, memoria de intercambio, tamaño de caché, tamaño de búfer. >, PID de proceso, Usuario, Comando y mucho más.

También muestra una alta utilización de memoria y CPU de los procesos en ejecución. El comando superior es muy útil para que los administradores del sistema supervisen y tomen medidas correctivas cuando sea necesario. Veamos el comando superior en acción.

top

2. VmStat – Estadísticas de memoria virtual

El comando VmStat de Linux se utiliza para mostrar estadísticas de memoria virtual, subprocesos del kernel, discos y procesos del sistema. , bloques de E/S, interrupciones, actividad de la CPU y mucho más.

Instalar VmStat en Linux

De forma predeterminada, el comando vmstat no está disponible en los sistemas Linux; necesita instalar un paquete llamado sysstat (una poderosa herramienta de monitoreo) que incluye 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]

El uso común del formato del comando vmstat es.

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 – Lista de archivos abiertos

El comando lsof se utiliza en muchos sistemas Linux/tipo Unix para mostrar una lista de todos los archivos y procesos abiertos. Los archivos abiertos incluidos son archivos de disco, zócalos de red, tuberías, dispositivos y procesos . .

Una de las razones principales para usar este comando es cuando un disco no se puede desmontar y muestra el error de que se están usando o abriendo archivos. Con este comando, puede identificar fácilmente qué archivos están en uso.

El formato más común para el comando lsof es.

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: analizador de paquetes de red

El comando tcpdump es uno de los programas de analizador de paquetes de red o rastreador de paquetes de línea de comandos más utilizados que se utiliza para capturar o filtrar >Paquetes TCP/IP que se reciben o transfieren en una interfaz específica a través de una red.

También proporciona una opción para guardar paquetes capturados en un archivo para su posterior análisis. tcpdump está casi disponible en todas las principales distribuciones 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
...

5. Netstat – Estadísticas de red

netstat es una herramienta de línea de comandos para monitorear estadísticas de paquetes de red entrantes y salientes, así como estadísticas de interfaz. Es una herramienta muy útil para que todo administrador de sistemas supervise el rendimiento de la red y solucione problemas relacionados con la red.

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

Si bien en la actualidad netstat ha quedado obsoleto en favor del comando ss, aún puede descubrir netstat en su kit de herramientas de red.

6. Htop – Monitoreo de procesos de Linux

htop es una herramienta de monitoreo de procesos de Linux interactiva y en tiempo real muy avanzada, que es muy similar al top command de Linux, pero tiene algunas características ricas como un control de usuario. interfaz amigable para gestionar procesos, teclas de acceso directo, vistas verticales y horizontales de los procesos, y mucho más.

htop

htop es una herramienta de terceros que no viene con los sistemas Linux; debe instalarla utilizando la herramienta de administración de paquetes del sistema.

Para obtener más información sobre la instalación de htop, lea nuestro artículo: Instalar Htop (Monitoreo de procesos de Linux) en Linux.

7. Iotop: monitorea la E/S del disco de Linux

iotop también es muy similar al comando top y al programa htop, pero tiene una función de contabilidad para monitorear y mostrar en tiempo real. E/S de disco y procesos.

La herramienta iotop es muy útil para encontrar el proceso exacto y las lecturas/escrituras en disco muy utilizadas de los procesos.

Instalar IoTop en Linux

De forma predeterminada, el comando iotop no está disponible en Linux y debe instalarlo como se muestra.

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]

El uso común del formato de comando iotop es.

iotop

8. Iostat – Estadísticas de entrada/salida

iostat es una herramienta sencilla que recopilará y mostrará estadísticas de dispositivos de almacenamiento de entrada y salida del sistema. Esta herramienta se utiliza a menudo para rastrear problemas de rendimiento de dispositivos de almacenamiento, incluidos dispositivos, discos locales y discos remotos como NFS. >.

Instalar Iostat en Linux

Para obtener el comando iostat, necesita instalar un paquete llamado sysstat como se muestra.

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]

El uso común del formato de comando iostat es.

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: monitoreo de LAN IP en tiempo real

IPTraf es una utilidad de monitoreo de red en tiempo real (IP LAN) basada en consola de código abierto para Linux. Recopila una variedad de información, como el monitoreo del tráfico IP que pasa por la red, incluida información de la bandera TCP, detalles ICMP, desgloses del tráfico TCP/UDP, paquetes de conexión TCP y recuentos de bytes.

También recopila información sobre estadísticas generales y detalladas de la interfaz de TCP, UDP, IP, ICMP, no IP, errores de suma de comprobación de IP, actividad de la interfaz, etc.

10. Psacct o Acct: monitorear la actividad del usuario

Las herramientas psacct o acct son muy útiles para monitorear la actividad de cada usuario en el sistema. Ambos demonios se ejecutan en segundo plano y vigilan de cerca la actividad general de cada usuario en el sistema y también los recursos que consumen.

Estas herramientas son muy útiles para que los administradores de sistemas realicen un seguimiento de la actividad de cada usuario, como qué están haciendo, qué comandos emitieron, cuántos recursos utilizan, cuánto tiempo están activos en el sistema, etc.

11. Monit: monitoreo de procesos y servicios de Linux

Monit es una utilidad gratuita de supervisión de procesos basada en la web y de código abierto que monitorea y administra automáticamente los procesos, programas, archivos, directorios, permisos, sumas de verificación y sistemas de archivos del sistema.

Supervisa servicios como Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH, etc. El estado del sistema se puede ver desde la línea de comando o utilizando su propia interfaz web.

Para la instalación y configuración, lea nuestro artículo: Cómo instalar y configurar el programa Monit (monitoreo de procesos y servicios de Linux).

12. NetHogs: monitorear el ancho de banda de la red por proceso

NetHogs es un pequeño programa agradable de código abierto (similar al top command de Linux) que mantiene un registro de cada actividad de red de procesos en su sistema. También realiza un seguimiento del ancho de banda del tráfico de red en tiempo real utilizado por cada programa o aplicación.

nethogs

Para la instalación y el uso, lea nuestro artículo: Monitorear el ancho de banda de la red Linux usando NetHogs

13. iftop – Monitoreo del ancho de banda de la red

iftop es otra utilidad gratuita de monitoreo del sistema de código abierto basada en terminal que muestra una lista actualizada con frecuencia de la utilización del ancho de banda de la red (hosts de origen y destino) que pasa a través de la interfaz de red de su sistema.

iftop es análogo a 'top' en el contexto del uso de la red, de forma muy parecida a cómo 'top' proporciona información sobre el uso de la CPU.

iftop pertenece a la estimada familia "superior" de herramientas de monitoreo de red. Diseñado específicamente para observar una interfaz de red seleccionada por el usuario, genera datos en tiempo real sobre la utilización actual del ancho de banda entre dos hosts específicos.

iftop

Para la instalación y el uso, lea nuestro artículo: iftop – Monitorear la utilización del ancho de banda de la red

14. Monitorix: monitoreo de sistemas y redes

Monitorix es una utilidad liviana y gratuita diseñada para ejecutar y monitorear tantos recursos del sistema como de la red como sea posible en servidores Linux/Unix.

Tiene un servidor web HTTP incorporado que recopila periódicamente información del sistema y de la red y la muestra en gráficos. Supervisa el uso y carga promedio del sistema, la asignación de memoria, el estado del controlador de disco, los servicios del sistema y la red. puertos, estadísticas de correo (Sendmail, Postfix, Dovecot, etc), MySQL estadísticas y mucho más.

Está diseñado para monitorear el rendimiento general del sistema y ayuda a detectar fallas, cuellos de botella, actividades anormales, etc.

Para su instalación y uso, lea nuestro artículo: Monitorix, una herramienta de monitoreo de redes y sistemas para Linux

15. Arpwatch – Monitor de actividad de Ethernet

Arpwatch es un tipo de programa que está diseñado para monitorear la resolución de direcciones (cambios de direcciones MAC e IP) de Ethernet. fuerte> tráfico de red en una red Linux.

Vigila continuamente el tráfico de Ethernet y produce un registro de los cambios de pares de direcciones IP y MAC junto con una marca de tiempo en una red. También tiene una función para enviar alertas por correo electrónico a los administradores cuando se agrega o cambia un emparejamiento. Es muy útil para detectar suplantación de identidad ARP en una red.

Para instalación y uso, lea nuestro artículo: Arpwatch para monitorear la actividad de Ethernet

16. Suricata: monitoreo de seguridad de la red

Suricata es un sistema de seguridad de red y detección de intrusiones y monitoreo de prevención de código abierto y de alto rendimiento para Linux, FreeBSD y Windows.

Fue diseñado y es propiedad de una fundación sin fines de lucro OISF (Open Information Security Foundation).

Para su instalación y uso, lea nuestro artículo: Suricata: un sistema de prevención y detección de intrusiones en la red

17. VnStat PHP: monitoreo del ancho de banda de la red

VnStat PHP es una aplicación frontend basada en web para la herramienta de red más popular llamada "vnstat". VnStat PHP monitorea el uso del tráfico de la red en un modo muy gráfico.

Muestra el uso total del tráfico de red ENTRADA y SALIDA en cada hora, diariamente, mensualmente. informes fuertes> y resumen completo.

Para la instalación y el uso, lea nuestro artículo: Monitoreo del uso del ancho de banda de la red

18. Nagios – Monitoreo de red/servidor

Nagios es un potente sistema de monitoreo líder de código abierto que permite a los administradores de redes/sistemas identificar y resolver problemas relacionados con el servidor antes de que afecten los principales procesos comerciales.

Con el sistema Nagios, los administradores pueden monitorear Linux, Windows, conmutadores, enrutadores e impresoras remotas en una sola ventana. Muestra advertencias críticas e indica si algo salió mal en su red/servidor, lo que indirectamente le ayuda a comenzar los procesos de reparación antes de que ocurran.

Para la instalación, configuración y uso, lea nuestro artículo: Instalar el sistema de monitoreo Nagios para monitorear hosts remotos de Linux/Windows

19. Nmon: monitorear el rendimiento de Linux

Herramienta Nmon (siglas de Nigel's Performance Monitor), que se utiliza para monitorear todos los recursos de Linux, como CPU, memoria, uso del disco, red, procesos principales, NFS, kernel y mucho más. Esta herramienta viene en dos modos: modo en línea y modo de captura.

El modo en línea se utiliza para el monitoreo en tiempo real y el modo de captura se usa para almacenar la salida en formato CSV para su posterior procesamiento.

Para la instalación y el uso, lea nuestro artículo: Instalar la herramienta Nmon (supervisión del rendimiento) en Linux

20. Collectl: herramienta de seguimiento del rendimiento todo en uno

Collectl es otra utilidad basada en línea de comandos potente y rica en funciones, que se puede utilizar para recopilar información sobre los recursos del sistema Linux, como el uso de CPU, memoria, red, inodos, procesos, nfs, TCP. , enchufes y mucho más.

Para la instalación y el uso, lea nuestro artículo: Instalar la herramienta Collectl (monitoreo de rendimiento todo en uno) en Linux

Nos gustaría saber qué tipo de programas de monitoreo utiliza para monitorear el rendimiento de sus servidores Linux. Si nos hemos perdido alguna herramienta importante que le gustaría que incluyéramos en esta lista, infórmenos a través de comentarios y no olvide compartirla.