Recientemente me llego una propuesta publicitaria a mi correo electrónico de un servicio que me prometia brindarme el servicio de monitoreo de mis paginas web, la publicidad era bastante buena ya que el servicio aseguraba no solo monitorear el Uptime de mis paginas web y/o Blogs, si no también enviarme alertas vía correo electrónico cuando mi pagina web no estuviera Online.
Para ser honestos el servicio suena bastante bien ya que hoy en día: ¿Que webmaster no desea monitorear su pagina web?, ya sea por que tengas una tienda virtual y tus ingresos dependan enteramente de una pagina web, por que eres una empresa y es tu fuente de captación de clientes, o en ultimo caso por que deseas echarle en cara a tu proveedor de Hosting que el Uptime no es el 99% que el te prometió cuando adquiriste el servicio (al menos a mi JustHost si me cumplio).
Pero para su desgracia yo soy un geek y es un servicio propio que ocupo para gestionar algunas de las paginas de mis clientes. Por lo cual les voy a mostrar en este pequenño tutorial en como poder monitorear de manera gratuita sus paginas web.
Para ello vamos a requerir de una herramienta llamada Nagios, esta herramienta es capaz de monitorear toda clase de dispositivos (sera tema de otro post mas adelante). Para ello vamos a requerir una computadora con alguna distribución Linux instalada yo personalmente recomiendo ubuntu, pero ahí ya es a elección de cada quien.
Monitoreo de paginas web con Nagios
Una vez tengamos instalada nuestra con PC con ubuntu ingresaremos a la terminal e ingresaremos lo siguiente:
apt-get install nagios3
Lo que hace este comando es instalar el paquete Nagios, debemos ponernos muy al pendiente de la instalación ya que habrá un apartado donde nos solicitara una contraseña para ingresar al panel de configuración.
Una vez finalizada la instalación ingresaremos a nuestra consola de Nagios de la siguiente manera en nuestro navegador favorito:
http://Ip_de_la_computadora/nagios3
Enseguida nos solicitara las credenciales de acceso anteriormente ingresadas:
User: nagiosadmin
Pass: la que tu ingresaste
A lo cual nos mostrara una pantalla como la siguiente:
Lo cual nos ayudara a verificar que nuestra instalación de nagios ya esta completada y funcional, lo siguiente sera ingresar las paginas web as monitorear, pero antes de ello haré algunas aclaraciones de conceptos teóricos con respecto a Nagios.
La lógica de funcionamiento de Nagios es monitorear procesos o “dispositivos” (no importando su naturaleza), para ello se basa en 3 estados fundamentales:
OK: Indica que el proceso esta funcionando adecuadamente
WARNING: Nos indica que el proceso comienza a comportarse de una manera inadecuada, según los umbrales que nosotros hubiéramos definido.
CRITICAL: Indica un funcionamiento inadecuado, o en pocas palabras que ya se “rompió”.
Ahora bien para ello se basa en plugins, de los cuales existen infinidad, pero en este caso el que nosotros emplearemos son el Check_Http, que básicamente lo que hace es una petición http al servidor y si recibe un código 200 de OK la pagina web se encuentra funcionando como debe, esta petición la hace indefinidamente.
Y nos arroja un resultado como el siguiente:
Pero para configurar nuestras webs para ser monitoreadas ingresaremos y modificaremos el siguiente archivo:
/etc/nagios3/conf.d/localhost_nagios2.cfg
En este archivo indicaremos las paginas web que deseemos monitorear, para ello ingresaremos con nuestro editor de texto favorito (vi, vim, nano, etc) las siguentes lineas:
define service{
use generic-service ; Name of service template to use
host_name localhost
service_description www.paginaweb.com
check_command check_http!www.paginaweb.com
}
Básicamente le estamos indicando a Nagios que revise la pagina web www.paginaweb.com por medio del comando check_http. Despues tan solo nos restaría ingresar tantas webs como nosotros necesitemos monitorear.
La bondad de este sistema es que nos envía correos electrónicos con alertas como se aprecia en la siguiente imagen:
O en su caso si lo requerimos, lleva un histórico del servicio, a lo largo de un periodo de tiempo (Muy útil para cuando un cliente dice que su servidor estuvo caído y no fue así …. 🙂 ).
En definitiva una herramienta muy útil, no me quise extender ya que el tema de Nagios es definitivamente un tema muy extenso. Pero si lo deseas puedes dejarme todas tus dudas y/o complicaciones en la sección de comentarios, o si lo deseas puedes darle una leída a mi anterior articulo sobre Nagios.