Monitorización de los recursos del sistema mediante el SAR en Ubuntu 20.04

El SAR, también conocido como «Informe de actividad del sistema», es una herramienta de supervisión de los recursos del sistema para los sistemas operativos Linux. Es muy útil para que los administradores de sistemas recopilen el informe de rendimiento del sistema y mejoren el rendimiento del sistema para manejar más solicitudes. Con el SAR, puedes monitorizar el uso de la CPU, la utilización de la memoria, el consumo de los dispositivos de E/S, el rendimiento de la batería, los dispositivos Plug and Play, el uso del disco, el rendimiento del procesador, el sistema de archivos y mucho más.

En este tutorial, te mostraremos cómo instalar y utilizar el SAR para monitorizar el rendimiento del sistema.

Requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Un nombre de dominio válido apuntado con la IP de tu servidor.
  • Una contraseña de root configurada en el servidor.

Instalar el SAR

Por defecto, el paquete SAR está disponible en el repositorio por defecto de Ubuntu. Puedes instalarlo simplemente ejecutando el siguiente comando:

apt-get install sysstat -y

Una vez terminada la instalación, inicia el servicio SAR y habilítalo para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl start sysstat
systemctl enable sysstat

A continuación, puedes verificar la versión instalada del SAR con el siguiente comando:

sar -V

Deberías obtener la versión del SAR en la siguiente salida:

sysstat version 12.2.0
(C) Sebastien Godard (sysstat  orange.fr)

Durante la instalación, el SAR genera un archivo Cron para recoger y generar informes cada 10 minutos. Puedes comprobarlo con el siguiente comando:

cat /etc/cron.d/sysstat

Deberías obtener la siguiente salida:

# The first element of the path is a directory where the debian-sa1
# script is located
PATH=/usr/lib/sysstat:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin

# Activity reports every 10 minutes everyday
5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1

# Additional run at 23:59 to rotate the statistics file
59 23 * * * root command -v debian-sa1 > /dev/null && debian-sa1 60 2

Monitorizar el uso de la CPU

Puedes ejecutar el siguiente comando para monitorizar el uso de la CPU 4 veces cada 1 segundo.

sar 1 4

Deberías obtener la siguiente salida:

Linux 5.4.0-29-generic (ubuntu2004) 	01/04/2021 	_x86_64_	(2 CPU)

09:32:39 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
09:32:40 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
09:32:41 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
09:32:42 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
09:32:43 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
Average:        all      0.00      0.00      0.00      0.00      0.00    100.00

También puedes guardar la salida generada en un archivo utilizando la opción -o.

sar 1 4 -o cpu-report

Puedes ver este informe más tarde utilizando la opción -f como se muestra a continuación:

sar -f cpu-report

Deberías obtener la siguiente salida:

Linux 5.4.0-29-generic (ubuntu2004) 	01/04/2021 	_x86_64_	(2 CPU)

09:35:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
09:35:02 AM     all      0.50      0.00      1.00      0.00      0.00     98.50
09:35:03 AM     all      0.00      0.00      0.50      0.00      0.00     99.50
09:35:04 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
09:35:05 AM     all      0.50      0.00      0.50      0.00      0.00     99.00
Average:        all      0.25      0.00      0.50      0.00      0.00     99.25

Monitorizar el uso de la memoria

Puedes utilizar la opción -r para monitorizar el uso de la memoria de tu sistema.

Para monitorizar el uso de la memoria 4 veces cada 1 segundo, ejecuta el siguiente comando:

sar -r 1 4

Deberías obtener la siguiente salida:

Linux 5.4.0-29-generic (ubuntu2004) 	01/04/2021 	_x86_64_	(2 CPU)

09:37:29 AM kbmemfree   kbavail kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
09:37:30 AM   3609412   3733536     47556      1.18     24180    290460    102048      2.26    138240    206508         0
09:37:31 AM   3609412   3733536     47556      1.18     24180    290460    102048      2.26    138240    206508         0
09:37:32 AM   3609444   3733568     47524      1.18     24180    290460    102048      2.26    138240    206508         0
09:37:33 AM   3609444   3733568     47524      1.18     24180    290460    102048      2.26    138240    206508         0
Average:      3609428   3733552     47540      1.18     24180    290460    102048      2.26    138240    206508         0

Supervisar las estadísticas de paginación

Puedes utilizar la opción -B para monitorizar las estadísticas de paginación de tu sistema.

Ejecuta el siguiente comando para mostrar las estadísticas de paginación.

sar -B 1 4

Deberías obtener la siguiente salida:

Linux 5.4.0-29-generic (ubuntu2004) 	01/04/2021 	_x86_64_	(2 CPU)

09:39:03 AM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
09:39:04 AM      0.00      0.00      4.00      0.00      1.00      0.00      0.00      0.00      0.00
09:39:05 AM      0.00      0.00      1.00      0.00      8.00      0.00      0.00      0.00      0.00
09:39:06 AM      0.00      0.00      0.00      0.00      8.00      0.00      0.00      0.00      0.00
09:39:07 AM      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         0.00      0.00      1.25      0.00      4.25      0.00      0.00      0.00      0.00

Supervisar las estadísticas de los dispositivos de bloques

Puedes utilizar la opción -d con el comando SAR para mostrar el informe de las estadísticas de los dispositivos de bloque. También puedes utilizar la opción -p para mostrar la salida en un formato más legible:

sar -d -p 1 4

Deberías ver la siguiente salida:

Linux 5.4.0-29-generic (ubuntu2004) 	01/04/2021 	_x86_64_	(2 CPU)

09:41:15 AM       DEV       tps     rkB/s     wkB/s     dkB/s   areq-sz    aqu-sz     await     %util
09:41:16 AM       sda      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:41:17 AM       sda      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:41:18 AM       sda      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:41:19 AM       sda      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:          sda      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Monitorizar las estadísticas de la red

Puedes utilizar la opción -n con el comando SAR para monitorizar las estadísticas de red de tu sistema. Puedes utilizar DEV, EDEV, NFS, NFSD, SOCK, IP, EIP, ICMP, EICMP, TCP, ETCP, UDP, SOCK6, IP6, EIP6, ICMP6, EICMP6 y UDP6 con la opción -n para supervisar un dispositivo específico. También puedes utilizar la opción ALL para supervisar todos los dispositivos de red.

Para supervisar todos los dispositivos de red, ejecuta el siguiente comando:

sar -n ALL 1 4

Para supervisar las estadísticas de todas las interfaces de red, ejecuta el siguiente comando:

sar -n DEV 1 4

Deberías obtener la siguiente salida:

Linux 5.4.0-29-generic (ubuntu2004) 	01/04/2021 	_x86_64_	(2 CPU)

09:51:18 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
09:51:19 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:51:19 AM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:51:19 AM      eth0     12.00      2.00      0.91      0.23      0.00      0.00      0.00      0.00

09:51:19 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
09:51:20 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:51:20 AM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:51:20 AM      eth0     16.00     12.00      1.13      2.22      0.00      0.00      0.00      0.00

09:51:20 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
09:51:21 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:51:21 AM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:51:21 AM      eth0      6.00     12.00      0.46      3.02      0.00      0.00      0.00      0.00

09:51:21 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
09:51:22 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:51:22 AM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:51:22 AM      eth0      9.00     22.00      0.66      3.49      0.00      0.00      0.00      0.00

Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth0     10.75     12.00      0.79      2.24      0.00      0.00      0.00      0.00

Monitorizar el uso del intercambio

Puedes utilizar la opción -S para supervisar las estadísticas de uso de la memoria de intercambio.

sar -S 1 4

Deberías obtener la siguiente salida:

Linux 5.4.0-29-generic (ubuntu2004) 	01/04/2021 	_x86_64_	(2 CPU)

09:54:18 AM kbswpfree kbswpused  %swpused  kbswpcad   %swpcad
09:54:19 AM    483800         0      0.00         0      0.00
09:54:20 AM    483800         0      0.00         0      0.00
09:54:21 AM    483800         0      0.00         0      0.00
09:54:22 AM    483800         0      0.00         0      0.00
Average:       483800         0      0.00         0      0.00

Supervisar las operaciones de E/S

Para controlar los detalles de las operaciones de E/S, como las transacciones por segundo, las lecturas por segundo y las escrituras por segundo, ejecuta el siguiente comando:

sar -b 1 4

Deberías obtener la siguiente salida:

Linux 5.4.0-29-generic (ubuntu2004) 	01/04/2021 	_x86_64_	(2 CPU)

09:56:58 AM       tps      rtps      wtps      dtps   bread/s   bwrtn/s   bdscd/s
09:56:59 AM      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:57:00 AM      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:57:01 AM      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:57:02 AM      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         0.00      0.00      0.00      0.00      0.00      0.00      0.00

Conclusión

En el post anterior, has aprendido a instalar y utilizar la herramienta de línea de comandos SAR para monitorizar el rendimiento de tu sistema. Espero que esto te ayude a mejorar el rendimiento de tu sistema.

También te podría gustar...