SAR es una gran herramienta de los sistemas UNIX y GNU/Linux, las siglas significa “System Activity Report”, o en español Informe de actividad del sistema, que básicamente lo que hace es juntar información y guardar los datos tanto de CPU, Memoria, IO de disco, red, etc, para su posterior análisis.

1. Instalación

Es bastante simple, vamos a ver como hacerlo para varias distribuciones

RHEL, Centos, Almalinux, Fedora

yum -y install sysstat
o
dnf -y install sysstat

Para Debian, Ubuntu y derivadas

apt install sysstat

Suse/OpenSuse, se puede hacer con yast o

zypper -i sysstat

2. Activar el servicio

Para verificar la instalación lanzamos which sar y deberíamos ver una salida indicando la presencia del comando en cuestión.

which sar
/usr/bin/sar

IMPORTANTE: para que la herramienta comience a colectar datos es necesario ajustar un parámetro en:

nano /etc/default/sysstat

Donde debemos dejar ENABLED en «true»

Ahora si, lo habilitamos e iniciamos

systemctl enable sysstat
systemctl start sysstat

Por defecto se ejecuta un trabajo cron para sysstat cada 10 minutos, para recopilar datos y los almacenará en el archivo correspondiente

Podemos ver los archivos de log en:

Debian
/var/log/sysstat/saDD

RHEL
/var/log/sa/saDD

Donde DD es el día que guardo. Si necesitas ajustar el intervalo de esta ejecución cron, se puede modificar en «/etc/cron.d/sysstat».

2.1 – Otro ajuste importante es que por defecto guardará 7 días, podemos decirle que lo haga hasta 28 que es el límite, ajustando el parámetro History a 28 en

Debian
nano /etc/sysstat/sysstat

RHEL
nano /etc/sysconfig/sysstat

Aclaro que mostré varias ubicaciones porque depende el sistema en que se instale, como ves probado en Debian y RHEL. Si tenes otra ubicación déjala en los comentarios.

3. Herramientas de sysstat

El paquete sysstat viene con varias herramientas más, aunque solo veremos sar, tal vez necesitemos alguna después.

sar: recopila y muestra TODAS las estadísticas de actividades del sistema.
sadc: significa “recopilador de datos de actividad del sistema”. Esta es la herramienta de backend sar que realiza la recopilación de datos.
sa1: almacena las actividades del sistema en un archivo de datos binarios. sa1 depende de sadc para este propósito y se ejecuta desde cron.
sa2: crea un resumen diario de las estadísticas recopiladas y se ejecuta desde cron.
sadf: puede generar informes sar en CSV, XML y varios otros formatos. Se utiliza principalmente para integrar datos sar con otras herramientas.
iostat: genera estadísticas de CPU, I/O
mpstat: muestra estadísticas de la CPU.
pidstat: estadísticas basadas en la identificación del proceso (PID)
nfsiostat: muestra estadísticas de I/O NFS.
cifsiostat: genera estadísticas CIFS.

4. Uso del comando sar

La sintaxis básica para el uso del comando sar es la siguiente:

sar [option] [-o filename] [-f filename] [interval] [count]

Dónde:

  • interval: el período en segundos.
  • count: número de veces para realizar estadísticas de salida.

Ahora vamos a ver ejemplos de uso para el día a día.

5. Mostrar el uso de CPU

Mostrar el consumo de todos los cpu cada un segundo

sar -u 1

CPU: CPUs que se stán monitorizando, en los casos anteriores todas las del equipo.
%user: Porcentaje de tiempo de CPU utilizada por aplicaciones/procesos a nivel de usuario.
%nice: Porcentaje de tiempo de CPU utilizada por aplicaciones/procesos con prioridad nice asignada.
%system: Porcentaje de tiempo de CPU utilizada por aplicaciones/procesos a nivel de sistema/kernel.
%iowait: Porcentaje de tiempo de CPU en espera a que terminen operaciones de I/O.
%steal: Porcentaje de tiempo utilizado por las CPU en involuntary wait mientras el hypervisor servía a otro procesador virtual
%idle: Porcentaje de tiempo de CPU en espera y sin operaciones de I/O pendientes.

Otros ejemplos de CPU

sar -u 1 5 Muestra el uso de la CPU en tiempo real cada 1 segundo durante 5 veces.
sar -u ALL 1 5 Igual que “sar -u 1 5” pero muestra campos adicionales.
sar -u -f /var/log/sa/sa10 Muestra el uso de la CPU para el día 10 del mes desde el archivo sa10, ojo la ubicación del archivo puede estar en /var/log/sysstat/sa10.
sar -P ALL 2 1: una fila para cada CPU, en este caso un equipo con 4 CPU y además vemos la media.

6. Memoria libre y usada

Consumo cada 1 segundo, y 5 veces.

sar -r 1 5

  • kbmemfree indica la cantidad de memoria libre disponible en kilobytes.
  • kbmemused indica la cantidad de memoria utilizada en kilobytes. Esto no tiene en cuenta la memoria utilizada por el propio kernel.

Memoria SWAP

sar -S 1 5

Actividad de intercambio

sar -W 1 5
  • pswpin/s indica el número total de páginas de intercambio que el sistema trajo por segundo.
  • pswpout/s indica el número total de páginas de intercambio que el sistema produjo por segundo.

7. Actividades generales de I/O

sar -b 1 5

tps: transacciones por segundo (esto incluye lectura y escritura)
rtps – Leer transacciones por segundo
wtps: escribir transacciones por segundo
pan/s – Bytes leídos por segundo
bwrtn/s – Bytes escritos por segundo

Actividades de I/O del dispositivo de bloque individual

Nos servirá para ver la actividad de los dispositivos de bloque individuales (es decir, un punto de montaje específico, o LUN, o partición), con el parámetro -d

sar -d 1 1

8. Informe de sistemas de archivos montados

sar -F 2 5

9. Estadísticas de red

sar -n DEV
  • IFACE: nombre de la interfaz (ens33)
  • rxpck/s – txpck/s: número total de paquetes recibidos – transmitidos por segundo.

10. Para ver las estadísticas en un momento concreto

De hoy entre las 17 y 22 hs sería:

sar -s 17:00:00 -e 22:00:00

11. Para ver las estadísticas en un momento concreto de un día específico

Tendríamos que seleccionar el archivo del día 10 por ejemplo entre las 17 y 22:

sar -s 17:00:00 -e 22:00:00 -f /var/log/sa/sa10

Ojo de nuevo con la ubicación en tu sistema de los archivos de registro.

Deja un comentario