He compilado 25 herramientas de monitoreo y depuración de rendimiento que serán útiles cuando trabaje en un entorno Linux. Esta lista no es exhaustiva ni autorizada de ninguna manera.
Sin embargo, esta lista tiene suficientes herramientas para que juegue y elija la que sea adecuada para su escenario específico de depuración y monitoreo.
1. RAE
Con la utilidad sar puede hacer dos cosas:1) Supervisar el rendimiento del sistema en tiempo real (CPU, memoria, E/S, etc.) 2) Recopilar datos de rendimiento en segundo plano de forma continua y analizar los datos históricos para identificar cuellos de botella.
Sar es parte del paquete sysstat. Las siguientes son algunas de las cosas que puede hacer con la utilidad sar.
- Uso colectivo de CPU
- Estadísticas de CPU individuales
- Memoria utilizada y disponible
- Intercambio de espacio utilizado y disponible
- Actividades generales de E/S del sistema
- Actividades de E/S de dispositivos individuales
- Estadísticas de cambio de contexto
- Ejecutar cola y cargar datos promedio
- Estadísticas de la red
- Informar datos sar desde un momento específico
- y mucho más..
El siguiente comando sar mostrará las estadísticas de la CPU del sistema 3 veces (con un intervalo de 1 segundo).
El siguiente comando “sar -b” informa estadísticas de E/S. “1 3” indica que sar -b se ejecutará cada 1 segundo por un total de 3 veces.
$ sar -b 1 3 Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU) 01:56:28 PM tps rtps wtps bread/s bwrtn/s 01:56:29 PM 346.00 264.00 82.00 2208.00 768.00 01:56:30 PM 100.00 36.00 64.00 304.00 816.00 01:56:31 PM 282.83 32.32 250.51 258.59 2537.37 Average: 242.81 111.04 131.77 925.75 1369.90
Más ejemplos de SAR:Cómo instalar/configurar Sar (sysstat) y 10 ejemplos útiles de comandos de Sar
2. volcado tcp
tcpdump es un analizador de paquetes de red. Con tcpdump puede capturar los paquetes y analizarlos en busca de cuellos de botella en el rendimiento.
El siguiente ejemplo del comando tcpdump muestra los paquetes capturados en ASCII.
$ tcpdump -A -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 14:34:50.913995 IP valh4.lell.net.ssh > yy.domain.innetbcp.net.11006: P 1457239478:1457239594(116) ack 1561461262 win 63652 E.....@.@..]..i...9...*.V...]...P....h....E...>{..U=...g. ......G..7\+KA....A...L. 14:34:51.423640 IP valh4.lell.net.ssh > yy.domain.innetbcp.net.11006: P 116:232(116) ack 1 win 63652 E.....@.@..\..i...9...*.V..*]...P....h....7......X..!....Im.S.g.u:*..O&....^#Ba... E..(R.@.|.....9...i.*...]...V..*P..OWp........
Con tcpdump puede capturar paquetes en función de varias condiciones personalizadas. Por ejemplo, capturar paquetes que fluyen a través de un puerto en particular, capturar comunicación tcp entre dos hosts específicos, capturar paquetes que pertenecen a un tipo de protocolo específico, etc.
Más ejemplos de tcpdump:15 ejemplos de comandos TCPDUMP
3. Nagios
Nagios es una solución de monitoreo de código abierto que puede monitorear casi cualquier cosa en su infraestructura de TI. Por ejemplo, cuando un servidor se cae, puede enviar una notificación a su equipo de administración de sistemas, cuando una base de datos se cae, puede avisar a su equipo de DBA, cuando un servidor web se cae, puede notificar al equipo apropiado.
También puede establecer un nivel de umbral crítico y de advertencia para varios servicios para ayudarlo a abordar el problema de manera proactiva. Por ejemplo, puede notificar al equipo de administración del sistema cuando una partición de disco se llena en un 80 %, lo que dará tiempo suficiente para que el equipo de administración del sistema trabaje en agregar más espacio antes de que el problema se vuelva crítico.
Nagios también tiene una muy buena interfaz de usuario desde donde puede monitorear la salud de su infraestructura de TI general.
Las siguientes son algunas de las cosas que puede monitorear usando Nagios:
- Cualquier hardware (servidores, conmutadores, enrutadores, etc.)
- Servidores Linux y servidores Windows
- Bases de datos (Oracle, MySQL, PostgreSQL, etc.)
- Varios servicios que se ejecutan en su sistema operativo (sendmail, nis, nfs, ldap, etc.)
- Servidores web
- Tu aplicación personalizada
- etc.
Más ejemplos de Nagios:cómo instalar y configurar Nagios, monitorear una máquina Windows remota y monitorear un servidor Linux remoto.
4. iostato
iostat informa estadísticas de CPU, E/S de disco y NFS. Los siguientes son algunos ejemplos de comandos de iostat.
Iostat sin ningún argumento muestra información sobre el uso de la CPU y estadísticas de E/S sobre todas las particiones del sistema, como se muestra a continuación.
$ iostat Linux 2.6.32-100.28.5.el6.x86_64 (dev-db) 07/09/2011 avg-cpu: %user %nice %system %iowait %steal %idle 5.68 0.00 0.52 2.03 0.00 91.76 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 194.72 1096.66 1598.70 2719068704 3963827344 sda1 178.20 773.45 1329.09 1917686794 3295354888 sda2 16.51 323.19 269.61 801326686 668472456 sdb 371.31 945.97 1073.33 2345452365 2661206408 sdb1 371.31 945.95 1073.33 2345396901 2661206408 sdc 408.03 207.05 972.42 513364213 2411023092 sdc1 408.03 207.03 972.42 513308749 2411023092
Por defecto, iostat muestra datos de E/S para todos los discos disponibles en el sistema. Para ver las estadísticas de un dispositivo específico (por ejemplo, /dev/sda), use la opción -p como se muestra a continuación.
$ iostat -p sda Linux 2.6.32-100.28.5.el6.x86_64 (dev-db) 07/09/2011 avg-cpu: %user %nice %system %iowait %steal %idle 5.68 0.00 0.52 2.03 0.00 91.76 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 194.69 1096.51 1598.48 2719069928 3963829584 sda2 336.38 27.17 54.00 67365064 133905080 sda1 821.89 0.69 243.53 1720833 603892838
5. Mpstat
mpstat informa las estadísticas de los procesadores. Los siguientes son algunos ejemplos de comandos mpstat.
La opción -A muestra toda la información que puede mostrar el comando mpstat como se muestra a continuación. Esto es realmente equivalente al comando "mpstat -I ALL -u -P ALL".
$ mpstat -A Linux 2.6.32-100.28.5.el6.x86_64 (dev-db) 07/09/2011 _x86_64_ (4 CPU) 10:26:34 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 10:26:34 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.99 10:26:34 PM 0 0.01 0.00 0.01 0.01 0.00 0.00 0.00 0.00 99.98 10:26:34 PM 1 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.98 10:26:34 PM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 10:26:34 PM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 10:26:34 PM CPU intr/s 10:26:34 PM all 36.51 10:26:34 PM 0 0.00 10:26:34 PM 1 0.00 10:26:34 PM 2 0.04 10:26:34 PM 3 0.00 10:26:34 PM CPU 0/s 1/s 8/s 9/s 12/s 14/s 15/s 16/s 19/s 20/s 21/s 33/s NMI/s LOC/s SPU/s PMI/s PND/s RES/s CAL/s TLB/s TRM/s THR/s MCE/s MCP/s ERR/s MIS/s 10:26:34 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 7.47 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10:26:34 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 4.90 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10:26:34 PM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.00 0.00 0.00 0.00 0.00 3.32 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10:26:34 PM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.
Opción mpstat -P ALL, muestra todas las CPU (o núcleos) individuales junto con sus estadísticas, como se muestra a continuación.
$ mpstat -P ALL Linux 2.6.32-100.28.5.el6.x86_64 (dev-db) 07/09/2011 _x86_64_ (4 CPU) 10:28:04 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 10:28:04 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.99 10:28:04 PM 0 0.01 0.00 0.01 0.01 0.00 0.00 0.00 0.00 99.98 10:28:04 PM 1 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.98 10:28:04 PM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 10:28:04 PM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
6. Vmstat
vmstat informa estadísticas de memoria virtual. Los siguientes son algunos ejemplos de comandos de vmstat.
vmstat de forma predeterminada mostrará el uso de la memoria (incluido el intercambio) como se muestra a continuación.
$ vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 305416 260688 29160 2356920 2 2 4 1 0 0 6 1 92 2 0 To execute vmstat every 2 seconds for 10 times, do the following. After executing 10 times, it will stop automatically. $ vmstat 2 10 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 0 537144 182736 6789320 0 0 0 0 1 1 0 0 100 0 0 0 0 0 537004 182736 6789320 0 0 0 0 50 32 0 0 100 0 0 ..
iostat y vmstat son parte de la utilidad sar. Debe instalar el paquete sysstat para que iostat y vmstat funcionen.
Más ejemplos:24 ejemplos de comandos iostat, vmstat y mpstat
7. Comando PS
El proceso es una instancia en ejecución de un programa. Linux es un sistema operativo multitarea, lo que significa que más de un proceso puede estar activo a la vez. Utilice el comando ps para averiguar qué procesos se están ejecutando en su sistema.
El comando ps también le brinda mucha información adicional sobre el proceso en ejecución que lo ayudará a identificar cualquier cuello de botella en el rendimiento de su sistema.
Los siguientes son algunos ejemplos de comandos ps.
Use la opción -u para mostrar el proceso que pertenece a un nombre de usuario específico. Cuando tenga varios nombres de usuario, sepárelos con una coma. El siguiente ejemplo muestra todos los procesos que son propiedad del usuario wwwrun o postfix.
$ ps -f -u wwwrun,postfix UID PID PPID C STIME TTY TIME CMD postfix 7457 7435 0 Mar09 ? 00:00:00 qmgr -l -t fifo -u wwwrun 7495 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf wwwrun 7496 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf wwwrun 7497 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf wwwrun 7498 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf wwwrun 7499 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf wwwrun 10078 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf wwwrun 10082 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf postfix 15677 7435 0 22:23 ? 00:00:00 pickup -l -t fifo -u
El siguiente ejemplo muestra el Id. del proceso y los comandos en una jerarquía. –forest es un argumento para el comando ps que muestra el arte ASCII del árbol de procesos. A partir de este árbol, podemos identificar cuál es el proceso padre y el hijo lo procesa bifurcado de manera recursiva.
$ ps -e -o pid,args --forest 468 \_ sshd: root@pts/7 514 | \_ -bash 17484 \_ sshd: root@pts/11 17513 | \_ -bash 24004 | \_ vi ./790310__11117/journal 15513 \_ sshd: root@pts/1 15522 | \_ -bash 4280 \_ sshd: root@pts/5 4302 | \_ -bash
Más ejemplos de ps:7 ejemplos prácticos de comandos de PS para la supervisión de procesos
8. Gratis
El comando gratuito muestra información sobre la memoria física (RAM) y de intercambio de su sistema.
En el siguiente ejemplo, la memoria física total de este sistema es de 1 GB. Los valores que se muestran a continuación están en KB.
# free total used free shared buffers cached Mem: 1034624 1006696 27928 0 174136 615892 -/+ buffers/cache: 216668 817956 Swap: 2031608 0 2031608
El siguiente ejemplo mostrará la memoria total en su sistema, incluida la RAM y el intercambio.
En el siguiente comando:
- opción m muestra los valores en MB
- opción t muestra la línea "Total", que es la suma de los valores físicos y de memoria de intercambio
- opción o es ocultar la línea de búfer/caché del ejemplo anterior.
# free -mto total used free shared buffers cached Mem: 1010 983 27 0 170 601 Swap: 1983 0 1983 Total: 2994 983 2011
9. ARRIBA
El comando superior muestra todo el proceso en ejecución en el sistema ordenado por ciertas columnas. Esto muestra la información en tiempo real.
Puede matar un proceso sin salir de la parte superior. Una vez que haya localizado un proceso que debe eliminarse, presione "k", que le pedirá la identificación del proceso y la señal para enviar. Si tiene el privilegio de eliminar ese PID en particular, se eliminará con éxito.
PID to kill: 1309 Kill PID 1309 with signal [15]: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1309 geek 23 0 2483m 1.7g 27m S 0 21.8 45:31.32 gagent 1882 geek 25 0 2485m 1.7g 26m S 0 21.7 22:38.97 gagent 5136 root 16 0 38040 14m 9836 S 0 0.2 0:00.39 nautilus
Use top -u para mostrar los procesos de un usuario específico solo en la salida del comando superior.
$ top -u geek
Mientras se ejecuta el comando superior de Unix, presione u, que le pedirá el nombre de usuario como se muestra a continuación.
Which user (blank for all): geek PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1309 geek 23 0 2483m 1.7g 27m S 0 21.8 45:31.32 gagent 1882 geek 25 0 2485m 1.7g 26m S 0 21.7 22:38.97 gagent
Más ejemplos principales:15 ejemplos prácticos de comandos principales de Linux
10. Pmap
El comando pmap muestra el mapa de memoria de un proceso determinado. Debe pasar el pid como argumento al comando pmap.
El siguiente ejemplo muestra el mapa de memoria del shell bash actual. En este ejemplo, 5732 es el PID del shell bash.
$ pmap 5732 5732: -bash 00393000 104K r-x-- /lib/ld-2.5.so 003b1000 1272K r-x-- /lib/libc-2.5.so 00520000 8K r-x-- /lib/libdl-2.5.so 0053f000 12K r-x-- /lib/libtermcap.so.2.0.8 0084d000 76K r-x-- /lib/libnsl-2.5.so 00c57000 32K r-x-- /lib/libnss_nis-2.5.so 00c8d000 36K r-x-- /lib/libnss_files-2.5.so b7d6c000 2048K r---- /usr/lib/locale/locale-archive bfd10000 84K rw--- [ stack ] total 4796K
pmap -x brinda información adicional sobre los mapas de memoria.
$ pmap -x 5732 5732: -bash Address Kbytes RSS Anon Locked Mode Mapping 00393000 104 - - - r-x-- ld-2.5.so 003b1000 1272 - - - r-x-- libc-2.5.so 00520000 8 - - - r-x-- libdl-2.5.so 0053f000 12 - - - r-x-- libtermcap.so.2.0.8 0084d000 76 - - - r-x-- libnsl-2.5.so 00c57000 32 - - - r-x-- libnss_nis-2.5.so 00c8d000 36 - - - r-x-- libnss_files-2.5.so b7d6c000 2048 - - - r---- locale-archive bfd10000 84 - - - rw--- [ stack ] -------- ------- ------- ------- ------- total kB 4796 - - -
Para mostrar la información del dispositivo de los mapas de proceso, use 'pamp -d pid'.
11. Netstat
El comando Netstat muestra diversa información relacionada con la red, como conexiones de red, tablas de enrutamiento, estadísticas de interfaz, conexiones enmascaradas, membresías de multidifusión, etc.,
Los siguientes son algunos ejemplos de comandos de netstat.
Enumere todos los puertos (tanto de escucha como de no escucha) usando netstat -a como se muestra a continuación.
# netstat -a | more Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:30037 *:* LISTEN udp 0 0 *:bootpc *:* Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 6135 /tmp/.X11-unix/X0 unix 2 [ ACC ] STREAM LISTENING 5140 /var/run/acpid.socket
Utilice el siguiente comando netstat para averiguar en qué puerto se está ejecutando un programa.
# netstat -ap | grep ssh (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp 1 0 dev-db:ssh 101.174.100.22:39213 CLOSE_WAIT - tcp 1 0 dev-db:ssh 101.174.100.22:57643 CLOSE_WAIT -
Use el siguiente comando netstat para averiguar qué proceso está usando un puerto en particular.
# netstat -an | grep ':80'
Más ejemplos de netstat:10 ejemplos de comandos de Netstat
12. Tráfico IP
IPTraf es un software de monitoreo de red IP. Las siguientes son algunas de las características principales de IPTraf:
- Es una utilidad basada en consola (basada en texto).
- Esto muestra el tráfico IP que cruza su red. Esto muestra el indicador TCP, conteos de paquetes y bytes, ICMP, tipos de paquetes OSPF, etc.
- Muestra estadísticas de interfaz ampliadas (incluidos IP, TCP, UDP, ICMP, tamaño y recuento de paquetes, errores de suma de comprobación, etc.)
- El módulo LAN descubre hosts automáticamente y muestra sus actividades
- Filtros de visualización de protocolo para ver el tráfico de protocolo selectivo
- Características avanzadas de registro
- Además de la interfaz ethernet, también es compatible con FDDI, ISDN, SLIP, PPP y loopback
- También puede ejecutar la utilidad en modo de pantalla completa. Esto también tiene un menú basado en texto.
Más información: Página de inicio de IPTraf. Captura de pantalla de IPTraf.
13. Carrera
Strace se utiliza para depurar y solucionar problemas de ejecución de un ejecutable en un entorno Linux. Muestra las llamadas al sistema utilizadas por el proceso y las señales recibidas por el proceso.
Strace monitorea las llamadas al sistema y las señales de un programa específico. Es útil cuando no tiene el código fuente y le gustaría depurar la ejecución de un programa. strace le proporciona la secuencia de ejecución de un binario de principio a fin.
Rastrear llamadas específicas del sistema en un ejecutable usando la opción -e
Por defecto, strace muestra todas las llamadas al sistema para el ejecutable dado. El siguiente ejemplo muestra la salida de strace para el comando ls de Linux.
$ strace ls execve("/bin/ls", ["ls"], [/* 21 vars */]) = 0 brk(0) = 0x8c31000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap2(NULL, 8192, PROT_READ, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb78c7000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=65354, ...}) = 0
Para mostrar solo una llamada de sistema específica, use la opción strace -e como se muestra a continuación.
$ strace -e open ls open("/etc/ld.so.cache", O_RDONLY) = 3 open("/lib/libselinux.so.1", O_RDONLY) = 3 open("/lib/librt.so.1", O_RDONLY) = 3 open("/lib/libacl.so.1", O_RDONLY) = 3 open("/lib/libc.so.6", O_RDONLY) = 3 open("/lib/libdl.so.2", O_RDONLY) = 3 open("/lib/libpthread.so.0", O_RDONLY) = 3 open("/lib/libattr.so.1", O_RDONLY) = 3 open("/proc/filesystems", O_RDONLY|O_LARGEFILE) = 3 open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3 open(".", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3
Más ejemplos de strace:7 ejemplos de strace para depurar la ejecución de un programa en Linux
14. Lsof
Lsof significa ls archivos abiertos, que enumerará todos los archivos abiertos en el sistema. Los archivos abiertos incluyen conexión de red, dispositivos y directorios. La salida del comando lsof tendrá las siguientes columnas:
- Nombre del proceso COMMAND.
- ID del proceso PID
- USUARIO Nombre de usuario
- Descriptor de archivo FD
- tipo de nodo TYPE del archivo
- Número de dispositivo DEVICE
- Tamaño del archivo SIZE
- NODE número de nodo
- NOMBRE ruta completa del nombre del archivo.
Para ver todos los archivos abiertos del sistema, ejecute el comando lsof sin ningún parámetro como se muestra a continuación.
# lsof | more COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME init 1 root cwd DIR 8,1 4096 2 / init 1 root rtd DIR 8,1 4096 2 / init 1 root txt REG 8,1 32684 983101 /sbin/init init 1 root mem REG 8,1 106397 166798 /lib/ld-2.3.4.so init 1 root mem REG 8,1 1454802 166799 /lib/tls/libc-2.3.4.so init 1 root mem REG 8,1 53736 163964 /lib/libsepol.so.1 init 1 root mem REG 8,1 56328 166811 /lib/libselinux.so.1 init 1 root 10u FIFO 0,13 972 /dev/initctl migration 2 root cwd DIR 8,1 4096 2 / skipped..
Para ver los archivos abiertos por un usuario específico, use la opción lsof -u para mostrar todos los archivos abiertos por un usuario específico.
# lsof -u ramesh vi 7190 ramesh txt REG 8,1 474608 475196 /bin/vi sshd 7163 ramesh 3u IPv6 15088263 TCP dev-db:ssh->abc-12-12-12-12.
Para enumerar los usuarios de un archivo en particular, use lsof como se muestra a continuación. En este ejemplo, muestra todos los usuarios que actualmente usan vi.
# lsof /bin/vi COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME vi 7258 root txt REG 8,1 474608 475196 /bin/vi vi 7300 ramesh txt REG 8,1 474608 475196 /bin/vi
15. Ntop
Ntop es como top, pero para el tráfico de red. ntop es un monitor de tráfico de red que muestra el uso de la red.
También puede acceder a ntop desde el navegador para obtener información sobre el tráfico y el estado de la red.
Las siguientes son algunas de las características clave de ntop:
- Mostrar el tráfico de la red desglosado por protocolos
- Ordenar la salida del tráfico de red según varios criterios
- Mostrar estadísticas de tráfico de la red
- Capacidad de almacenar las estadísticas de tráfico de red usando RRD
- Identifique la identidad de los usuarios y host os
- Capacidad para analizar y mostrar el tráfico de TI
- Capacidad de trabajar como colector NetFlow/sFlow para enrutadores y conmutadores
- Muestra estadísticas de tráfico de red similares a RMON
- Funciona en Linux, MacOS y Windows
Más información:página de inicio de Ntop
16. GkrellM
GKrellM significa GNU Krell Monitors o GTK Krell Meters. Es un programa de monitoreo basado en el kit de herramientas GTK+, que monitorea varios recursos del sistema. La interfaz de usuario se puede apostar. es decir, puede agregar tantos objetos de monitoreo como desee uno encima del otro. Al igual que cualquier otra herramienta de monitoreo basada en la interfaz de usuario de escritorio, puede monitorear la CPU, la memoria, el sistema de archivos, el uso de la red, etc. Pero al usar complementos, puede monitorear aplicaciones externas.
Más información:página de inicio de GkrellM
17. w y tiempo de actividad
Mientras se supervisa el rendimiento del sistema, el comando w ayudará a saber quién está conectado al sistema.
$ w 09:35:06 up 21 days, 23:28, 2 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 :0 24Oct11 21days 1:05 1:05 /usr/bin/Xorg :0 -nr -verbose ramesh pts/0 192.168.1.10 Mon14 0.00s 15.55s 0.26s sshd: localuser [priv] john pts/0 192.168.1.11 Mon07 0.00s 19.05s 0.20s sshd: localuser [priv] jason pts/0 192.168.1.12 Mon07 0.00s 21.15s 0.16s sshd: localuser [priv]
Para todos y cada uno de los usuarios que han iniciado sesión, muestra la siguiente información:
- Nombre de usuario
- información de tty
- Dirección IP del host remoto
- Hora de inicio de sesión del usuario
- Cuánto tiempo ha estado inactivo el usuario
- JCPU y PCUP
- El comando del proceso actual que el usuario está ejecutando
La línea 1 de la salida del comando w es similar a la salida del comando uptime. Muestra lo siguiente:
- Hora actual
- Cuánto tiempo ha estado funcionando el sistema
- Número total de usuarios que actualmente están conectados al sistema
- Promedio de carga de los últimos 1, 5 y 15 minutos
Si solo desea la información de tiempo de actividad, use el comando de tiempo de actividad.
$ uptime 09:35:02 up 106 days, 28 min, 2 users, load average: 0.08, 0.11, 0.05
Tenga en cuenta que tanto el comando w como el uptime obtienen la información del archivo de datos /var/run/utmp.
18. /proc
/proc es un sistema de archivos virtual. Por ejemplo, si hace ls -l /proc/stat, notará que tiene un tamaño de 0 bytes, pero si hace "cat /proc/stat", verá algo de contenido dentro del archivo.
Haz un ls -l /proc, y verás muchos directorios con solo números. Estos números representan los ID de proceso, los archivos dentro de este directorio numerado corresponden al proceso con ese PID en particular.
Los siguientes son los archivos importantes ubicados debajo de cada directorio numerado (para cada proceso):
- cmdline:línea de comando del comando.
- entorno:variables de entorno.
- fd:contiene los descriptores de archivo que están vinculados a los archivos correspondientes.
- límites:contiene información sobre los límites específicos del proceso.
- montajes:información relacionada con el montaje
Los siguientes son los enlaces importantes debajo de cada directorio numerado (para cada proceso):
- cwd:enlace al directorio de trabajo actual del proceso.
- exe:enlace al ejecutable del proceso.
- raíz:enlace al directorio raíz del proceso.
Más ejemplos de /proc:Explore el sistema de archivos /proc de Linux
19. Protección del sistema KDE
Esto también se llama como KSysGuard. En escritorios Linux que ejecutan KDE, puede usar esta herramienta para monitorear los recursos del sistema. Además de monitorear el sistema local, esto también puede monitorear sistemas remotos.
Si está ejecutando el escritorio KDE, vaya a Aplicaciones -> Sistema -> Monitor del sistema, que iniciará KSysGuard. También puede escribir ksysguard desde la línea de comandos para ejecutarlo.
Esta herramienta muestra las siguientes dos pestañas:
- Tabla de procesos:muestra todos los procesos activos. Puede ordenar, eliminar o cambiar la prioridad de los procesos desde aquí
- Carga del sistema:muestra gráficos para el uso de la CPU, la memoria y la red. Estos gráficos se pueden personalizar haciendo clic derecho en cualquiera de estos gráficos.
Para conectarse a un host remoto y monitorearlo, haga clic en el menú Archivo -> Monitorear máquina remota -> especifique la dirección IP del host, el método de conexión (por ejemplo, ssh). Esto le pedirá el nombre de usuario/contraseña en la máquina remota. Una vez conectado, esto mostrará el uso del sistema de la máquina remota en las pestañas Tabla de procesos y Carga del sistema.
20. Supervisión del sistema GNOME
En escritorios Linux que ejecutan GNOME, puede usar esta herramienta para monitorear procesos, recursos del sistema y sistemas de archivos desde una interfaz gráfica. Además de monitorear, también puede usar esta herramienta de interfaz de usuario para eliminar un proceso, cambiar la prioridad de un proceso.
Si está ejecutando el escritorio GNOME, vaya a Sistema -> Administración -> Monitor del sistema, que iniciará el Monitor del sistema GNOME. También puede escribir gnome-system-monitor desde la línea de comando para ejecutarlo.
Esta herramienta tiene las siguientes cuatro pestañas:
- Sistema:muestra la información del sistema, incluida la versión de distribución de Linux, los recursos del sistema y la información del hardware.
- Procesos:muestra todos los procesos activos que se pueden ordenar en función de varios campos
- Recursos:muestra los usos de CPU, memoria y red
- Sistemas de archivos:muestra información sobre los sistemas de archivos montados actualmente
Más información:página de inicio de GNOME System Monitor
21. Conky
Conky es un monitor de sistema o X. Conky muestra información en la interfaz de usuario usando lo que llama objetos. De manera predeterminada, hay más de 250 objetos que se incluyen con conky, que muestra diversa información de monitoreo (CPU, memoria, red, disco, etc.). Soporta IMAP, POP3, varios reproductores de audio.
Puede monitorear y mostrar cualquier aplicación externa creando sus propios objetos usando secuencias de comandos. La información de seguimiento se puede mostrar en varios formatos:texto, gráficos, barras de progreso, etc. Esta utilidad es extremadamente configurable.
Más información:capturas de pantalla de Conky
22. cactus
Cacti es una interfaz de usuario basada en PHP para RRDTool. Cacti almacena los datos necesarios para generar el gráfico en una base de datos MySQL.
Las siguientes son algunas características de alto nivel de Cacti:
- Capacidad para realizar la recopilación de datos y almacenarlos en la base de datos MySQL (o archivos de turno rotativo)
- Varias características gráficas avanzadas están disponibles (agrupación de elementos de gráfico GPRINT, relleno automático para gráficos, manipulación de datos de gráfico usando la función matemática CDEF, todos los elementos de gráfico RRDTool son compatibles)
- La fuente de datos puede recopilar datos locales o remotos para el gráfico
- Capacidad de personalizar completamente la configuración del archivo Round Robin (RRA)
- El usuario puede definir scripts personalizados para recopilar datos
- Compatibilidad con SNMP (php-snmp, ucd-snmp o net-snmp) para la recopilación de datos
- El sondeador incorporado ayuda a ejecutar scripts personalizados, obtener datos SNMP, actualizar archivos RRD, etc.
- Características de plantilla de gráficos altamente flexibles
- Opciones de visualización de gráficos fáciles de usar y personalizables
- Cree diferentes usuarios con varios conjuntos de permisos para acceder a la interfaz de cactus
- Se pueden establecer niveles de permisos granulares para el usuario individual
- y mucho más..
Más información:página de inicio de cactus
23. Vnstat
vnstat es una utilidad de línea de comandos que muestra y registra el tráfico de red de las interfaces de sus sistemas. Esto depende de las estadísticas de red proporcionadas por el kernel. Por lo tanto, vnstat no agrega ninguna carga adicional a su sistema para monitorear y registrar el tráfico de la red.
vnstat sin ningún argumento le dará un resumen rápido con la siguiente información:
- La última vez que se actualizó la base de datos vnStat ubicada en /var/lib/vnstat/
- Desde cuando comenzó a recopilar estadísticas para una interfaz específica
- Los datos estadísticos de la red (bytes transmitidos, bytes recibidos) de los últimos dos meses y los últimos dos días.
# vnstat Database updated: Sat Oct 15 11:54:00 2011 eth0 since 10/01/11 rx: 12.89 MiB tx: 6.94 MiB total: 19.82 MiB monthly rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- Sep '11 12.90 MiB | 6.90 MiB | 19.81 MiB | 0.14 kbit/s Oct '11 12.89 MiB | 6.94 MiB | 19.82 MiB | 0.15 kbit/s ------------------------+-------------+-------------+--------------- estimated 29 MiB | 14 MiB | 43 MiB | daily rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- yesterday 4.30 MiB | 2.42 MiB | 6.72 MiB | 0.64 kbit/s today 2.03 MiB | 1.07 MiB | 3.10 MiB | 0.59 kbit/s ------------------------+-------------+-------------+--------------- estimated 4 MiB | 2 MiB | 6 MiB |
Use "vnstat -t" o "vnstat –top10" para mostrar los 10 días de mayor tráfico de todos los tiempos.
$ vnstat --top10 eth0 / top 10 # day rx | tx | total | avg. rate -----------------------------+-------------+-------------+--------------- 1 10/12/11 4.30 MiB | 2.42 MiB | 6.72 MiB | 0.64 kbit/s 2 10/11/11 4.07 MiB | 2.17 MiB | 6.24 MiB | 0.59 kbit/s 3 10/10/11 2.48 MiB | 1.28 MiB | 3.76 MiB | 0.36 kbit/s .... -----------------------------+-------------+-------------+---------------
Más ejemplos de vnstat:Cómo monitorear y registrar el tráfico de red usando VNStat
24. Arriba
htop es un visor de procesos basado en ncurses. Esto es similar a top, pero es más flexible y fácil de usar. Puedes interactuar con el htop usando el mouse. Puede desplazarse verticalmente para ver la lista completa de procesos y desplazarse horizontalmente para ver la línea de comando completa del proceso.
La salida htop consta de tres secciones 1) encabezado 2) cuerpo y 3) pie de página.
Encabezado muestra las siguientes tres barras y poca información vital del sistema. Puede cambiar cualquiera de estos desde el menú de configuración de htop.
- Uso de CPU:muestra el % utilizado en el texto al final de la barra. La barra en sí mostrará diferentes colores. Prioridad baja en azul, normal en verde, kernel en rojo.
- Uso de memoria
- Intercambio de uso
Cuerpo muestra la lista de procesos ordenados por % de uso de CPU. Use las teclas de flecha, página arriba, página abajo para recorrer los procesos.
Pie de página muestra los comandos del menú superior.
Más información:Captura de pantalla y ejemplos de HTOP
25. Estadísticas de enchufes:SS
ss significa estadísticas de socket. Esto muestra información similar al comando netstat.
Para mostrar todos los enchufes de escucha, haga ss -l como se muestra a continuación.
$ ss -l Recv-Q Send-Q Local Address:Port Peer Address:Port 0 100 :::8009 :::* 0 128 :::sunrpc :::* 0 100 :::webcache :::* 0 128 :::ssh :::* 0 64 :::nrpe :::*
Lo siguiente muestra solo la conexión establecida.
$ ss -o state established Recv-Q Send-Q Local Address:Port Peer Address:Port 0 52 192.168.1.10:ssh 192.168.2.11:55969 timer:(on,414ms,0)
A continuación se muestran estadísticas de resumen de socket. Esto muestra el número total de enchufes desglosados por tipo.
$ ss -s Total: 688 (kernel 721) TCP: 16 (estab 1, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 11 Transport Total IP IPv6 * 721 - - RAW 0 0 0 UDP 13 10 3 TCP 16 7 9 INET 29 17 12 FRAG 0 0 0
¿Qué herramienta utiliza para monitorear el rendimiento en su entorno Linux? ¿Me perdí alguna de sus herramientas de monitoreo de rendimiento favoritas? Deja un comentario.