Publicado en

Introducción al Bash Scripting: Cómo Programar un Script de Bash para Monitorear el Uso de la CPU

En un entorno Linux, es crucial monitorear el uso de la CPU para asegurarse de que el sistema se mantenga en buen estado y evitar que se sobrecargue. Una de las formas más efectivas de hacer esto es mediante un script de Bash. Al usar Bash para crear scripts de monitoreo, puedes automatizar la tarea y recibir alertas sobre el estado de tu CPU sin tener que revisarlo manualmente.

En este tutorial, aprenderás cómo crear un script en Bash que te permitirá monitorear el uso de la CPU de tu sistema Linux. Veremos paso a paso cómo configurar este script y algunas opciones útiles que puedes agregar para personalizarlo a tus necesidades.

¿Por qué es importante monitorear el uso de la CPU?

Monitorear el uso de la CPU es fundamental para:

  • Detectar sobrecargas: Un uso excesivo de la CPU puede causar que el sistema se vuelva lento o incluso que se congele.
  • Optimizar recursos: Te permite identificar procesos que consumen demasiada potencia y realizar ajustes para mejorar el rendimiento.
  • Mantenimiento preventivo: Asegura que tu sistema funcione de manera eficiente, evitando fallos o problemas graves de hardware a largo plazo.

Pasos para Programar un Script de Bash para Monitorear el Uso de la CPU

A continuación, te guiaremos a través de los pasos necesarios para crear y ejecutar un script de Bash que monitoree el uso de la CPU en tu máquina Linux.

1. Crear el Script en Bash

Primero, crea un archivo para tu script de Bash. Puedes usar cualquier editor de texto, como nano, vim o gedit, para escribir el script.

nano monitoreo_cpu.sh

2. Especificar el Shebang

Al igual que con cualquier script de Bash, debes comenzar con el shebang para especificar qué shell se debe usar para ejecutar el script.

#!/bin/bash

3. Usar el Comando top para Obtener el Uso de la CPU

El comando top es una herramienta poderosa en Linux para monitorear el rendimiento del sistema, incluidos los procesos y el uso de la CPU. Vamos a utilizarlo para obtener el uso actual de la CPU.

# Monitorear el uso de la CPU usando el comando top
top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1 "%"}'
  • top -bn1: Ejecuta el comando top una sola vez en modo batch (sin mostrar la interfaz interactiva).
  • grep "Cpu(s)": Filtra la salida para mostrar solo las líneas relacionadas con la CPU.
  • sed: Extrae el porcentaje de uso de la CPU en reposo (idle).
  • awk: Calcula el uso de la CPU restando el porcentaje de inactividad de 100.

Este comando devolverá el porcentaje de uso de la CPU en tiempo real.

4. Agregar un Intervalo de Monitoreo

Es probable que desees monitorear el uso de la CPU en intervalos regulares. Puedes hacer esto usando un bucle while y el comando sleep para ejecutar el monitoreo cada cierto tiempo.

#!/bin/bash

while true; do
uso_cpu=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1 "%"}')
echo "Uso de la CPU: $uso_cpu"
sleep 5 # Espera 5 segundos antes de volver a verificar
done

Este script imprimirá el uso de la CPU cada 5 segundos. Puedes ajustar el tiempo de espera según tus necesidades.

5. Añadir un Registro de Datos

Si deseas llevar un registro del uso de la CPU, puedes redirigir la salida del script a un archivo de log para análisis posterior.

#!/bin/bash

while true; do
uso_cpu=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1 "%"}')
echo "$(date) - Uso de la CPU: $uso_cpu" >> /ruta/del/log/uso_cpu.log
sleep 5
done

Este script guardará los resultados en un archivo llamado uso_cpu.log, y cada línea contendrá la fecha y hora del monitoreo junto con el porcentaje de uso de la CPU.

6. Hacer el Script Ejecutable

Una vez que hayas escrito el script, guarda el archivo y hazlo ejecutable con el siguiente comando:

chmod +x monitoreo_cpu.sh

7. Ejecutar el Script

Para ejecutar el script, solo tienes que escribir:

./monitoreo_cpu.sh

El script comenzará a monitorear el uso de la CPU y lo mostrará en la terminal.

Personalización Adicional del Script

El script básico que hemos creado es muy útil, pero puedes personalizarlo aún más. Algunas opciones adicionales incluyen:

  • Enviar alertas por correo electrónico: Si el uso de la CPU excede un umbral determinado, puedes configurar el script para que te envíe un correo electrónico de alerta.
  • Mostrar alertas en pantalla: Puedes usar notify-send o herramientas similares para mostrar notificaciones gráficas si el uso de la CPU supera un límite específico.

Conclusión

Crear un script de Bash para monitorear el uso de la CPU en Linux es una excelente manera de asegurarte de que tu sistema se mantenga saludable y eficiente. Con un script básico, puedes obtener información valiosa sobre el rendimiento de tu máquina y reaccionar a tiempo ante cualquier problema.

Además, puedes personalizar el script según tus necesidades, incluyendo la opción de registrar los datos o enviar alertas si el uso de la CPU se eleva demasiado.

Con estos conocimientos, podrás automatizar el monitoreo del rendimiento de tu sistema y asegurarte de que siempre esté funcionando de manera óptima.

Deja una respuesta

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