Categorías
Lenguajes de programación Linux y Software Libre Ruby

Ruby Ping un script para monitorear equipos de red

 

Ruby Ping es un programa que hace ping a una lista de servidores de un archivo y si existe un error de conexión manda un correo electrónico al administrador.

Anteriormente ya había desarrollado algo similar en bash, pero ahora quise hacerlo en Ruby y añadirle algunas mejoras.

La primera es que este script toma los datos de un archivo en formato CSV, es decir, separado por comas. Un archivo como este se puede generar muy fácilmente usando LibreOffice o Excel.

Primero el nombre del equipo y luego la dirección IP del mismo. Esto sirve para que sean más claros los mensajes que manda el script.

En el caso de que Ruby Ping llegara a encontrar algún error de conexión, manda un correo electrónico al administrador avisándole de la falla.

mensaje de correo rubyping

Parámetros del script

Configurar el script es muy sencillo, solo tiene 4 parámetros:

  • ARCHIVO Que es la ruta al archivo que contiene el listado de servidores en formato CSV.
  • CORREO_ORIGEN El correo de origen, lo puse como parámetro por si quieren aplicar alguna especie de filtro personalizado en su programa de correo electrónico.
  • CORREO_DESTINO El correo a donde quieren que lleguen las alertas.
  • SERVIDOR_SMTP Y por último el servidor SMTP que van a utilizar para mandar los correos.

El código lo pueden descargar, guardar en un archivo, darle permisos de ejecución y eso es todo. Y bueno, claro que deben de tener Ruby instalado.

Estoy considerando agregarlo en una tarea cron, pero por el momento sólo lo ejecuto cuando tengo algunos problemas en mi red. Me es muy útil porque puedo localizar rápidamente donde se podrían localizar algunos problemas (tengo mis sospechosos comunes).

El programa es software libre, así que lo pueden personalizar, copiar, modificar y hacer lo que quieran con él.

Espero que les sea de utilidad.

Categorías
Linux y Software Libre

Script en bash que hace ping a tus servidores

Hace unos días me encontré con el script pingservers de I. Attir y lo modifiqué un poco a mi gusto.

El script toma una lista de direcciones ip de los servidores que queremos revisar, una ip por cada renglón y les hace ping, si obtiene respuesta entonces muestra un mensaje de OK, de lo contrario, muestra un error en la pantalla, hace un nmap a la misma dirección para comprobar que este totalmente fuera de servicio. Además, también guarda un registro de los errores en el archivo noping.log para su futura referencia.

Originalmente el script manda un correo al administrador, pero a mi no me sirve esa opción, primero porque si el que falla es el servidor de Internet, pues nunca voy a recibir el correo, además me gusta ejecutarlo manualmente para revisar la salud de mi red y si hay algún problema atenderlo inmediatamente.

Mis modificaciones incluyen una traducción al español de los mensajes, agregué el comando nmap (que tiene que estar instalado) y le agregué un poco de color.

el script pingservers en acción

Se aceptan sugerencias 🙂 pingservers.sh