Monitorizar el Rendimiento del Sistema
Estrenamos la categoria tutoriales, con un excelente tutorial sobre como Monitorizar Recursos. Espero que les sea de utilidad.
ArtÃculo orientado a personas con conocimientos básicos sobre administración de sistemas GNU/Linux, pretende mostrar de manera simple herramientas para monitorizar el sistema.
¿Por qué monitorizar el sistema?
Las dos principales razones:
1.- El sistema está teniendo problemas de rendimiento, y desea mejorar su eficiencia. La mayorÃa de los casos denotan lentitud general o bien los programas tienen fallas al iniciarse.
2.- El sistema está funcionando debidamente, y desea que lo siga haciendo. Este caso trata de una “buena” monitorización, cuando aún no existen problemas, se planifica y monitoriza a largo plazo para determinar cambios en la utilización de recursos.
Resumidamente, estos son los cuatro primeros recursos que todo administrador debe monitorizar, ellos nos pueden dar un pantallazo bastante general de cómo está el sistema, estamos hablando de:
* Almacenamiento
* Transferencia
* Memoria
* CPU
Monitorización el Almacenamiento:
Existen diversas formas de saber cuántos GB tenemos libres en nuestras unidades de disco, saber si están llenos nuestros discos o si tienen capacidad de sobra todavÃa. La respuesta viene del comando “df”, este comando nos permite conocer cual es la capacidad de almacenamiento y su consumo, un ejemplo:
[root@srv301.miserver.com:~]df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda5 67401428 39134188 24843392 62% /
/dev/sda1 101086 15194 80673 16% /boot
/dev/sda3 1035692 149916 833164 16% /tmp
none 1036736 0 1036736 0% /dev/shm
/dev/sdb1 70557052 37902128 29070828 57% /backup
/tmp 1035692 149916 833164 16% /var/tmp
[root@srv301.miserver.com:~]
Como vemos, los valores son un tanto difÃciles de leer, para ello, agregaremos dos parámetros útiles -ah. El parámetro “a” (–all) nos permitirá ver todas las particiones del sistema que no vemos con el comando anterior, la segunda opción y quizás la más importante, es “h” (–human-readable) que nos permitirá leer de manera normal los valores sacados en pantalla por df, como ven a continuación:
[root@srv301.miserver.com:~]df -ah
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 65G 38G 24G 62% /
none 0 0 0 - /proc
none 0 0 0 - /dev/pts
usbfs 0 0 0 - /proc/bus/usb
/dev/sda1 99M 15M 79M 16% /boot
/dev/sda3 1012M 147M 814M 16% /tmp
none 1013M 0 1013M 0% /dev/shm
/dev/sdb1 68G 37G 28G 57% /backup
none 0 0 0 - /proc/sys/fs/binfmt_misc
/tmp 1012M 147M 814M 16% /var/tmp
[root@srv301.miserver.com:~]
Monitorización de la transferencia:
Para la monitorización de la transferencia usada en un servidor, recomiendo usar la herramienta MRTG, es una de las más importantes aplicaciones que podemos encontrar para analizar nuestro tráfico en servidores, está programado en C y Perl.
Sobre comandos en particular para verificar la transferencia, podemos recomendar:
nload: Un analizador basado en las ncurse y que está orientado al tráfico de la red, brindándote detalles en tiempo real sobre tráfico entrante y saliente.
iftop: Otro analizador en tiempo real, monitoriza el tráfico de red y muestra mediante tablas el uso actual del ancho de banda por pares de host, todo esto.
Monitorización de la Memoria:
El comando sugerido a utilizar, es “free”, que nos permite tener una visión global de la utilización de memoria en el sistema, aquà un ejemplo:
total used free shared buffers cached
Mem: 255508 240268 15240 0 7592 86188
-/+ buffers/cache: 146488 109020
Swap: 530136 26268 503868
La fila Mem: muestra la utilización de la memoria fÃsica.
La fila Swap: muestra la utilización del espacio de intercambio (swap) del sistema.
La fila -/+ buffers/cache: muestra la cantidad de memoria actualmente dedicada a las memorias intermedias del sistema (buffers).
La única desventaja de éste comando es que nos permite saber el estado de la memoria en un único momento, no es en tiempo real. Pero con la ayuda de otro comando, podremos hacerlo mucho más interactivo, tipea:
watch free
Monitorización del CPU:
Para monitorizar el procesamiento del CPU, podemos utilizar el comando “top”, el mismo nos brinda un detallado analisis del sistema en tiempo real, no solo permitiéndonos ver cuanto porcentaje de CPU está siendo utilizado, sino también brindándonos información precisa sobre consumo de memoria (ya, te darás cuenta que no es tan efectivo usar ‘free’ o ‘watch free’ si tienes ‘top’).
He aquà un ejemplo:
top - 10:58:35 up 13 days, 19:40, 1 user, load average: 0.70, 0.95, 0.77
Tasks: 342 total, 1 running, 334 sleeping, 0 stopped, 7 zombie
Cpu0 : 11.3% us, 4.6% sy, 0.0% ni, 79.1% id, 5.0% wa, 0.0% hi, 0.0% si
Cpu1 : 4.0% us, 2.0% sy, 0.0% ni, 94.0% id, 0.0% wa, 0.0% hi, 0.0% si
Cpu2 : 0.7% us, 0.3% sy, 0.0% ni, 98.7% id, 0.3% wa, 0.0% hi, 0.0% si
Cpu3 : 2.3% us, 0.3% sy, 0.0% ni, 95.0% id, 2.3% wa, 0.0% hi, 0.0% si
Mem: 2073476k total, 1597576k used, 475900k free, 61472k buffers
Swap: 2048276k total, 3948k used, 2044328k free, 717988k cached
PID USER PR NI %CPU TIME+ %MEM VIRT RES SHR S COMMAND
26769 nobody 16 0 2 0:01.21 1.4 63264 27m 4832 S httpd
3298 mysql 15 0 2 589:39.79 5.1 286m 102m 3940 S mysqld
27157 nobody 15 0 1 0:00.21 1.3 62848 26m 4348 S httpd
24758 nobody 15 0 1 0:00.83 1.4 62900 27m 5112 S httpd
27153 nobody 15 0 1 0:00.41 1.4 63272 27m 4856 S httpd
27637 nobody 15 0 1 0:00.12 1.3 62816 26m 4336 S httpd
27758 nobody 16 0 1 0:00.17 1.3 62780 26m 3956 S httpd
Como ven, nos brinda la información de CPU (consumo, y cantidad utilizada por cada uno) y Memoria, pero además un pantallazo general del sistema, como cuántos usuarios conectados, promedio de carga (load average) y principales procesos que corren en el sistema (mysql y httpd en este caso).
En próximos artÃculos trataré de mostrar otras herramientas de monitorización un poco más complejas, como vmstat, iostat, mpstat, etc.
___________________________________________________________________
SOBRE EL AUTOR
Esteban Borges - Administrador de Servidores Linux
___________________________________________________________________





Me alegra que vengan con esta nueva “sección” por asà llamarla, muy buen tutorial.
Eduardo, muchas gracias por tus felicitaciones, espero que tanto a ti como a muchos otros les sean utiles, tanto este como el resto de los tutoriales que serán publicados.
Un Saludo!