ELO-330: Programación de Sistemas
Tarea 2: Monitor de disponibilidad de servicios

Objetivos: En esta tarea usted aplicará: creación de procesos, manejo de señales, comunicación entre procesos usando pipes, envío de correo, e integración de servicios provistos por otras aplicaciones.

Introducción

  Se espera que los administradores de red puedan detectar y corregir situaciones anómalas en los servicios o máquinas a su cargo. En esta tarea usted monitorizará y reportará vía correo electrónico cuando alguno de los siguientes servicios no esté funcionando:

a. DNS

b. Una página WEB caída.

c. CPU sobre un CPU% del servidor donde se corre el comando.

d. Memoria en uso de la máquina donde corre el comando sobre un M%

Nombre: mds : monitor de disponibilidad de servicios.

Sintaxis: mds <IP_DNS> <URL> <CPU%> <M%> <servidor_smtp> <email> <autenticacion_codificada>

Obs: para todos los casos usar servidor_smtp = smtp.gmail.com el puerto y protocolo son los mismos del programa visto en clases. El correo debe ser enviado a través de una cuenta gmail y con destinatario la misma cuenta gmail.

Descripción
    mds es un comando que cada 60 segundos verifica cada uno de los servicios indicados. Si alguno falla, la aplicación envía un correo reportando la falla encontrada. Se considera falla si:
a. El servidor DNS indicado no responde consultas DNS, en particular para ubicar www.google.cl.
b. La página del URL retorna un código HTTP de error.
c. La uso de la CPU supera CPU% en la máquina que corre el comando.
d. El uso de memoria supera M% en la máquina que corre el comando.

Evaluación de la Tarea y qué entregar: revisar procedimiento de entrega y criterios usados para evaluar su trabajo.

Recomendaciones
* Revise y ejecute los comandos:
  $  nslookup - <IP de DNS>
  $ telnet <servidor_web> 80 y luego usando método HEAD obtenga código de estatus de la página del URL.
  $ top -b  -n 1
* Revise función setitimer.
*  Revise tarea y mejores soluciones de tarea 2 del 2010.
* Haga su tarea de a poco y con tiempo. Con gusto atenderé todas sus preguntas en especial en clases y horas de atención!