lunes, 6 de mayo de 2013

15 Herramientas de la línea de comandos para supervisar el rendimiento de Linux

Es realmente un trabajo muy duro para todo administrador Linux supervisar y depurar los problemas de rendimiento del sistema todos los días. Después de ser un administrador de Linux en la industria de TI, me enteré de que lo difícil es vigilar y mantener los sistemas en funcionamiento. Por esta razón, he compilado la lista de las 15 herramientas utilizadas para el monitoreo del sistema desde la línea de comandos que pueden ser útiles para cualquier administrador de sistemas Linux / Unix. Estos comandos están disponibles en todas las versiones de Linux y puede ser útil para controlar y encontrar las causas reales de los problemas de rendimiento. Esta lista de comandos que se muestran aquí para que pueda escoger la que sea más adecuada para su escenario de supervisión.
El Comando Top Linux es un programa para la supervisión del rendimiento que utilizan con mucha frecuencia la mayoría de los administradores de sistemas para comprobar el rendimiento de Linux y está disponible en muchos sistemas Linux / Unix. El comando top se utiliza para mostrar todo el funcionamiento y los procesos en tiempo realmente activos en una lista que actualiza regularmente. Se mostrará el uso de CPU, uso de memoria, la memoria de intercambio, Cache, Tamaño de búfer, PID de proceso, usuario, Comandos y mucho más. También muestra la carga de memoria y de la CPU de un proceso en ejecución. El comando top es mucho útil para el administrador de sistema para supervisar y tomar acción correcta cuando se requiera. Vamos a ver la parte superior de comandos en acción.
  # top 
                                                                         
top - 13:17:44 up  3:35,  3 users,  load average: 0.30, 0.61, 0.71
Tasks: 195 total,   1 running, 194 sleeping,   0 stopped,   0 zombie
Cpu(s):  8.6%us,  1.5%sy,  0.0%ni, 89.4%id,  0.0%wa,  0.3%hi,  0.2%si,  0.0%st
Mem:   3950228k total,  3669632k used,   280596k free,   260276k buffers
Swap:  5128188k total,        0k used,  5128188k free,  1039232k cached  

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 6832 javier    20   0 2594m 1.2g  44m S 11.0 31.9   4:09.29 firefox              
 6929 javier    20   0  746m 204m  23m S  5.6  5.3   0:26.26 plugin-containe
 7023 javier    20   0  547m  27m  20m S  2.3  0.7   0:02.30 konsole  
 2840 root      20   0  141m  30m  15m S  0.7  0.8   6:42.59 X            
  684 root      20   0  7408  316  212 S  0.3  0.0   0:00.48 gpm           
 1250 mysql     20   0  539m  46m 3496 S  0.3  1.2   0:14.68 mysqld 
 4759 javier    20   0 2890m  32m  19m S  0.3  0.8   1:54.24 kwin  
    1 root      20   0 50164 4804 2056 S  0.0  0.1   0:01.24 systemd 
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd          
    3 root      20   0     0    0    0 S  0.0  0.0   0:00.31 ksoftirqd/0        
    5 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 kworker/0:0H    
    7 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 kworker/u:0H    
    8 root      RT   0     0    0    0 S  0.0  0.0   0:00.20 migration/0     
    9 root      20   0     0    0    0 S  0.0  0.0   0:00.00 rcu_bh             
   10 root      20   0     0    0    0 S  0.0  0.0   0:03.62 rcu_sched       
   11 root      RT   0     0    0    0 S  0.0  0.0   0:00.03 watchdog/0    
   12 root      RT   0     0    0    0 S  0.0  0.0   0:00.04 watchdog/1    
   13 root      20   0     0    0    0 S  0.0  0.0   0:00.32 ksoftirqd/1       
   14 root      RT   0     0    0    0 S  0.0  0.0   0:00.11 migration/1    
   16 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 kworker/1:0H   
   17 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 cpuset   
   18 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 khelper  

2. Vmstat - estadísticas de la memoria virtual

Comando vmstat de Linux se utiliza para mostrar las estadísticas de la memoria virtual, hilos kernerl, discos, procesos de sistema, bloques de E / S, interrupciones, actividad de la CPU y mucho más. Al comando vmstat predeterminada no está disponible en los sistemas Linux es necesario instalar un paquete llamado sysstat que incluye un programa vmstat. El uso común del formato del comando 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
2 0 0 1386204 104712 1248944 0 0 428 103 1437 2656 39 7 47 7 0
[javier@localhost ~]$
 

3. Lsof - Lista de archivos abiertos

Comando lsof se utiliza en muchos Linux / Unix como sistema que se utiliza para motar todos los archivos abiertos y los procesos que los utilizan. Los archivos abiertos incluidos son archivos de disco, de la red, tuberías, dispositivos y procesos. Una de las principales razones para el uso de este comando es que cuando un disco no se puede desmontar y muestra el error de que hay archivos que lo están utilizando o están. Con este comando puede identificar fácilmente qué archivos están en uso. El formato más común para este comando.
  # lsof
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sd_espeak 2413 2416 javier mem REG 8,5 47664 177402 /usr/lib64/librt-2.15.so
sd_espeak 2413 2416 javier mem REG 8,5 29648 177622 /usr/lib64/libdotconf.so.0.0.1
sd_espeak 2413 2416 javier mem REG 8,5 89656 177406 /usr/lib64/libgcc_s-4.7.2-20120921.so.1
sd_espeak 2413 2416 javier mem REG 8,5 109632 177410 /usr/lib64/libresolv-2.15.so
sd_espeak 2413 2416 javier mem REG 8,5 123992 177432 /usr/lib64/libxcb.so.1.1.0
sd_espeak 2413 2416 javier mem REG 8,5 16832 177431 /usr/lib64/libXau.so.6.0.0
sd_espeak 2413 2416 javier mem REG 8,5 1288248 177433 /usr/lib64/libX11.so.6.3.0
sd_espeak 2413 2416 javier mem REG 8,5 977936 177407 /usr/lib64/libstdc++.so.6.0.17
sd_espeak 2413 2416 javier mem REG 8,5 76208 177434 /usr/lib64/libXext.so.6.4.0
sd_espeak 2413 2416 javier mem REG 8,5 38640 177688 /usr/lib64/libao.so.4.0.0

4. Tcpdump - Packet Analyzer

Tcpdump es el analizador de paquetes de la línea de comandos más utilizado o programa de succionador de paquetes que se utiliza tanto para la captura o el filtro de paquetes TCP/IP que recibieron o han sido transferidos 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 esta casi siempre disponible en las principales distribuciones de Linux.
  # tcpdump -i eth0
22:19:22.443542 IP 208.92.53.111.http > localhost.localdomain.33461: Flags [P.], seq 4213809828:4213810056, ack 3942125296, win 1716, options [nop,nop,TS val 1933996291 ecr 1717147], length 228
22:19:22.443634 IP localhost.localdomain.33461 > 208.92.53.111.http: Flags [.], ack 4294965856, win 1395, options [nop,nop,TS val 1717306 ecr 1933996173,nop,nop,sack 1 {0:228}], length 0
22:19:22.443669 IP 208.92.53.111.http > localhost.localdomain.33461: Flags [.], seq 4294965856:0, ack 1, win 1716, options [nop,nop,TS val 1933996291 ecr 1717147], length 1440
22:19:22.443702 IP localhost.localdomain.33461 > 208.92.53.111.http: Flags [.], ack 228, win 1395, options [nop,nop,TS val 1717306 ecr 1933996291], length 0

5. Netstat - Estadísticas de la red

Netstat es una herramienta de línea de comandos para controlar los paquetes de red, estadísticas entrantes y salientes, así como estadísticas de la interfaz. Es una herramienta muy útil para todos los administradores de sistema para monitorear el desempeño de la red y solucionar 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 *:https                 *:*                     LISTEN   
tcp        0      0 *:db-lsp                *:*                     LISTEN   
tcp        0      0 localhost:atmtcp        *:*                     LISTEN   
tcp        0      0 *:40643                 *:*                     LISTEN   
tcp        0      0 *:24837                 *:*                     LISTEN   
tcp        0      0 *:mysql                 *:*                     LISTEN   
tcp        0      0 *:rfb                   *:*                     LISTEN   
tcp        0      0 *:sunrpc                *:*                     LISTEN   
tcp        0      0 *:http                  *:*                     LISTEN   
tcp        0      0 localhost.locald:domain *:*                     LISTEN   
tcp        0      0 *:ssh                   *:*                     LISTEN   
tcp        0      0 localhost:ipp           *:*                     LISTEN   
tcp        0      0 *:59897                 *:*                     LISTEN   
tcp        0      0 localhost:smtp          *:*                     LISTEN   
tcp        0      0 localhost.localdo:60709 108.160.163.40:http     ESTABLISHED
tcp        0      0 localhost.localdo:58334 db3msgr5010618.gat:msnp ESTABLISHED
tcp        0      0 localhost.localdo:49572 wb-in-f125.:xmpp-client ESTABLISHED
tcp        0      0 localhost.localdo:39190 mad01s08-in-f21.1:https ESTABLISHED
tcp        0      0 localhost.localdo:57934 195.57.81.34:http       ESTABLISHED
tcp        0      0 localhost.localdo:34153 ec2-23-21-236-70.c:http ESTABLISHED
tcp        0      0 localhost.localdo:34152 ec2-23-21-236-70.c:http ESTABLISHED
tcp        0      0 localhost.localdo:34154 ec2-23-21-236-70.c:http TIME_WAIT
tcp        0      0 localhost.localdo:55572 s3-1.amazonaws.co:https ESTABLISHED
 

6. Htop - Seguimiento de procesos Linux

Htop es una herramienta mucho más avanzada, interactiva y en tiempo real Linux para el seguimiento de procesos. Es similar al comando top de Linux pero tiene algunas características avanzadas como interfaz fácil de usar para la gestión de procesos, teclas de acceso directo, vista vertical y horizontal de los procesos y mucho más. Htop es una herramienta de terceros y no se incluye en los sistemas Linux, debe instalarlo utilizando YUM (o APT-GET) o el que sea su herramienta de gestión de paquetes. Para obtener más información sobre la instalación, lea nuestro artículo siguiente.
Administración: Glances - herramienta de monitoreo y supervisión para Linux
  # htop 

7. Iotop - Monitor Linux disco I / O

Iotop es también muy similar a al comando top y al programa htop, pero tiene la función de contabilidad para monitorear y visualizar en tiempo real las E/S del disco y procesos. Esta herramienta es muy útil para encontrar el proceso exacto y disco utilizado alta lectura / escritura de los procesos.
  # iotop 
9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_bh]
10 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_sched]
11 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0]
12 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/1]
13 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/1]
14 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/1]
16 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/1:0H]
17 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [cpuset]
18 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khelper]


8. Iostat - Estadísticas Entrada / Salida

Iostat es una herramienta sencilla que recoger y mostrar las estadísticas de entrada y salida de un dispositivo de almacenamient del sistema y. Esta herramienta se utiliza a menudo para rastrear problemas de rendimiento de los dispositivos de almacenamiento, incluyendo dispositivos, discos locales, discos remotos como NFS.
# iostat
# 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
 

9. IPTraf - Monitoreo en tiempo real LAN IP

IPTraf es una utilidad de monitorización de código abierto basada en consola y en tiempo real de la red para Linux. (IP LAN) - Recoge una gran variedad de información como monitor de tráfico IP que pasa a través de la red, incluida la información de flags TCP, detalles ICMP, TCP / averías tráfico UDP, paquete de conexión TCP y cuenta Byne. También recoge información de estadísticas de la interfaz general y detaled de TCP, UDP,,,, errores de suma de comprobación IP no IP ICMP IP, interfaz actividad, etc

10. Psacct or Acct - Monitor de actividad del usuario

La herramientas psacct o acct son muy útiles para el seguimiento de cada actividad de los usuarios en el sistema. Ambos demonios se ejecutan en segundo plano y mantienen una estrecha vigilancia sobre la actividad global de cada usuario en el sistema y también qué recursos están siendo consumidos por ellos.
Estas herramientas son muy útiles para los administradores de sistemas para el seguimiento de cada actividad de los usuarios, que les gusta o que están haciendo, qué comandos ejecutan, la cantidad de recursos utilizados por ellos, el tiempo que están activos en el sistema, etc
 

11. Monit - Proceso de Linux y Seguimiento de Servicios

Monit es una utilidad para la supervisión de procesos basado en web que monitoriza automáticamente los procesos, programas, archivos, directorios, permisos, sumas de control y sistemas de archivos.
Efectuará un seguimiento de los servicios como Apache, MySQL, correo, FTP, ProFTP, Nginx, SSH, etc. El estado del sistema se puede verse desde la línea de comandos o usar la propia interfaz web.

12. NetHogs - Monitor por proceso Ancho de banda de red

NetHogs es un pequeño programa agradable (similar al comando top Linux) que mantiene una ficha en cada actividad de red de proceso en el sistema. También mantiene una pista de ancho de banda de tráfico de red en tiempo real que utiliza cada programa o aplicación.

13. iftop - Control de ancho de banda de red

iftop es otra utilidad basada en terminal para el control que muestra una lista actualizada con frecuencia de utilización del ancho de banda de red (hosts de origen y de destino) que pasa a través de la interfaz de red en el sistema. iftop se considera a la red, lo que 'top' hace uso de la CPU. iftop es una herramienta 'top' para monitorear una interfaz seleccionada y muestra un uso de ancho de banda actual entre dos hosts.

14. Monitorix - Sistema y Red de Monitoreo

Monitorix es una ligera utilidad gratuita que está diseñado para ejecutar y supervisar los recursos del sistema y de la red con el mayor número posible de servidores Linux / Unix. Se ha incorporado un servidor web HTTP que recoge regularmente información del sistema y de la red y los muestra en los gráficos. Efectuará un seguimiento de la carga promedio del sistema y su uso, la asignación de memoria, la salud del disco, los servicios del sistema, puertos de red, estadísticas de correo (Sendmail, Postfix, Dovecot, etc), las estadísticas de MySQL y muchos más. Es diseñado para controlar el rendimiento general del sistema y ayuda en la detección de fallas, cuellos de botella, actividades anormales, etc

15. Arpwatch - Ethernet Activity Monitor

Arpwatch es un programa que está diseñado para control de resolución de direcciones (MAC y cambios en la dirección IP) del tráfico de red Ethernet en una red Linux. Está continuamente vigilando el tráfico Ethernet y registra los cambios en las direcciones IPs y direcciones MACs, los cambios de pares junto con las marcas de tiempo en una red. También tiene una función para enviar un e-mail avisando al administrador, cuando una pareja es agregada o cambia. Es muy útil en la detección de suplantación ARP en una red.

Un agradecimiento a http://www.linux-party.com de done obtuve esta relacion de comandos, voy a aumentar algunos adicionales luego.

saludos

Miguel

No hay comentarios.: