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
Monitorizar el sistema con dstat
Normalmente dstat no viene instalada en ninguna distribución linux, pero si esta en sus repositorios oficiales. Su instalación es sencilla.
Ubuntu, Debian, Linux Mint y derivados:
sudo apt-get install dstat
CentOS y derivados:
yum install dstat
Fedora:
dnf install dstat
OpenSuse, Suse y derivados:
zypper in dstat
Una vez instalado vemos su sintaxis y algunos ejemplos de uso.
Sintaxis de la herramienta:
Usage: dstat [-afv] [options..] [delay [count]]
Ejemplos de uso de dstat
De manera predeterminada:
dstat
Uso con «Vmstst»:
dstat -Vmstat
Con las siguientes opciones monitorizamos…
- -c : uso de la cpu.
- –top-cpu : procesos que hacen uso de más cpu.
- -dn : estadísticas del disco de almacenamiento y la red.
- –top-mem : proceso que consume más memoria.
dstat -c --top-cpu -dn --top-mem
Para exportar los datos obtenidos de manera predeterminada a un archivo CSV, tan solo debes definir la ruta.
dstat --output /home/sololinux/registro_dstat.csv
También podemos definir los datos que queremos exportar, incluso el numero de lineas del monitoreo que queremos guardar en CSV (en el ejemplo definimos de la linea 1 a la 6) .
dstat --time --cpu --mem --load --output report.csv 1 6
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.
Que pasa que en Arch y derivadas no se puede instalar? lo digo porque no has puesto como se instala. Normalmente, solo se pone Ubuntu y derivadas y se habla de Linux, como si fuese la única distro, pero aunque se pon mas, siempre se olvidan de alguna y en este caso, para mi la mejor, de echo yo uso Manjaro.
Normalmente se publican las instalaciones sobre las distros más utilizadas. De todas formas ya se comenta en el articulo que la herramienta está presente en la gran mayoría de repositorios oficiales.
Instalar dstat en Manjaro Arch:
sudo pacman -S dstat
En caso de problemas al instalar…
sudo pacman -Rs dstat
En las distros mas utilizados, ose Manjaro no es de las mas utilizadas? segun tu claro. En distrowatch, es la numero 2, eso no significa que se la segunda mas utilizada, pero si es de las mas utilizadas.
Manjaro la segunda mas utilizada?
Entonces, Ubuntu, Linuxmint, Fedora, Centos, Opensuse, etc… van a tener que cerrar.
Distrowach rankea las visitas alas fichas de las de la distribuciones nada más. Segun lo que dices MX Linux es la mas utilizada por el mundo entero, y Ubuntu la 5.