comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Monitorizar servidor web: Disponible/Caido

  • 2 Respuestas
  • 1999 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Kodeinfect

  • *
  • Underc0der
  • Mensajes: 325
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Kodeinfect's Blog
« en: Febrero 24, 2013, 11:14:33 am »
Código: Bash
  1. #!/bin/bash
  2. url="aqui­_tu_url";
  3. response=$(curl -s -I -L $url | grep HTTP);
  4.  
  5. status=${response#* };
  6. status=${status:0:3};
  7.  
  8. if [ "$status" != "200" ]
  9. then
  10.     // acciones a efectuar
  11. fi

Necesitaremos tener instalado curl nada mas, dentro de URL ponemos el servidor (propio o externo que queramos monitorear.
En acciones a efectuar podríamos enviaros un correo, forzar un reinicio del servicio (service apache2 restart o service varnish restart).
Ejecutar otro script, en fin..

Esto es interesante, pero mucho más si lo metemos en el /etc/crontab como superusuarios e insertamos una línea más:
Código: No tienes permisos para ver links. Registrate o Entra con tu cuenta
0-59 * * * * root sh /ruta-a-fichero/chequeo.sh
« Última modificación: Octubre 26, 2013, 11:51:11 am por Expermicid »

Desconectado neobits

  • *
  • Underc0der
  • Mensajes: 17
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #1 en: Marzo 09, 2013, 05:58:25 pm »
Hola, me agrada lo que intentas hacer pero no mucho la manera.... si me permites, quiero poner mi alternativa

Código: Bash
  1. #!/bin/bash
  2. url="underc0de.org"
  3. response=$(HEAD $url | egrep -m 1 [0-9]{3} -o)
  4.  
  5. if [ $response -eq "200" ];then
  6.     echo "UP $url"
  7. else
  8.     echo "DOWN $url"
  9. fi

Por que use HEAD $url | egrep -m 1 [0-9]{3} -o en ves de tu curl -s -I -L $url | grep HTTP mas tu substring...

curl -s -I -L

-s > silencia el output de la transferencia, debido a que estas haciendo un grep no importa, por lo que esa opcion puede evitarse
-I > muestra las cabeceras de respuesta...HEAD hace eso unicamente por defecto  8)
-L > sigue una redireccion si es que existe... HEAD lo hace por defecto...

Como ves, HEAD hace todo eso por defecto en un solo comando....Y fijate que a mi si me piden  una herramienta imprescindible es curl...

Ahora solo eso es en la peticion..Despues haces tu extracción de cadena...(Que a mi no me funciono tu code)

En todo caso prefiero hacer uso de "egrep -m 1 [0-9]{3}" que los substrings...Es mas rapido y facil

Y con egrep solo

[0-9] > busco un numero
{3} > de longitud 3
-m 1 > y termino  de buscar en la primera coincidencia...Y como HEAD pone el StatusCode en la primera linea por eso lo termino ahí
-o > muestra solo la coincidencia

Y en mi caso en el if tengo que cambiar de "==" a "-eq"

Puesto que == es para comparación de cadenas y aqui agarrara el StatusCode como numero y por ello el "-eq"

Nota: es HEAD con mayusculas, ya que head en minusculas es el programa para mostrar lineas del principio al fin.

Saludos  ;D
« Última modificación: Marzo 09, 2013, 06:00:20 pm por neobits »

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #2 en: Marzo 25, 2013, 02:05:15 pm »
muy interesante kode tu idea.

y muy interesante también lo que dice neobits.

saludos! +k para ambos

 

¿Te gustó el post? COMPARTILO!