ICM / linux / Herramientas de visualización y monitorización de uso de disco en Linux.

Herramientas de visualización y monitorización de uso de disco en Linux.

8 junio 2022 | Aleix Abrie

Resulta muy importante, como ya sabemos, la monitorización de uso de disco, conocer el consumo de recursos en equipos informáticos, máxime cuando se trata de servidores que cumplen alguna función crítica en entornos productivos. Forma parte del grupo de recursos que son muy importantes de monitorizar en entornos de producción, como son la CPU, la memoria RAM/Swap o el ancho de banda.

En general, es uno de los recursos que se deja un poco de lado, hasta que aparecen problemas de lentitud (aunque por supuesto no tiene por qué ser el único caso de uso). Hablamos de la monitorización del sistema de archivos en Linux, más concretamente las operaciones de lectura/escritura y el ancho de banda consumido.

Normalmente empezaremos descartando un uso elevado de CPU, luego un consumo de memoria (que puede provocar el uso elevado de la memoria SWAP, provocando un incremento en la latencia por las lecturas/escrituras a disco).

Diferentes formas de medir el Input/Output de disco en Linux

IOTOP

Del mismo modo que la utilidad top nos permite conocer el consumo de recursos como CPU o memoria en tiempo real, iotop nos permite monitorizar el consumo de operacions IO por segundo y ancho de banda, para según que usuarios y procesos.

IOTOP

Para ejecutarlo, simplemente deberemos escribir “iotop” en la consola y nos aparecerá toda la información, como pueden ver en el siguiente ejemplo:

Si escribimos el comando con las opciones -oP, filtraremos para ver únicamente aquellos procesos que escriben o leen del filesystem en tiempo real.

IOSTAT

Comando interesante cuando queremos medir las operaciones de IO por segundo, poniendo los datos en contraste con su utilización promedio.

Nos genera dos tipos de informe diferentes. Por un lado, el de uso de la CPU y por otro el de utilización del servidor, muy relevantes en la monitorización de uso de disco.

Para un uso básico, podemos lanzar la utilidad con refresco cada 10 segundos, con el comando “iostat -c 10” y obtendremos por pantalla un resultado parecido a este:

IOSTAT

A continuación, voy a explicar un poco los diferentes valores mostrados:

  • Tps equivale al número de transferencias por segundo. Una transferencia es una petición de I/O al dispositivo.
  • Kb_read/s muestra el ancho de banda de lectura consumido cada segundo.
  • Kb_wrtn/s muestra el ancho de banda de escritura consumido cada segundo.
  • Kb_read es el valor acumulado de lecturas en KB.
  • Kb_wrtn es el valor acumulado de escrituras en KB.

IOPING

Una sencilla utilidad que nos permite, al igual que las interfaces de red, hacer “ping” a los dispositivos de bloques, en tiempo real. Esto nos permite ni más ni menos que medir el valor de latencia de acceso al dispositivo para operaciones de I/O por segundo.

Para poder utilizar esta herramienta, basta con ejecutar el comando “ioping -i 4 <directorio>” y con esto estamos definiendo un valor de refresco de 4 segundos entre cada “ping” que realiza al dispositivo.

En el siguiente ejemplo, podemos ver la salida de la ejecución de la utilidad usando el directorio actual para realizar los “ping”:

IOPING- monitorización de uso de disco

SAR

La utilidad sar es una herramienta de las que tienes que utilizar si o si, ya que, es una herramienta muy versátil (nos vale para medir diferentes recursos en tiempo real) como por ser nativa del sistema Linux.

Esta utilidad se usa para recopilar, informar y guardar datos de la CPU, memoria y I/O del disco. El comando sar genera los informes sobre la marcha, además también se puede configurar para guardar dichos informes en ficheros de registro.

Para generar una salida que muestre 10 informes de I/O diferentes, a intervalos de 2 segundos, usaremos el comando “sar -b 2 10”:

SAR- monitorización de uso de disco

Para entender los diferentes valores mostrados, diremos que:

  • Tps equivale al número de transferencias por segundo.
  • Wtps es el total de operaciones de escritura, acometidas cada segundo.
  • Bread/s muestra el total de datos leídos desde el dispositivo cada segundo, en bloques.
  • Bwrtn/s muestra el toda de datos leídos desde el dispositivo cada segundo, en bloques.

DSTAT

Dstat es una utilidad que permite generar informes estadísticos de utilización de sistema. Actúa como reemplazo de utilización de recursos de sistema. Actúa como reemplazo para otras herramientas como vmstat, ifstat o iostat. Permite listar individualmente todos los dispositivos de bloques que componen cada filesystem.

Para ejecutarla, simplemente escribiremos “dstat” y tendremos por pantalla una salida con todos estos datos:

DSTAT- monitorización de uso de disco

DF

En este artículo, hablamos de esas herramientas que nos ayudan a monitorización de uso de disco (que no el espacio) en sistemas de archivos Linux. Es posible que este concepto ambiguo haya traído algún lector aquí, buscando como ver el espacio ocupado en disco.

Para ello, os traemos la herramienta df. Una utilidad sencilla para obtener el valor de ocupación para los diferentes sistemas de archivos montados en los dispositivos de bloques.

Para poder ejecutar este herramienta deberemos ejecutar “df -h”. Gracias a la opción -h obtendremos el espacio ocupada con valores que son más fáciles para la lectura humana:

DF - monitorización de uso de disco

Para obtener una salida aún más completa podemos usar la opción –output, la cual nos muestra toda la información básica junto a otros valores como inodos libres y ocupados de cada sistema de archivos del servidor.

Conclusión

Como conclusión, somos conscientes de que hay todavía más utilidades y métodos para monitorizar uso de disco en Linux, pero estas son las que en nuestra caso nos hemos encontrado que usamos más y os hemos querido explicar.

monitorización de uso de disco