Monitorizar el sistema con dstat.
Dstat es una excelente herramienta (escrita en python) que nos ofrece las estadísticas y datos sobre el uso del sistema. Esta aplicación reúne las mejores características de vmstat, iostat, netstat, nfsstat e ifstat. De hecho, podríamos atrevernos a decir que dstat supera alguna de las limitaciones de las herramientas mencionadas y agrega características adicionales, más contadores y flexibilidad.
Dstat es útil para monitorear sistemas y depurar problemas, ya sea en sistemas de producción o en fase de pruebas.
Una de las principales virtudes de "dstat" es que nos ofrece una salida legible para el ser humano, tanto en tiempo predefinido como en tiempo real. Una característica importante que nos ofrece el comando, es que nos permite enviar los datos recolectados a un archivo CSV, de forma que podamos analizar los datos de manera más minuciosa.
Principales características:
Combina vmstat, iostat, ifstat, netstat, etc...
Muestra las estadísticas recolectadas bien organizadas cronológicamente.
Nos permite habilitar y ordenar los contadores que necesitemos.
Diseño modular.
Permite ver resúmenes y totales de los dispositivos de red.
Visualizar las interrupciones de un dispositivo.
Es muy preciso incluso en un sistema sobrecargado.
Muestra los valores tomados de manera exacta.
Diferencia los tipos de valores por colores.
Cuando por algún motivo existe un retraso en la medición, muestra los resultados intermedios.
Permite exportar a CSV.
Las opciones principales son las siguientes:
-c, --cpu enable cpu stats
-C 0,3,total include cpu0, cpu3 and total
-d, --disk enable disk stats
-D total,hda include hda and total
-g, --page enable page stats
-i, --int enable interrupt stats
-I 5,eth2 include int5 and interrupt used by eth2
-l, --load enable load stats
-m, --mem enable memory stats
-n, --net enable network stats
-N eth1,total include eth1 and total
-p, --proc enable process stats
-r, --io enable io stats (I/O requests completed)
-s, --swap enable swap stats
-S swap1,total include swap1 and total
-t, --time enable time/date output
-T, --epoch enable time counter (seconds since epoch)
-y, --sys enable system stats
--aio enable aio stats
--fs, --filesystem enable fs stats
--ipc enable ipc stats
--lock enable lock stats
--raw enable raw stats
--socket enable socket stats
--tcp enable tcp stats
--udp enable udp stats
--unix enable unix stats
--vm enable vm stats
--plugin-name enable plugins by plugin name (see manual)
--list list all available plugins
-a, --all equals -cdngy (default)
-f, --full automatically expand -C, -D, -I, -N and -S lists
-v, --vmstat equals -pmgdsc -D total
--float force float values on screen
--integer force integer values on screen
--bw, --blackonwhite change colors for white background terminal
--nocolor disable colors (implies --noupdate)
--noheaders disable repetitive headers
--noupdate disable intermediate updates
--output file write CSV output to file
Exportar datos de dstat a csv
Como has podido comprobar es una excelente herramienta que todos deberíamos tener en cuanta, ademas tiene muchísimas extensiones y complementos. Puedes ver los complementos instalados con el siguiente comando.
dstat --list
ejemplo de salida...
sergio@SoloLinux:~> dstat --list
internal:
aio, cpu, cpu24, disk, disk24, disk24old, epoch, fs, int, int24, io,
ipc, load, lock, mem, net, page, page24, proc, raw, socket, swap,
swapold, sys, tcp, time, udp, unix, vm
/usr/share/dstat:
battery, battery-remain, cpufreq, dbus, disk-tps, disk-util, dstat,
dstat-cpu, dstat-ctxt, dstat-mem, fan, freespace, gpfs, gpfs-ops,
helloworld, innodb-buffer, innodb-io, innodb-ops, lustre,
memcache-hits, mysql-io, mysql-keys, mysql5-cmds, mysql5-conn,
mysql5-io, mysql5-keys, net-packets, nfs3, nfs3-ops, nfsd3, nfsd3-ops,
ntp, postfix, power, proc-count, qmail, rpc, rpcd, sendmail, snooze,
squid, test, thermal, top-bio, top-bio-adv, top-childwait, top-cpu,
top-cpu-adv, top-cputime, top-cputime-avg, top-int, top-io,
top-io-adv, top-latency, top-latency-avg, top-mem, top-oom, utmp,
vm-memctl, vmk-hba, vmk-int, vmk-nic, vz-cpu, vz-io, vz-ubc, wifi
sergio@SoloLinux:~>
Además, las posibilidades de la herramienta dstat se pueden ampliar utilizando complementos, entre los mejores nos encontramos con los siguientes:
dstat_app - los procesos que más consumen por aplicación
dstat_battery: porcentaje de carga de la batería (requiere ACPI)
dstat_cpufreq - frecuencia de la CPU (requiere ACPI)
dstat_dbus: el número de conexiones dbus (requiere python-dbus)
dstat_freespace - ver el uso del disco por partición
dstat_gpfs - IO de lectura / escritura de GPFS
dstat_gpfsop - operaciones del sistema de archivos GPFS
dstat_nfs3 - operaciones del cliente NFS v3
dstat_nfs3op - trabajos extendidos del cliente de NFS v3
dstat_nfsd3 - las operaciones del servidor NFS v3
dstat_nfsd3op - las operaciones extendidas del servidor NFS v3
dstat_postfix - contadores de las diferentes colas (necesita postfix)
dstat_rpc - llamadas de cliente RPC
dstat_rpcd - llamadas del servidor RPC
dstat_sendmail - contadores de la cola mail (necesita sendmail)
dstat_thermal - temperatura de la CPU
dstat_utmp - número de sesiones utmp (necesita python-utmp)
dstat_wifi: señal de conexión inalámbrica y el ruido (necesita python-wifi)
En Sololinux.es seguimos creciendo gracias a nuestros lectores, puedes colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.
Read the full article