Script bash: Supervisar la carga de un servidor

Script bash: Supervisar la carga de un servidor.

El aumento excesivo de la carga de un servidor causará problemas graves, tiempo de inactividad e incluso la interrupción total o parcial del servicio.

Una buena manera de ir controlando la carga es con htop, que nos indica los promedios de carga durante unos tiempos específicos.

  1. Ultimo minuto.
  2. Últimos cinco minutos.
  3. Últimos quince minutos.

Script bash: Supervisar la carga de un servidor 1

 

Es evidente que no podemos estar continuamente revisando htop, por eso mismo que mejor que crear un sencillo script bash  que nos avise mediante un correo electrónico indicándonos que el server roza el umbral del peligro.

Vemos el script.

 

Script bash: Supervisar la carga de un servidor

Creamos…

nano /root/load-server.sh

Copia y pega lo siguiente:
#!/bin/bash

# Modifica el umbral, ejemplo:10.
trigger=10.00
load=`cat /proc/loadavg | awk '{print $1}'`
response=`echo | awk -v T=$trigger -v L=$load 'BEGIN{if ( L > T){ print "greater"}}'`
if [[ $response = "greater" ]]
then
sar -q | mail -s"High load on `hostname` - [ $load ]" tumail@tumail.com
fi

Modifica el umbral según tus necesidades y pon tu e-mail correcto.

Guarda y cierra el editor.

 

Le damos permisos.

chmod 755 /root/load-server.sh

Creamos una tarea cron.
crontab -e

5 * * * * /root/load-server.sh

Modifica el tiempo según tu necesidad, en el ejemplo cada cinco minutos.

 

Ya lo tenemos listo y corriendo.

Espero que te sea útil este script bash.

 

Agregar comentario