Cómo monitorear el uso de la CPU en Linux a lo largo del tiempo

La top La utilidad muestra el uso actual de la CPU para cada proceso en ejecución, pero ¿qué sucede si desea monitorearlo a lo largo del tiempo y mostrarlo en un gráfico? Hay algunas utilidades para esto si su proveedor de nube aún no tiene una.

Como nota al margen, si aún no lo ha instalado, el htop La utilidad (en la imagen de arriba) es mucho más agradable de usar que la predeterminada. top.

Índice de contenidos
  1. La solución trivial: utilice los gráficos de su proveedor en la nube
  2. Usando / proc / loadavg
  3. Instalar sysstat
  4. Monit puede advertirle si el uso de la CPU es demasiado alto

La solución trivial: utilice los gráficos de su proveedor en la nube

Esta solución es, con mucho, la más fácil de usar, pero no estará disponible para todos. Si usa AWS, CloudWatch facilita la supervisión del uso de la CPU.

Desde el Consola de administración de CloudWatch, seleccione "Métricas" y luego vea las métricas de EC2. La métrica "CPUUtilization" muestra el uso promedio de CPU:

En la Consola de administración de CloudWatch, seleccione "Métrico" y luego ver las métricas de EC2.

El uso promedio de CPU se mide en incrementos de 5 minutos, pero puede habilitar la supervisión extendida para la instancia y aumentarla en incrementos de 1 minuto. Sin embargo, cuesta más hacerlo. También puede configurar alarmas fácilmente para cuando el uso de la CPU sea demasiado alto.

Si está utilizando Google Cloud Platform, aparece un gráfico en la pestaña "Supervisión" cuando selecciona una instancia.

Gráfico que aparece en Google Cloud Platform bajo el "Vigilancia" pestaña cuando se selecciona una instancia.

Azure tiene Monitoreo azul claro, que muestra información similar:

Azure Monitor muestra información similar a Google Cloud Platform.

Para la mayoría de los otros proveedores de la nube, es probable que también tengan un gráfico como este.

Usando / proc / loadavg

La mejor forma de hacer esto de forma nativa es buscar dónde top recibe su información de. /proc/loadavg contiene promedios de 1 minuto, 5 minutos y 15 minutos. Puedes registrarlo con cat

cat /proc/loadavg/
1.71 1.32 1.38 2/97 6429

Puede usarlo para generar un gráfico imprimiendo cada línea en un archivo CSV separado por comas, usando algunos awk Magia:

cat /proc/loadavg | awk '{print $1","$2","$3}' >> cpu.csv

Conéctelo a un cron el trabajo se ejecuta cada minuto, rote los registros con logrotate y tendrá un monitor de CPU manipulado. Puede importar el archivo CSV a Excel, donde será fácil graficar el uso promedio de CPU en un gráfico de líneas.

Tenga en cuenta que el comando anterior imprime promedios de 1 minuto, 5 minutos y 15 minutos. Si lo ejecuta cada minuto, realmente no necesita imprimir los promedios de 5 y 15 minutos, porque puede calcularlo computacionalmente.

Instalar sysstat

La sar La utilidad es excelente para monitorear el desempeño del sistema. Se incluye como parte de sysstat, que probablemente no esté instalado de forma predeterminada en su sistema. Deberá obtenerlo del administrador de paquetes de su distribución. Para sistemas basados ​​en Debian como Ubuntu, sería:

sudo apt-get install sysstat

Luego, habilítelo editando /etc/default/sysstat y estableciendo "HABILITADO" en verdadero.

De esta manera monitorea su sistema y genera un informe cada 10 minutos, rotándolos después de una semana. Puede cambiar este comportamiento cambiando el crontab sysstat a /etc/cron.d/sysstat, o cambiando la configuración de rotación en el sysstat configuración en /etc/sysstat/sysstat.

Puede generar un informe en tiempo real con el siguiente comando:

sar -u 1 3

sysstat recopilará datos de uso de la CPU en segundo plano cada minuto, guardándolos en /var/log/sysstat/. Luego puede importar estos datos para su análisis, utilizando un programa de hoja de cálculo o una herramienta personalizada como sargrafo, que muestra un buen gráfico:

sargraph muestra un gráfico del uso de la CPU.

También puede utilizar las utilidades de la línea de comandos para dibujar gráficos como este, como ttyplot, pero ninguno de estos se acerca a ser tan fácil de usar (y hermoso a la vista) como una GUI. La línea de comando se escribe en esto: los gráficos son más hermosos.

Monit puede advertirle si el uso de la CPU es demasiado alto

Logotipo de Monit

Monit es una suite de monitoreo de código abierto para Unix que monitorea el estado de su servidor y se puede configurar para notificarle si el uso de la CPU de su servidor se vuelve peligrosamente alto. Lea nuestra guía de configuración para obtener más información.

Tenga en cuenta que CloudWatch logra inmediatamente lo mismo con las alarmas y puede operar en múltiples métricas diferentes, no solo en el uso de la CPU.

Descubre más contenido

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable: Nelida Haydee Saldivia.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a KnownHost que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Subir