Dstat: una herramienta ingeniosa para monitorear el rendimiento del servidor Linux en tiempo real


Algunas de las herramientas de generación de recursos del sistema más populares y de uso frecuente disponibles en la plataforma Linux incluyen mpstat. Se utilizan para informar estadísticas de diferentes componentes del sistema, como memoria virtual, conexiones e interfaces de red, CPU, dispositivos de entrada/salida y más.

Como administrador del sistema, es posible que esté buscando una herramienta que pueda brindarle una buena cantidad de la información proporcionada por las herramientas anteriores, incluso más, una herramienta única y poderosa que tenga características y capacidades adicionales, entonces no busque más allá de dstat .

dstat es una herramienta poderosa, flexible y versátil para generar estadísticas de recursos del sistema Linux, que reemplaza todas las herramientas mencionadas anteriormente. Viene con características adicionales, contadores y es altamente extensible, los usuarios con conocimientos de Python pueden crear sus propios complementos.

  1. Une información de las herramientas vmstat, netstat, iostat, ifstat y mpstat
  2. Muestra estadísticas simultáneamente
  3. Contadores de pedidos y altamente extensibles
  4. Admite el resumen de dispositivos de red/bloque agrupados
  5. Muestra interrupciones por dispositivo
  6. Funciona en plazos precisos, sin cambios de tiempo cuando un sistema está estresado
  7. Admite salida en color, indica diferentes unidades en diferentes colores
  8. Muestra unidades exactas y limita los errores de conversión tanto como sea posible.
  9. Admite la exportación de salida CSV a documentos Gnumeric y Excel

Cómo instalar dstat en sistemas Linux

dstat está disponible para instalar desde repositorios predeterminados en la mayoría de las distribuciones de Linux, puede instalarlo y usarlo para monitorear un sistema Linux en el proceso de pruebas de ajuste de rendimiento o ejercicios de resolución de problemas.

# yum install dstat             [On RedHat/CentOS and Fedora]
$ sudo apt-get install dstat    [On Debian, Ubuntu and Linux Mint]

Funciona en tiempo real, generando información selectiva en columnas, incluida la magnitud y las unidades de las estadísticas que se muestran después de cada segundo, de forma predeterminada.

Nota: La salida de dstat está destinada específicamente a la interpretación humana, no como entrada para que otras herramientas lo procesen.

A continuación se muestra una salida que se ve después de ejecutar el comando dstat sin opciones ni argumentos (similar a usar las opciones -cdngy (predeterminado) o la opción -a ).

$ dstat 

La salida anterior indica:

  1. Estadísticas de CPU: uso de CPU por procesos de usuario (usr), procesos del sistema (sys), así como el número de procesos inactivos (idl) y en espera (wai), interrupción dura (hiq) e interrupción suave (siq) .
  2. Estadísticas de disco: número total de operaciones de lectura (lectura) y escritura (escritura) en discos.
  3. Estadísticas de red: cantidad total de bytes recibidos (recv) y enviados (enviar) en las interfaces de red.
  4. Estadísticas de paginación: número de veces que la información se copia (entra) y se mueve fuera (fuera) de la memoria.
  5. Estadísticas del sistema: número de interrupciones (int) y cambios de contexto (csw).

Para mostrar la información proporcionada por vmstat , use la opción -v o --vmstat :

$ dstat --vmstat

En la imagen de arriba, dstat muestra:

  1. Estadísticas del proceso: número de procesos en ejecución (ejecución), bloqueados (blk) y nuevos (nuevos) generados.
  2. Estadísticas de memoria: cantidad de memoria usada (usada), almacenada en búfer (buff), en caché (cach) y libre (libre).

Ya expliqué en las últimas tres secciones (paginación, disco y estadísticas del sistema) en el ejemplo anterior.

Vamos a sumergirnos en algunos comandos avanzados de monitoreo del sistema dstat. En el siguiente ejemplo, queremos monitorear un solo programa que usa la mayor cantidad de CPU y consume la mayor cantidad de memoria.

Las opciones del comando son:

  1. -c : uso de la CPU
  2. --top-cpu - proceso que usa la mayoría de la CPU
  3. -dn : estadísticas de disco y red
  4. --top-mem - proceso que consume más memoria

$ dstat -c --top-cpu -dn --top-mem

Además, también puede almacenar la salida de dstat en un archivo .csv para su análisis en un momento posterior habilitando la opción --output como en el ejemplo siguiente.

0 Aquí, mostramos el tiempo, cpu, mem, estadísticas de carga del sistema con un retraso de un segundo entre 5 actualizaciones (conteos).

$ dstat --time --cpu --mem --load --output report.csv 1 5 

Hay varios complementos dstat internos (como las opciones utilizadas en el ejemplo anterior) y externos que puede usar con dstat, para ver una lista de todos los complementos disponibles, ejecute el siguiente comando:

$ dstat --list

Lee complementos de las rutas a continuación, por lo tanto, agregue complementos externos en estos directorios:

~/.dstat/
(path of binary)/plugins/
/usr/share/dstat/
/usr/local/share/dstat/

Para obtener más información de uso, consulte http://dag.wiee.rs/home-made/dstat/.

dstat es una herramienta de generación de estadísticas de recursos del sistema todo en uno, versátil, que combina información de varias otras herramientas como vmstat, mpstat, iostat, netstat e ifstat.

Espero que esta revisión sea útil para usted, lo más importante es que puede compartir con nosotros cualquier sugerencia, ideas complementarias para mejorar el artículo y también darnos su opinión sobre su experiencia con el uso de dstat a través de la sección de comentarios a continuación.