Monitor de sitios (uptime) con Node.js y MongoDB

Monitorear el estado de nuestros proyectos es de vital importancia, por un lado es una forma de asegurarnos del correcto funcionamiento de nuestros servidores, por otro es una manera de garantizar un buen servicio a nuestros visitantes, y como si los otros dos motivos no fuesen suficientes, también un correcto uptime nos ayuda a lograr un buen posicionamiento en buscadores.

Para monitorear el uptime de nuestros sitios existen decenas de servicios, algunos gratuitos y otros de pago, pero en esta ocasión quería presentarles una soluciona open source, un proyecto que podemos instalar en nuestro servidor para monitorear los sitios que deseemos sin la necesidad de pagar ningun abono ni similar. El proyecto en cuestión se llama Uptime.

Uptime es un monitor de estado HTTP, fue creado para funcionar con Node.js y MongoDB, no hace falta decir que estos dos deben estar instalados en nuestro servidor.

La aplicación utiliza node.js de forma asincrónica para chequear el estado de nuestros sitios. Se puede configurar el intervalo de tiempo en que realiza los chequeos y como si esto fuese poco, podemos recibir de manera instantánea las notificaciones de caídas por medio de socket.io. Uptime es un proyecto simple pero sumamente útil.

monitor uptime node.js y mongodb

Configuración básica:

mongodb:
  server:   localhost
  database: uptime
  user:     root 
  password:

monitor:
  name:                   origin
  apiUrl:                 'http://localhost:8082/api'
  pollingInterval:        10000      # ten seconds
  timeout:                5000       # five seconds

analyzer:
  updateInterval:         60000      # one minute
  qosAggregationInterval: 600000     # ten minutes
  pingHistory:            8035200000 # three months

autoStartMonitor: true

server:
  port:     8082

Uptime recopila todos los estados HTTP recibidos, esto es particularmente útil de cara al análisis de errores, con simplemente conocer el código HTTP recibido al ocurrir un error podemos comenzar a descubrir las posibles causas de la caída del servicio.

Para realizar las gráficas este proyecto utiliza Highcharts.js, una biblioteca fantástica que yo utilizo a diario, probablemente, y a mi humilde entender, la más completa.

Este proyecto se encuentra liberado bajo licencia MIT, esto significa que es de uso y distribución libre. Luego cada biblioteca utilizada cuenta con su respectiva licencia.

Web: Uptime

Categorizado en: