monitorear los servicios en un servidor mediante un script
Las corporaciones tanto grandes como pequeñas usan servidores para alojar en ellos gran cantidad de información y a su vez en esos servidores se realizan enormes cantidades de servicios y que es casi imposible monitorear cada uno de ellos de forma manual. Claro en la red de redes podemos encontrar muchas aplicaciones destinadas a esa tarea, (nagios es una de ellas) pero hoy no hablaremos de alguna aplicación, sino que un script será el que nos brinde su ayuda para monitorizar los servicios en un servidor.
servidores hp
Este Script es muy sencillo asi que facilmente podemos comprender de que se trata, vamos a indicar en un archivo de texto cuales son esos servicios que deseamos monitorizar mediante el script, pero para esto primero debemos validar el servicio que queremos controlar en el servidor. Si vamos a emplear este codigo en una distro basada en debian (por ejemplo Ubuntu) entraremos en el directorio /etc/init.d y procedemos a establecer cuales son los servicios que vamos a chequear, a continuación veran el script.
#! / bin / bash
FILE=servicios.txt
TIME=’date +%Y-%m-%d_%H-%m-%S’
while read linea; do
if ps ax | grep -v grep | grep $linea > /dev/null
then
echo “Servicio $linea esta ejecutandose”
else
echo “El Servicio $linea ,estaba DETENIDO, a las $TIME” >> Servicios.log
service $linea start
echo “Comprobar el estado del servicio, si esta down, puede ser iniciado con: service $linea status, estaba down $TIME” | mail -s “Servicio $linea Detenido ” usuario@dominio.com
fi
done < “$FILE”
Si queremos contar con un registro mucho más completo y también mas detallado de todo lo que sucede con los servicios que se estan ejecutando dentro del servidor, podemos establecer los parametros para que guarde en un log que maneja el Script cada incidencia indicando la hora y fecha del sistema.
Si se llegase a detener algun servicio, este se reinicia mediante el script y tambien se envÃa un e-mail al administrador con la información relativa del error que origino la caÃda del servicio, asà el administrador puede chequear y realizar los correctivos.
cliente_servidor
Un detalle que debemos tener presente para que no se nos pase por alto es que cuando creamos el archivo de texto indicando los servicios que deseamos monitorear, debemos alojarlo en la misma ubicación donde coloquemos el script , mientras que el archivo de servicios.log no necesariamente debe estar en la misma ruta, podemos dejarlo en la ruta que queramos.
Muy bien, Ahora ya tenemos todo listo para comenzar a monitorizar los servicios en el servidor, solo nos falta colocarlo en un cron. como este resulta ser un proceso que es rapido y que no requiere de mucho tiempo de procesamiento, podemos hacer los ajustes necesarios para que se ejecute cada cierto tiempo (cada 5 minutos parece un tiempo razonable) y haga el analisis de cada estado de servicio; para ejecutar esta tarea solo editamos vim /etc/crontab y agregamos esta lÃnea de codigo:
*/5 * * * * /ruta/del/script/script.sh
monitorear los servicios en un servidor mediante un script
Reviewed by PDFREEBOOK
on
15:47
Rating:
Post a Comment