miércoles, 24 de febrero de 2016

Atop, monitorizando la carga en nuestro servidor Linux.






Hoy vamos a hablar de un monitor de sistema el cual nos es más que permitirá monitorizar el sistema, crear logs del mismo con reportes de actividad de los procesos de nuestro servidor Linux y el cual es básico para centralizar todos las cargas de trabajo de nuestro servidor.. 

Atop es un monitor interactivo que nos permite ver los usos de los recursos de todos los procesos, ver la utilización de los discos,adaptadores de red, cpu, memoria y un largo etcétera de posibilidades. Para instalarlo como nosotros hacemos uso de debian nos basta con "sudo aptitude atop" si tenemos otra distribución variaría. Una vez instalado lo iniciamos mediante "sudo atop".




Como vemos en la imagen se nos despliega la interfaz de terminal con todos los procesos y recursos monitorizados. Ahora vamos a dar un repaso los acrónimos que se nos muestran:

PRC: Este línea contiene el total de tiempo consumido de la CPU por el sistema (sys), el usuario (user), el total de los procesos presentes en este momento (proc), el total de número de entradas en ese momento(run), dormidos interrumpibles(tslpi), dormidos ininterrumpibles(tslpu), el número de procesos zombies(zombie), numero de llamadas clonadas del sistema(clones) y el numero de procesos finalizado durante el intervalo de resfresco (exit).

CPU: Esta línea contiene el porcentage de tiempo de CPU que usa en modo kernnel por todos los procesos (sys), en modo usuario (user) por todos los procesos activos (incluidos los procesos iniciados con un valor mas largo de cero), el manejo de las interrupciones(irq), también el porcentaje de tiempo de CPU no usada mientras no hay procesos esperando entrar o salir de disco(idle), tambien mientras un proceos espera a entrar o salir (wait), en casos de multiprocesador hay una línea adicional por cada uno de los procesador individuales.

CPL: Esta línea contiene la información sobre la carga de CPU, el numero de entradas que son permitidas para iniciarse en la CPU o también la espera de entrada/salida del disco, el número de cambios de contexto (csw), el número de servicios interrupidos(intr) y el numero de CPUs disponibles.

MEM: Esta línea contiene información relatada al consumo de memoria, como el total de la cantidad de la memoria física(tot), la cantidad de memoria libre(free), la cantidad de memoria uso cache(cache), la cantidad  memoria usada por el sistema de ficheros metadatos (buff) y la cantidad memoria usada por el kernel malloc's(slab).

SWP: Esta línea contiene la cantidad total de swap en el disco (tot), y la cantidad del espacio libre(feee), la convinación de la memoria virtual.

DSK: Esta línea contiene información sobre la utilización del disco, el porcentaje de tiempo que la unidad esta esperando respuesta (busy), el numero de solicitudes de lectura(read), el número de peticiones de lectura emitidas(write), el número de KiBytes por lectura(KiB/r), el número de KiBytes por escritura(KiB/w), el número de MiBytes por segundo de rendimiento por lecturas (MBr/s), el número de MiBytes por segundo de rendimiento por escritura(MBw/s), la media de espera (avq), la media de numero de milisegundos necesarios por una búsqueda(avio) por búsqueda, latencia y transferencia de datos.

NET: Esta es la información realatada a la utilización de red (TCP/IP), una de estas líneas muestra la actividad de la capa de transporte(TCP y UDP), una línea es la capa IP y una linea por cada interfaz activa.

Esta información del sistema está acompañada por la información del nivel de proceso, información que indica detalles relacionados con los procesos de utilización de los recursos que cambian durante el ultimo intervalo de tiempo( 10 segundos por defecto).

Un importante punto a mencionar son los colores usados por atop (rojo, cian y otros) para indicar el nivel critico del consumo de recursos, como ejemplo un uso excesivo o crítico se indicaría con color rojo.

En cuánto a los comandos interactivos, se puede controlar la salida de información desde el teclado. Por ejemplo, escribiendo m par amostrar la memoria usada, d para ver el uso de la memoria. n para ver la información relacionada al red, v para mostrar las características de los procesos, c la línea de comandos de los procesos, etc... En la siguiente imagen vemos un ejemplo de la opción v.




En definitiva Atop es una herramienta muy util que nos provee de un bucle de actualización de la información sobre la carga de trabajo de nuestro servidor y sus recursos. Como siempre podemos ver más exaustivamente los comandos de configuración en 'man atop'.