Table of Contents
Collectl: una herramienta avanzada de supervisión del rendimiento todo en uno para Linux
El deber más importante de un administrador de sistemas Linux es asegurarse de que el sistema que está administrando esté en muy buenas condiciones. Hay muchas herramientas disponibles para administradores de sistemas Linux que pueden ayudar a monitorear y mostrar procesos en un sistema como top y htop, pero ninguna de estas herramientas puede competir con collectl.
Collectl: Linux Performance Monitoring
collectl. es una utilidad de línea de comandos rica en funciones muy agradable que se puede utilizar para recopilar datos de rendimiento que describen el estado actual del sistema. A diferencia de la mayoría de las otras herramientas de supervisión, collectl no se centra en un número limitado de métricas del sistema, sino que puede recopilar información sobre muchos tipos diferentes de recursos del sistema, como CPU, disco, memoria, red, sockets, tcp, inodos, infiniband lustre, memoria, nfs, procesos, quadrics, slabs y buddyinfo.
Algo muy bueno de usar collectl. es que también puede desempeñar el papel de utilidades que están diseñadas solo con un propósito específico como top, ps, iotop y muchos otros. ¿Cuáles son algunas de las características que hacen que colleclt. sea una herramienta útil?
Después de investigar mucho, he compilado una lista con algunas de las características más importantes de la utilidad de línea de comandos collectl para ustedes.
Características colectivas
- Se puede ejecutar de forma interactiva, como un demonio o ambos.
- Puede mostrar la salida en muchos formatos.
- Tiene la capacidad de monitorear casi cualquier subsistema.
- Puede desempeñar el papel de muchas otras utilidades como ps, top, iotop, vmstat.
- Tiene la capacidad de registrar y reproducir los datos capturados.
- Puede exportar los datos en varios formatos de archivo. (esto es muy útil cuando desea analizar los datos con herramientas externas).
- Puede ejecutarse como un servicio para monitorear máquinas remotas o un clúster de servidores completo.
- Puede mostrar los datos en la terminal, escriba en un archivo o un socket.
Cómo instalar collectl en Linux
La utilidad collectl. se ejecuta en todas las distribuciones de Linux, lo único que necesita para ejecutarse es perl, así que asegúrese de tener Perl. instalado en su máquina antes de instalar collectl en su máquina.
En Debian/Ubuntu/Linux Mint freestar.config.enabled_slots.push
El siguiente comando se puede utilizar para instalar la utilidad Collectl en máquinas basadas en Debian como Ubuntu.
sudo apt-get install collectl En RHEL/CentOS/Fedora
Si está utilizando una distribución basada en Red Hat, puede obtenerla fácilmente de los repositorios con el comando yum.
# yum install collectl
Algunos aspectos prácticos Ejemplos de Th e Collectl Utility
Una vez finalizada la instalación de la herramienta collectl, puede ejecutarla fácilmente desde el terminal, incluso sin ninguna opción. El siguiente comando mostrará información sobre la CPU, el disco y las estadísticas de la red en un formato muy breve y legible por humanos.
# collectl. esperando 1 segundo de muestra … # #cpu sys inter ctxsw KBRead Reads KBWrit Writes KBIn PktIn KBOut PktOut 13 5790 1322 0 0 92 7 4 13 0 5 10 2719 1186 0 0 0 0 3 9 0 4 12 0753 1188 0 0 52 3 2 5 0 6 13 2733 1063 0 0 0 0 1 1 0 1 25 2834 1375 0 0 0 0 1 1 0 1 28 2870 1424 0 0 36 7 1 1 0 1 19 3949 2271 0 0 44 3 1 1 0 1 17 2809 1384 0 0 0 0 1 6 0 6 16 2732 1348 0 0 0 0 1 1 0 1 22 4993 1615 0 0 56 3 1 2 0 3
Como pueden ver en lo anterior, ou tput que se muestra en la pantalla del terminal, es muy fácil trabajar con los valores de las métricas del sistema presentes en la salida del comando porque aparece en una sola línea.
Cuando la utilidad collectl se ejecuta sin ninguna opción, muestra información sobre los siguientes subsistemas:
- cpu
- discos
- red
Nota. en nuestro caso, un subsistema es todo tipo de recurso del sistema que se puede medir.
También puede mostrar estadísticas para todos los subsistemas excepto losas combinando el comando con la opción –todos. como se muestra a continuación.
# collectl–all. esperando 1 segundo de muestra … # #cpu sys inter ctxsw Cpu0 Cpu1 Free Buff Cach Fragmentos de mapa de losa inac KBRead Lecturas KBWrit Escrituras KBIn PktIn KBOut PktOut IP Tcp Udp Icmp Tcp Udp Raw Frag Handle Inodes Lectura Escrituras Meta Comm 16 3817 1542430390 1G 175M 1G 683M 193M 1G nsslkjjebbk 0 0 24 3 1 1 0 1 0 0 0 0 623 0 0 0 8160 240829 0 0 0 0 11 1745 1324316426 1G 175M 1G 683M 193M 1G nsslkjjebbk 0 0 0 0 0 3 0 2 0 0 0 0 622 0 0 0 8160 240828 0 0 0 0 15 2793 1683 371424 1G 175M 1G 683M 193M 1G ssslkjjebbk 0 0 0 0 1 1 0 1 0 0 0 0 622 0 0 0 8160 240829 0 0 0 0 16 2872 1875427446 1G 175M 1G 683M 193M 1G ssslkjjebbk 0 0 24 3 1 1 0 1 0 0 0 0 622 0 0 0 8160 240828 0 0 0 0 24 2842 1383473368 1G 175M 1G 683M 193M 1G ssslkjjebbk 0 0168 6 1 1 0 1 0 0 0 0 622 0 0 0 8160 240828 0 0 0 0 27 3844 1099 478 365 1G 175M 1G 683M 193M 1G nsslkjjebbk 0 0 0 0 1 6 1 9 0 0 0 0 622 0 0 0 8160 240828 0 0 0 0 26 5823 1238396428 1G 175M 1G 683M 193M 1G ssslkjjebbk 0 0 0 0 2 11 3 9 0 0 0 0 622 0 0 0 8160 240828 0 0 0 0 15 1753 1276361391 1G 175M 1G 683M 193M 1G ssslkjjebbk 0 0 40 3 1 2 0 3 0 0 0 0 623 0 0 0 8160 240829 0 0 0 0
Pero, ¿cómo monitorea el uso de la CPU con la ayuda de la utilidad? La opción ‘-s. debe usarse para controlar qué datos del subsistema se recopilarán o reproducirán.
Por ejemplo, el siguiente comando se puede usar para monitorear el resumen de la uso de cpu.
# collectl-sc. esperando 1 segundo de muestra … # #cpu sys inter ctxsw 15 2749 1155 16 3772 1445 14 2793 1247 27 4887 1292 24 1 796 1258 16 1 743 1113 15 1 743 1179 14 1 706 1078 15 1 764 1268
¿Qué sucede cuando se combina el comando con “ scdn. ? La mejor manera de aprender a usar las herramientas de línea de comandos es practicar tanto como sea posible, así que ejecute el siguiente comando en su terminal y vea qué sucede.
# collectl-scdn. esperando 1 segundo de muestra … # #cpu sys inter ctxsw KBRead Reads KBWrit Writes KBIn PktIn KBOut PktOut 25 4943 3333 0 0 0 0 1 1 0 2 27 3825 2910 0 0 0 0 1 1 0 1 27 5886 2531 0 0 0 0 0 0 0 1 20 4872 2406 0 0 0 0 1 1 0 1 26 1854 2091 0 0 20 2 1 1 0 1 39 4 1004 3398 0 0 0 0 2 8 3 6 41 6955 2464 0 0 40 3 1 2 0 3 25 7890 1609 0 0 0 0 1 1 0 1 16 2814 1165 0 0796 43 2 2 0 2 14 1779 1383 0 0 48 6 1 1 0 1 11 2795 1285 0 0 0 0 2 14 1 14
Puede comprender fácilmente que la opción predeterminada es “ cdn. , que significa cpu, discos y datos de red. El resultado del comando es el mismo que el resultado de “collectl-scn.
Si desea recopilar datos sobre la memoria, utilice el siguiente comando.
# collectl-sm. esperando 1 segundo muestra … # # Caché de pulido libre Mapa de losas inac 1G 177M 1G 684M 193M 1G 1G 177M 1G 684M 193M 1G 1G 177M 1G 684M 193M 1G 1G 177M 1G 684M 193M 1G 1G 177M 1G 684M 193M 1G 1G 177M 1G 684M 193M 1G 1G 177M 1G 684M 193M 1G 1G 177M 1G 684M 193M 1G
La salida anterior es muy útil cuando desea obtener información detallada sobre el uso de memoria, memoria libre y otras cosas importantes para el rendimiento de su sistema.
¿Qué tal algunos datos sobre tcp? Utilice el siguiente comando para hacerlo.
# collectl-st. esperando 1 segundo muestra … # # IP Tcp Udp Icmp 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Después de haber ganado algo de experiencia, puede combinar opciones fácilmente para obtener los resultados que desee. querer. Por ejemplo, puede combinar “ t. para tcp y “ c. para cpu. El siguiente comando hace eso.
# collectl-stc. esperando 1 segundo de muestra … # #cpu sys inter ctxsw IP Tcp Udp Icmp 23 8961 3136 0 0 0 0 24 5 916 3662 0 0 0 0 21 8848 2408 0 0 0 0 30 10916 2674 0 0 0 0 38 3826 1752 0 0 0 0 31 3820 1408 0 0 0 0 15 5781 1335 0 0 0 0 17 380 1314 0 0 0 0 17 3755 1218 0 0 0 0 14 2788 1321 0 0 0 0
Es difícil para los humanos recordar todas las opciones disponibles, así que estoy publicando la lista resumida de subsistemas compatibles con la herramienta.
- b. información del amigo (fragmentación de la memoria)
- c. CPU
- d. Disco
- f. Datos NFS V3
- i. Inode y sistema de archivos
- j. interrupciones
- l. Brillo
- m. Memoria
- n. Redes
- s. Sockets
- t. TCP
- x. Interconexión
- y. Slabs (cachés de objetos del sistema)
Un dato muy importante para un administrador del sistema o un usuario de Linux son los datos recopilados sobre el uso del disco. El siguiente comando lo ayudará a monitorear el uso del disco.
# collectl-sd. esperando 1 segundo de muestra … # #KBRead Reads KBWrit Writes 0 0 0 0 0 0 0 0 0 0 92 7 0 0 0 0 0 0 36 3 0 0 0 0 0 0 0 0 0 0100 7 0 0 0 0
También puede utilizar la opción “-sD. para recopilar datos en discos individuales, pero debe saber que no se proporcionará información sobre el total de discos.
# collectl-sD. esperando 1 segundo de muestra … # ESTADÍSTICAS DEL DISCO (/seg) # Pct #Name KBytes Tamaño de E/S fusionadas KBytes Tamaño de E/S fusionadas RWSize QLen Espera SvcTim Util sda 0 0 0 0 52 11 2 26 26 1 8 8 1 sda 0 0 0 0 0 0 0 0 0 0 0 0 0 sda 0 0 0 0 24 0 2 12 12 0 0 0 0 sda 0 0 0 0152 0 4 38 38 0 0 0 0 sda 0 0 0 0192 45 3 64 64 1 20 20 5 sda 0 0 0 0 204 0 2102102 0 0 0 0 sda 0 0 0 0 0 0 0 0 0 0 0 0 0 sda 0 0 0 0 116 26 3 39 38 1 16 16 4 sda 0 0 0 0 0 0 0 0 0 0 0 0 0 sda 0 0 0 0 0 0 0 0 0 0 0 0 sda 0 0 0 0 32 5 3 11 10 1 16 16 4 sda 0 0 0 0 0 0 0 0 0 0 0 0 0
También puede utilizar otros subsistemas de detalles para recopilar datos detallados. La siguiente es una lista de los subsistemas detallados.
- C. CPU
- D. Disk
- E. datos ambientales (ventilador, potencia, temperatura), a través de ipmitool
- F. datos NFS
- J. interrupciones
- L. detalle de Lustre OST O detalle del sistema de archivos del cliente
- N: redes.
- T. 65 contadores TCP solo disponibles en formato de trazado
- X. Interconexión
- Y. Slabs (cachés de objetos del sistema)
- Z. Procesos
Hay muchas opciones disponibles en la utilidad collectl, pero no hay suficiente tiempo y espacio para cubrirlos todos en un solo artículo. Sin embargo, vale la pena mencionar y enseñar cómo usar la utilidad como top. y ps.
Es muy fácil hacer que collectl funcione como la utilidad principal, simplemente ejecute el siguiente comando en su terminal y verá un resultado similar que la herramienta top. le brinda cuando se ejecuta en su sistema Linux.
# collectl–top. # PROCESOS TOP ordenados por tiempo (los contadores son/seg) 13:11:02 # PID User PR PPID THRD S VSZ RSS CP SysT UsrT Pct AccuTime RKB WKB MajF Comando MinF ^ COuch! Tecmint 20 1 40 R 1G 626M 0 0.01 0.14 15 28: 48.24 0 0 0109/usr/lib/firefox/firefox 3403 tecmint 20 1 40 R 1G 626M 1 0.00 0.20 20 28: 48.44 0 0 0600/usr/lib/firefox/firefox 5851 tecmint 20 4666 0 R 17M 13M 0 0.02 0.06 8 00: 01.28 0 0 0 0/usr/bin/perl 1682 root 20 1666 2 R 211M 55M 1 0.02 0.01 3 03: 10.24 0 0 0 95/usr/bin/X 3454 tecmint 20 3403 8 S 216M 45M 1 0.01 0.02 3 01: 23.32 0 0 0 0/usr/lib/firefox/plugin-container 4658 tecmint 20 4657 3 S 207M 17M 1 0.00 0.02 2 00 : 08.23 0 0 0142 gnome-terminal 2890 tecmint 20 2571 3 S 340M 68M 0 0.00 0.01 1 01: 19.95 0 0 0 0 compiz 3521 tecmint 20 1 24 S 710M 148M 1 0.01 0.00 1 01: 47.84 0 0 0 0 skype 1 raíz 20 0 0 S 3M 2M 0 0.00 0.00 0 00: 02.57 0 0 0 0/sbin/init 2 raíz 20 0 0 S 0 0 1 0.00 0.00 0 00: 00.00 0 0 0 0 kthreadd 3 raíz 20 2 0 S 0 0 0 0.00 0.00 0 00: 00.60 0 0 0 0 ksoftirqd/0 5 raíz 0 2 0 S 0 0 0 0.00 0.00 0 00: 00.00 0 0 0 0 ktrabajador/0: 0H 7 raíz 0 2 0 S 0 0 0 0.00 0.00 0 00: 00.00 0 0 0 0 ktrabajador/u: 0H 8 raíz RT 2 0 S 0 0 0 0.00 0.00 0 00: 04.42 0 0 0 0 migración/0 9 raíz 20 2 0 S 0 0 0 0.00 0.00 0 00: 00.00 0 0 0 0 rcu_bh 10 raíz 20 2 0 R 0 0 0 0.00 0.00 0 00: 02.22 0 0 0 0 rcu_sched 11 raíz RT 2 0 S 0 0 0 0,0 0 0.00 0 00: 00.05 0 0 0 0 perro guardián/0 12 raíz RT 2 0 S 0 0 1 0.00 0.00 0 00: 00.07 0 0 0 0 perro guardián/1 13 raíz 20 2 0 S 0 0 1 0.00 0.00 0 00: 00.73 0 0 0 0 ksoftirqd/1 14 raíz RT 2 0 S 0 0 1 0.00 0.00 0 00: 01.96 0 0 0 0 migración/1 16 raíz 0 2 0 S 0 0 1 0.00 0.00 0 00: 00.00 0 0 0 0 ktrabajador/1: 0H 17 root 0 2 0 S 0 0 1 0.00 0.00 0 00: 00.00 0 0 0 0 cpuset
Y ahora, por último, pero no menos importante, para usar la utilidad collectl como la herramienta ps, ejecute el siguiente comando en su terminal. Obtendrá información sobre los procesos en su sistema de la misma manera que lo hace cuando ejecuta el comando “ ps. en su terminal.