Con el siguiente script en lenguage bash podemos controlar la memoria ram de un servidor Linux y conseguir que nos avise por email si está por debajo de un límite que le indiquemos (en Megabytes) o hacer otra opción (por ejemplo reiniciar algún servicio).-
Fuente : http://www.lostinth3net.com/2015/03/script-para-monitorizar-ram-en-linux-con-log-y-aviso-por-email/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
#/bin/bash # # Este script controla la memoria RAM del servidor # y si baja de 0,5Gb envia un email. # #Aqui indicamos el minimo numero de MB libres para que se envie el correo. MIN=500 #Email al que se envia el aviso. MAIL='TUemail@dominio.com' # Fecha y hora del script, se usa para el log y para el email. DATE=`date +%F` TIME=`date +%H:%M` # Rura del fichero de LOG LOG="/var/logs/ram/ram_$DATE.txt" # Nombre o IP del servidor monitorizado. SERVER="127.0.0.1 (desarrollo)" echo "">>$LOG echo "Resultado del dia $DATE a las $TIME">>$LOG echo "">>$LOG #Recogemos la memoria ram con el comando free ayudados por awk. FREE=`free -m | grep 'Mem:' | awk {'print $4'}` echo "RAM disponible: `free -m | grep 'Mem:' | awk {'print $2'}`MB">>$LOG echo "RAM libre: $FREE MB">>$LOG if [ $FREE -lt $MIN ]; then # Si la memoria es menor del limite enviamos un email. mail $MAIL -s "ALERTA!! Memoria en $SERVER demasiado baja." >> $LOG fi |