Os voy a mostrar un proyecto bastante interesante de monitorización rápida y sencilla de vuestro ordenador o servidor linux mediante un email. El proyecto se llama sendEmail (que no sendmail).
La aplicación que le vamos a dar nosotros, es para monitorizar nuestros discos duros, para que cuando llegue a un cierto nivel de ocupación nos avise.
PROYECTO: http://caspian.dotconf.net/menu/Software/SendEmail/
DESCARGA: http://caspian.dotconf.net/menu/Software/SendEmail/#download
INSTALACIÓN
Una vez descargado el tar.gz deberemos instalarlo en estos sencillos pasos que vienen en el README:
1) Extraemos el paquete
tar -zxvf sendEmail-v1.XX.tar.gz
2) Copiamos sendEmail script a /usr/local/bin
cp -a sendEmail-v1.XX/sendEmail /usr/local/bin
3) Le damos permisos de ejecución
chmod +x /usr/local/bin/sendEmail
4) Ahora para ejecutarlo sólo tendremos que lanzar estos comandos, pero nosotros lo utilizaremos en este caso en un script:
sendEmail
or
/usr/local/bin/sendEmail
SCRIPT
Creamos un fichero con vi diskalerts.sh con este contenido:
#!/bin/bash
# Introducimos los porcentajes de disco que nos interesan
# Primera alerta (%)
VALOR1=80
# Segunda alerta (%)
VALOR2=90
# Cambiar /dev/sda1, por el disco a monitorizar
DISCO=df -h | grep /dev/sda1 | cut -c 41-42
GB=df -h | grep /dev/sda1 | cut -c 35-38
# Si el servidor SMTP requiere usuario y contrasena la introduciremos de esta forma "-xu USERNAME" and "-xp PASSWORD" al pasar el servidor SMTP
if [ $DISCO -ge $VALOR1 ]
then
echo "Espacio critico en disco, superado $VALOR1"
sendEmail -l /var/log/syslog -f emailorigen@dominio.es -t emaildestino@dominio.es -u "Espacio CRITICO en SERVIDOR - /dev/sda1" -m "El disco de SERVIDOR esta al $DISCO%. Espacio libre de $GB" -s servidorsmtp.dominio.es
logger "80% alcanzado"
else
if [ $DISCO -gt $VALOR2 ]
then
echo "Espacio critico en disco, superado $VALOR2"
sendEmail -l /var/log/syslog -f emailorigen@dominio.es -t emaildestino@dominio.es -u "Espacio CRITICO en SERVIDOR - /dev/sda1" -m "El disco de SERVIDOR esta al $DISCO%. Espacio libre de $GB" -s servidorsmtp.dominio.es
logger "____________90% alcanzado"____________
else
echo "Disco OK"
fi
fi
Posteriormente daremos a este script permisos de ejecución con:
chmod 700 /root/diskalerts.sh
También programaremos una tarea periódica mediante crontab:
root@servidor:~# crontab -e
* 22 * * * root /root/diskalerts.sh
* 10 * * * root /root/diskalerts.sh
Prueba de lanzarlo a mano:
Si está en el límite…
[root@SERVIDOR ~]# ./diskalerts.sh
Espacio critico en disco, superado 10
Dec 22 08:54:51 servidor sendEmail[22394]: Email was sent successfully! From: <emailorigen@dominio.es> To: <emaildestino@dominio.es> Subject: [Espacio CRITICO en SERVIDOR - /dev/sda1] Server: [servidorsmtp.dominio.es:25]
Si no está en el límite no mandará EMAIL…
[root@SERVIDOR ~]# ./diskalerts.sh
Disco OK
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?