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 usar 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.
También es bastante fácil de instalar, ya que se incluye como paquete en muchas distribuciones.
Instalar Sysstat en CentOS
Para instalar Sysstat en Centos 6 o CentOS 7, simplemente escriba lo siguiente:
yum instalar sysstat
Usando Sysstat System Monitor
Ahora tenemos los scripts de sysstat instalados en el sistema. Probemos el comando sar.
sar
11:00:02 AM CPU %user %nice %system %iowait %idle11:10:01 AM todos 0.00 0.00 0.00 0.00 99.99Promedio:todos 0.00 0.00 0.00 0.00 99.99
Se informan varios fragmentos 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.
%user, %nice , %system, %iowait y %idle describen formas en que se puede utilizar la CPU.
%user y %nice se refieren a sus programas de software, como MySQL o Apache.
%system se refiere al kernelâ funcionamiento interno de .
%iowait es el tiempo que se pasa esperando Entrada/Salida, como una lectura o escritura de disco. Finalmente, dado que el kernel representa el 100% del tiempo de ejecución que puede programar, cualquier tiempo no utilizado pasa a %inactivo.
La información anterior se muestra para un intervalo de 1 segundo. ¿Cómo podemos realizar un seguimiento de esa información a lo largo del tiempo?
Si nuestro sistema se ejecutara constantemente en %iowait, podríamos suponer que un disco se estaba sobrecargando o fallando.
Al menos, sabríamos para investigar.
Entonces, ¿cómo rastreamos la información a lo largo del tiempo? Podemos programar sar para que se ejecute a intervalos regulares, digamos, 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 Systat que instaló yum ya hizo este paso por nosotros.
más /etc/cron.d/sysstat
# ejecutar la herramienta de contabilidad de la actividad del sistema cada 10 minutos*/10 * * * * root /usr/lib/sa/sa1 1 1# generar un resumen diario de la contabilidad del proceso a las 23:5353 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)
Hay bastante información contenida en el informe sar, pero hay algunos valores que pueden decirnos qué tan ocupado está el servidor.
Los valores a observar son el uso de intercambio, la espera de E/S del 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 %idle11:10:01 AM todos 0.00 0.00 0.00 0.00 99.9911:20:01 AM todos 0.00 0.00 0.00 0.00 100.0011:30:02 AM todos 0.01 0.26 0.19 1.85 97.6811:39:20 AM todos 0.00 2.41 2.77 0.53 94.2811:40:01 AM todos 1.42 0.00 0.18 3.24 95.15Promedio:todos 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 a. m. pswpin/s pswpout/s11:10:01 a. m. 0,00 0,0011:20:01 a. m. 0,00 0,0011:30:02 a. m. 0,00 0,0011:39:20 a. :50:01 AM 0.00 0.00Promedio: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 a. m. runq-sz plist-sz ldavg-1 ldavg-5 ldavg-1511:10:01 a. m. 0 47 0,00 0,00 0,0011:20:01 a. 47 0.28 0.21 0.0811:39:20 AM 0 45 0.01 0.24 0.1711:40:01 AM 0 46 0.07 0.22 0.1711:50:01 AM 0 46 0.00 0.02 0.07Promedio:0 46 0.06 0.1pre 0.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.
Este fue un breve vistazo al paquete Sysstat.
Solo miramos la salida de tres de los atributos de sar, pero hay otros. Ahora, armado con sar en su caja de herramientas, su trabajo de administración del sistema se volvió un poco más fácil.