Cómo monitorear un sistema con Sysstat en Centos
Una tarea común para los administradores de sistemas es monitorear y cuidar un servidor. Eso es bastante fácil de hacer en cualquier momento, pero ¿Cómo mantener un registro de esta información a lo largo del tiempo? Una forma de monitorear su servidor es usando el paquete Sysstat.
Sysstat es en realidad una colección de utilidades diseñadas para recopilar información sobre el rendimiento de una instalación de Linux y registrarla a lo largo del tiempo. Conocido también como un sistema de monitoreo «sysstat linux», este conjunto de herramientas es esencial para el análisis de rendimiento a largo plazo.
También es bastante fácil de instalar, ya que se incluye como un paquete en muchas distribuciones.
Instalar Sysstat en CentOS
Para instalar Sysstat en Centos 6 o CentOS 7, simplemente escriba lo siguiente:
yum install sysstat
Uso del monitor del sistema Sysstat
Ahora tenemos los scripts de sysstat instalados en el sistema. Probemos el «comando sar».
sar
11:00:02 AM CPU %user %nice %system %iowait %idle 11:10:01 AM all 0.00 0.00 0.00 0.00 99.99 Average: all 0.00 0.00 0.00 0.00 99.99
Se informan varios bits de información, como el kernel de Linux, el nombre de host y la fecha.
Más importante aún, se muestran las diversas formas en que se gasta el tiempo de CPU en el sistema.
El «sysstat sar» es una herramienta poderosa que proporciona un desglose detallado del uso de la CPU en el sistema, incluyendo métricas como %user, %nice, %system, %iowait y %idle, ayudando a identificar cómo se está utilizando el tiempo de procesamiento.
La información anterior se muestra para un intervalo de 1 segundo. ¿Cómo podemos hacer un seguimiento de esa información a lo largo del tiempo?
Si nuestro sistema funcionaba constantemente con mucha carga en %iowait, podríamos suponer que un disco se estaba sobrecargando o fallando.
Al menos, sabríamos investigar.
Para rastrear la información del uso del sistema a lo largo del tiempo utilizando «sysstat cron», podemos programar sar para que se ejecute a intervalos regulares, por ejemplo, cada 10 minutos.
Luego lo dirigimos para que envíe la salida a los archivos de registro especiales de sysstat para informes posteriores.
La forma de hacerlo es con el demonio Cron.
Al crear un archivo llamado sysstat en /etc/cron.d, podemos decirle a cron que ejecute sar todos los días.
Afortunadamente, el paquete Sysstat que instaló yum ya hizo este paso por nosotros.
more /etc/cron.d/sysstat
# run system activity accounting tool every 10 minutes */10 * * * * root /usr/lib/sa/sa1 1 1 # generate a daily summary of process accounting at 23:53 53 23 * * * root /usr/lib/sa/sa2 -A
El script sa1 registra la salida de sar en el formato de archivo de registro binario de sysstat y sa2 lo informa en un formato legible por humanos.
El informe se escribe en un archivo en /var/log/sa.
ls /var/log/sa
sa17 sar17
sa17 es el registro de sysstat binario, sar17 es el informe. (La fecha de hoy es el 17)
Una parte crucial del seguimiento del rendimiento del sistema con «linux sysstat» es analizar la información contenida en el informe sar, como el uso de intercambio, la espera de E/S de disco y la cola de ejecución.
Estos se pueden obtener ejecutando sar manualmente, que informará sobre esos valores.
sar
11:00:02 AM CPU %user %nice %system %iowait %idle 11:10:01 AM all 0.00 0.00 0.00 0.00 99.99 11:20:01 AM all 0.00 0.00 0.00 0.00 100.00 11:30:02 AM all 0.01 0.26 0.19 1.85 97.68 11:39:20 AM all 0.00 2.41 2.77 0.53 94.28 11:40:01 AM all 1.42 0.00 0.18 3.24 95.15 Average: all 0.03 0.62 0.69 0.64 98.02
Hubo algunos momentos en los que la actividad del disco fue alta en la columna %iowait, pero no permaneció así por mucho tiempo. Un promedio de 0,64 es bastante bueno.
¿Qué hay de mi uso de intercambio, me estoy quedando sin RAM? Ser intercambiado es normal para el kernel de Linux, que cambiará de vez en cuando. El intercambio constante es malo y generalmente significa que necesita más RAM.
sar -W
11:00:02 AM pswpin/s pswpout/s 11:10:01 AM 0.00 0.00 11:20:01 AM 0.00 0.00 11:30:02 AM 0.00 0.00 11:39:20 AM 0.00 0.00 11:40:01 AM 0.00 0.00 11:50:01 AM 0.00 0.00 Average: 0.00 0.00
No, nos vemos bien. No se ha producido ningún intercambio persistente.
¿Qué hay de la carga del sistema? ¿Mis procesos están esperando demasiado para ejecutarse en la CPU?
sar -q
11:00:02 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 11:10:01 AM 0 47 0.00 0.00 0.00 11:20:01 AM 0 47 0.00 0.00 0.00 11:30:02 AM 0 47 0.28 0.21 0.08 11:39:20 AM 0 45 0.01 0.24 0.17 11:40:01 AM 0 46 0.07 0.22 0.17 11:50:01 AM 0 46 0.00 0.02 0.07 Average: 0 46 0.06 0.12 0.08
No, una carga promedio de .06 es realmente buena. Observe que hay un intervalo de 1, 5 y 15 minutos a la derecha. Tener los tres intervalos de tiempo le da una idea de cuánta carga lleva el sistema. Un 3 o 4 en el promedio de 1 minuto está bien, pero el mismo número en la columna de 15 minutos puede indicar que el trabajo no se está limpiando y que se justifica una mirada más cercana.
Esta fue una breve mirada al paquete Sysstat, una herramienta esencial que se conoce por su eficacia en el «system activity accounting tool». Con «sysstat» en su caja de herramientas, su trabajo de administración del sistema se volvió un poco más fácil y ahora puede realizar un seguimiento del rendimiento de su servidor CentOS con mayor precisión y eficiencia.