Contemplador: Monitorización WEB
¿ Qué es Contemplador ?
Contemplador es un simple y sencillo script que nos monitoriza que una página web se esté viendo correctamente.
¿ Por qué no monitorizar la conectivadad con el servidor en vez de una simple página web ? Al principio monitorizaba con un simple ping, pero a veces, por la carga de trabajo, o por un mal rotado de logs, apache o lighttpd morían, con lo que el ping seguía respondiendo pero las webs estaban caidas.
La mayoría de mis servidores son servidores webs, las páginas son lo mas importante. Monitorizando las webs, puedo monitorizar de una sola pasada, la conectividad con el servidor, que el servicio web y mysql estén corriendo y que la web esté funcionando.
¿ Qué no es Contemplador ?
Contemplador no es una solución para monitorizar grandes sitios, para eso tenemos herramientas como nagios, entre otras. Tampoco ofrece gráficas, ni estadísticas.
Pero para unos pocos servidores, donde no nos interesa meternos en la laboriosa tarea de configurar estos grandes sistemas de monitorización, donde tan solo queremos ser alertados cuando algo va mal, Contemplador puede ser nuestra solución.
¿ Cómo funciona ?
Contemplador, hace uso de la herramienta curl, la cual transfiere datos a través de HTTP entre otros protocolos.
La primera parte del script es registrar el estado de la web. Mediante curl vemos si la web se ve correctamente, buscando un texto que hemos definido antes.
Si el texto aparece, damos por sentado que hay conectividad con el servidor, si la web hace uso de mysql, podemos suponer que está corriendo (un error en mysql, podría cambiar la web entera y poner algo así como que no puede conectar o “too many connections”) y por último, ya que aparece dicho texto, comprobamos que la web se está viendo bien.
El resultado de la comprobación lo registra en un log.
El siguiente paso, es mirar el log y comprobar el estado de las webs. En caso de que el chequeo falle mas de 3 veces, se mandará una alerta, si después de una caida, se recupera, también avisará.
Por último, una vez al día manda un informe con las webs caidas actualmente y pone el log a cero.
Caracteristicas.
- Conectividad con el servidor.
- Servicio WEB corriendo.
- Servicio BD corriendo.
- Página web correcta.
- Envio de mails con caidas y recuperaciones.
- Informe diario.
Instalación.
apt-get install curl mailx
mkdir /usr/local/contemplador && cd /usr/local/contemplador && wget http://www.cdbarra.com/script/contemplador-0.10.tar.gz
tar xzf contemplador-0.10.tar.gz
Configuración.
vim /usr/local/contemplador/servidores
En este fichero puedes añadir las webs que quieras comprobar:
SERVIDOR: Servidor donde está la web.
URL: La web que vamos a comprobar.
TEXTO: El texto que buscaremos dentro de la web para comprobar que está bien (por el momento solo una palabra, o palabras separadas por guiones o puntos, nada de espacios).
MAIL: correo donde se enviará la alerta en caso de fallo.
#SERVIDOR URL TEXTO MAIL
rarara01 http://www.example.com/test.php pagina-ok alert@examp1e.com
Por último podriamos editar el propio script de contemplador, para cambiar los parametros que ahí vienen por defecto.
vim /usr/local/contemplador/contemplador-0.10.sh
LOG= Aquí es donde se registrarán los resultados de las comprobaciones.
SERVERS= Fichero donde buscará las urls que tiene que comprobar.
EMAIL= Correo electrónico donde enviará los informes diarios.
USER=Si la página a chequear tiene autentificación, definimos aquí el usuario.
PASS=Si la página a chequear tiene autentificación, definimos aquí la contraseña.
El resto del script está comentado, por lo que su modificación no debería de suponer dificultad alguna.
Ahora solo queda lanzar el contemplador a través de crontab:
crontab -l
Una vez editado el crontab, añadimos:
#Monitoriación Contemplador cada 5 minutos.
0-55/5 * * * * /usr/local/contemplador/contemplador-0.10.sh
Download.
Características que podrían mejorarlo.
- Número de comprobaciones antes de enviar el mail, configurable.
- Dependencias entre chequeos.
- Envío de SMS.
- Usuario y contraseña por página.
- ¿ Sugerencias ?
Novedades…
Monitorización gratuita.
2008 10 15
Con la finalidad de probar el script mas allá de mis servidores, voy a aceptar la monitorización de páginas webs de otras personas.
Quien quiera colaborar, puede avisarme a través del contacto de la página, con los siguientes datos:
NOMBRE_SERVIDOR URL_A_CHEQUEAR PALABRA_A_BUSCAR_EN_TU_WEB MAIL_PARA_NOTIFICACIONES
A los que queráis probar el script, enviarme comentarios con los resultados y sugerencias que se os ocurran.
- None Found





