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


Es realmente un trabajo muy difícil para todos los administradores de sistemas o redes monitorear y depurar los problemas de rendimiento del sistema Linux todos los días. Después de ser un administrador de Linux durante 5 años en la industria de TI, llegué a saber lo difícil que es monitorear y mantener los sistemas en funcionamiento. Por esta razón, hemos compilado la lista de las 20 herramientas de monitoreo de línea de comandos más utilizadas que pueden ser útiles para todos los administradores de sistemas Linux/Unix. Estos comandos están disponibles en todas las versiones de Linux y pueden ser útiles para monitorear y encontrar las causas reales del problema de rendimiento. Esta lista de comandos que se muestra aquí es suficiente para que elija el que sea adecuado para su escenario de monitoreo.

El comando Linux Top 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 similares a Linux/Unix. El comando superior utilizado para eliminar todos los procesos activos y en ejecución en tiempo real en una lista ordenada y lo actualiza con regularidad. Muestra el uso de la CPU, el uso de la memoria, la memoria de intercambio, el tamaño de la caché, el tamaño del búfer, el PID del proceso, el usuario, los comandos y mucho más. También muestra un alto uso de memoria y CPU de un proceso en ejecución. El comando superior es muy útil para que el administrador del sistema lo controle y tome las medidas correctas cuando sea necesario. Veamos al mando superior en acción.

# top

Ejemplo de comando superior

Para obtener más ejemplos del comando Top, lea: 12 ejemplos de comandos TOP en Linux

Comando Linux VmStat utilizado para mostrar estadísticas de memoria virtual, hilos kernerl, discos, procesos del sistema, bloques de E/S, interrupciones, actividad de la CPU y mucho más. Por defecto, el comando vmstat no está disponible en los sistemas Linux. Necesita instalar un paquete llamado sysstat que incluye un programa vmstat. El uso común del formato de comando es.

# vmstat

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 810420  97380  70628    0    0   115     4   89   79  1  6 90  3  0

Para obtener más ejemplos de Vmstat, lea: 6 Ejemplos de comandos de Vmstat en Linux

Comando Lsof utilizado en muchos sistemas tipo Linux/Unix que se utiliza para mostrar la lista de todos los archivos abiertos y los procesos. Los archivos abiertos incluidos son archivos de disco, sockets 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 este comando es.

# lsof

COMMAND     PID      USER   FD      TYPE     DEVICE     SIZE       NODE NAME
init          1      root  cwd       DIR      104,2     4096          2 /
init          1      root  rtd       DIR      104,2     4096          2 /
init          1      root  txt       REG      104,2    38652   17710339 /sbin/init
init          1      root  mem       REG      104,2   129900     196453 /lib/ld-2.5.so
init          1      root  mem       REG      104,2  1693812     196454 /lib/libc-2.5.so
init          1      root  mem       REG      104,2    20668     196479 /lib/libdl-2.5.so
init          1      root  mem       REG      104,2   245376     196419 /lib/libsepol.so.1
init          1      root  mem       REG      104,2    93508     196431 /lib/libselinux.so.1
init          1      root   10u     FIFO       0,17                 953 /dev/initctl

Más uso y ejemplos del comando lsof: 10 ejemplos del comando lsof en Linux

Tcpdump es uno de los analizadores de paquetes de red de línea de comandos o programas rastreadores de paquetes más utilizados que se utiliza para capturar o filtrar paquetes TCP/IP que se recibieron o transfirieron en una interfaz específica a través de una red. También proporciona una opción para guardar los paquetes capturados en un archivo para su posterior análisis. tcpdump está casi disponible en todas las principales distribuciones de Linux.

# tcpdump -i eth0

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
22:08:59.617628 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 2532133365:2532133481(116) ack 3561562349 win 9648
22:09:07.653466 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 116:232(116) ack 1 win 9648
22:08:59.617916 IP 115.113.134.3.static-mumbai.vsnl.net.in.28472 > tecmint.com.ssh: . ack 116 win 64347

Para obtener más información sobre el uso de tcpdump, lea: 12 ejemplos de comandos de Tcpdump en Linux

Netstat es una herramienta de línea de comandos para monitorear las estadísticas de paquetes de red entrantes y salientes, así como las estadísticas de la interfaz. Es una herramienta muy útil para que todos los administradores de sistemas supervisen el rendimiento de la red y solucionen 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 *:mysql                     *:*                         LISTEN
tcp        0      0 *:sunrpc                    *:*                         LISTEN
tcp        0      0 *:realm-rusd                *:*                         LISTEN
tcp        0      0 *:ftp                       *:*                         LISTEN
tcp        0      0 localhost.localdomain:ipp   *:*                         LISTEN
tcp        0      0 localhost.localdomain:smtp  *:*                         LISTEN
tcp        0      0 localhost.localdomain:smtp  localhost.localdomain:42709 TIME_WAIT
tcp        0      0 localhost.localdomain:smtp  localhost.localdomain:42710 TIME_WAIT
tcp        0      0 *:http                      *:*                         LISTEN
tcp        0      0 *:ssh                       *:*                         LISTEN
tcp        0      0 *:https                     *:*                         LISTEN

Más ejemplos de Netstat: 20 ejemplos de comandos de Netstat en Linux.

Htop es una herramienta de monitoreo de procesos de Linux interactiva y en tiempo real mucho más avanzada. Esto es muy similar al comando superior de Linux, pero tiene algunas características ricas como una interfaz fácil de usar para administrar procesos, teclas de acceso directo, vista vertical y horizontal de los procesos y mucho más. Htop es una herramienta de terceros y no está incluida en los sistemas Linux, debe instalarla con la herramienta de administración de paquetes YUM. Para obtener más información sobre la instalación, lea nuestro artículo a continuación.

# htop

Captura de pantalla de ejemplo del comando Htop

Para la instalación de Htop, lea: Instale Htop (supervisión de procesos de Linux) en Linux

Iotop también es muy similar al comando superior y al programa Htop, pero tiene una función de contabilidad para monitorear y mostrar procesos y E/S de disco en tiempo real. Esta herramienta es muy útil para encontrar el proceso exacto y las lecturas/escrituras de disco muy utilizadas de los procesos.

# iotop

Captura de pantalla de ejemplo del comando Iotop

Para la instalación y el uso de Ioptop, lea: Instale Iotop en Linux

IoStat es una herramienta sencilla que recopilará y mostrará las estadísticas del dispositivo 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, discos remotos como NFS.

# iostat

Linux 2.6.18-238.9.1.el5 (tecmint.com)         09/13/2012

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.60    3.65    1.04    4.29    0.00   88.42

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
cciss/c0d0       17.79       545.80       256.52  855159769  401914750
cciss/c0d0p1      0.00         0.00         0.00       5459       3518
cciss/c0d0p2     16.45       533.97       245.18  836631746  384153384
cciss/c0d0p3      0.63         5.58         3.97    8737650    6215544
cciss/c0d0p4      0.00         0.00         0.00          8          0
cciss/c0d0p5      0.63         3.79         5.03    5936778    7882528
cciss/c0d0p6      0.08         2.46         2.34    3847771    3659776

Para obtener más ejemplos y uso de Iostat, visite: 6 ejemplos de comandos de Iostat en Linux

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 monitor de tráfico IP que pasa por la red, incluida la información de la bandera de TCP, los detalles de ICMP, las interrupciones del tráfico de TCP/UDP, el paquete de conexión de TCP y los recuentos de byne. También recopila información de estadísticas de interfaz generales y detalladas de TCP, UDP, IP, ICMP, no IP, errores de suma de comprobación de IP, actividad de la interfaz, etc.

Para obtener más información y el uso de la herramienta IPTraf, visite: Herramienta de monitoreo de red IPTraf

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 qué recursos están consumiendo.

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

Para la instalación y el uso de ejemplo de comandos, lea el artículo sobre Supervisar la actividad del usuario con psacct o acct

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

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

Leer más: Monitoreo de procesos de Linux con Monit

NetHogs es un pequeño y agradable programa de código abierto (similar al comando superior de Linux) que mantiene una pestaña en cada actividad de la red del proceso 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.

Leer más: Monitoree el ancho de banda de la red Linux usando NetHogs

iftop es otra utilidad de monitoreo de sistema de código abierto gratuita basada en terminales 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 en su sistema. iftop se considera para el uso de la red, qué hace "top" para el uso de la CPU. iftop es una herramienta de la familia "superior" que supervisa una interfaz seleccionada y muestra el uso actual de ancho de banda entre dos hosts.

Leer más: iftop - Supervisar la utilización del ancho de banda de la red

Monitorix es una utilidad liviana y gratuita que está diseñada para ejecutar y monitorear el sistema y los recursos de red tantos como sea posible en servidores Linux/Unix. Tiene un servidor web HTTP integrado que recopila regularmente información del sistema y de la red y la muestra en gráficos. Supervisa el promedio y el uso de la carga del sistema, la asignación de memoria, el estado del controlador del disco, los servicios del sistema, los puertos de red, las estadísticas de correo (Sendmail, Postfix, Dovecot, etc.), las estadísticas de MySQL y muchos más. Está diseñado para monitorear el rendimiento general del sistema y ayuda a detectar fallas, cuellos de botella, actividades anormales, etc.

Leer más: Monitorix, una herramienta de monitoreo de redes y sistemas para Linux

Arpwatch es un tipo de programa diseñado para monitorear la resolución de direcciones (cambios de dirección MAC e IP) del tráfico de la red Ethernet en una red Linux. Vigila continuamente el tráfico de Ethernet y produce un registro de cambios de pares de direcciones IP y MAC junto con marcas de tiempo en una red. También tiene una función para enviar alertas por correo electrónico al administrador, cuando se agrega o cambia un emparejamiento. Es muy útil para detectar la suplantación de ARP en una red.

Leer más: Arpwatch para monitorear la actividad de Ethernet

Suricata es un sistema de monitoreo de prevención y detección de intrusiones y seguridad de red de código abierto de alto rendimiento para Linux, FreeBSD y Windows, diseñado y propiedad de una fundación sin fines de lucro OISF (Open Information Security Foundation).

Leer más: Suricata: un sistema de prevención y detección de intrusiones en la red

VnStat PHP es una aplicación frontend basada en la web para la herramienta de red más popular llamada "vnstat". VnStat PHP monitorea el uso del tráfico de red en un modo agradablemente gráfico. Muestra un uso total del tráfico de red IN y OUT en un informe resumido por hora, diario, mensual y completo.

Leer más: VnStat PHP - Monitoreo del ancho de banda de la red

Nagios es un potente sistema de supervisión de código abierto líder que permite a los administradores de redes/sistemas identificar y resolver problemas relacionados con el servidor antes de que afecten a los principales procesos comerciales. Con el sistema Nagios, los administradores pueden monitorear Linux, Windows, conmutadores, enrutadores e impresoras remotos 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.

Leer más: Instale el sistema de monitoreo Nagios para monitorear hosts remotos de Linux/Windows

19. Nmon: supervisar el rendimiento de Linux

Herramienta Nmon (siglas de Nigel's Performance Monitor), que se usa para monitorear todos los recursos de Linux como CPU, Memoria, Uso de 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 usa para monitoreo en tiempo real y el modo de captura, se usa para almacenar la salida en formato CSV para su posterior procesamiento.

Leer más: Instale la herramienta Nmon (supervisión del rendimiento) en Linux

20. Collectl: herramienta de supervisión del rendimiento todo en uno

Collectl es otra utilidad basada en la 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, sockets y mucho más.

Leer más: Instale la herramienta Collectl (supervisión del 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 los comentarios y no olvide compartirla.

Lea también : 13 herramientas de supervisión del rendimiento de Linux - Parte 2