Avisos al móvil de fallos del servidor (III)

Finalizo esta serie después de contaros la idea, los pasos a seguir en Google Calendar y mostraros el script, ahora sólo queda modificarlo con vuestro parámetros y programarlo para que se ejecute cada quince minutos (o modificar el tiempo de ejecución y su correspondiente parámetro).

Cuidado con poner bien las direcciones, no vaya a ser que pongáis una dirección errónea y se os llene el móvil de mensajes.

Para cualquier duda, podéis comentar la noticia y os responderé adecuadamente.

Espero que esta pequeña idea os pueda ser de utilidad a webmasters.

8 comentarios
  1. Carlos Longarela Dice:

    Si claro, deberás hacerle ping a un puerto que esté a la escucha (22 si es ssh, 21 POP3, etc….) todo depende de que servicios se estén ejecutando en el PC y de lo que quieras monitorizar.

    Además, si se puede ocultar la escucha de un determinado puerto, por lo que sería posible que por ejemplo no te respondiese a un determinado puerto aunque se encuentre a la escucha.

    Creo que deberías mirar alguna ayuda sobre puertos TCP, servicios, redes, etc.

    Un saludo.

  2. Reibi Dice:

    Carlos, buen dia. disculpa tantas molestias, es que tengo una duda mas. En caso de que la direccion ip no sea especificamente un servidor sino un router o un dslam o un pc. debo cambiar el numero de puerto?? es decir debo escribir otro en vez de 80??

    ah y una cosa mas. Es posible que alguna direccion ip tenga restricciones de seguridad para no permitir revisar su estado de esta forma???

    Un saludo y gracias de antemano.

  3. Carlos Longarela Dice:

    Hola Reibi, puedes comprobar si responde una IP a un determinado puerto, por ejemplo el 80 del servidor web, el 21 del ftp, 22 del SSH, etc…. esto es muy sencillo, simplemente con sockets, modificando un poco la función mostrada en el ejemplo y con una llamada a una IP y opcionalmente a un puerto (si no cogería el 80 del servidor web).

    function comprueba_ip($ip, $puerto=80){
    $estado=null;
    if (($socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
    die(‘FALLO AL CREAR EL SOCKET’);
    }else{
    //Conexion a la IP en el puerto dado
    $res = @socket_connect($socket, $ip, $puerto);
    if ($res === false) {
    $estado=false;
    } else {
    $estado=true;
    }
    socket_close($socket);
    }
    return $estado;
    }

    $server1=comprueba_ip(‘127.0.0.1’);
    $server2=comprueba_ip(‘192.168.32.1’, 21);

    if ($server1){
    echo ‘El servidor web 1 funciona bien’;
    }else {
    echo ‘Fallo en el servidor web 1’;
    }

    if ($server2){
    echo ‘El servidor ftp 2 funciona bien’;
    }else {
    echo ‘Fallo en el servidor ftp 2’;
    }

    prueba si te funciona con esto (no he probado el código, pero como es muy sencillo no debería tener problema)…

    Un saludo.

  4. Reibi Dice:

    en realidad lo que quiero utilizar es la parte donde se comprueba la direccion ip. y simplemente mostrar en una pagina web un texto con «OK» si existe la direccion o un «NO OK» si no existe la direccion.
    te agradeceria mucho si me orientas un poco.
    solo quiero comprobar que una direccion ip esta activa

    un saludo.

  5. Carlos Longarela Dice:

    Hola Reibi, php te está indicando que no tienes activado OpenSSL. Deberás mirar en el directorio de extensiones de php que esté php_openssl.dll (porque veo que estás utilizándolo en windows), activar la extensión en tu php.ini (descomenta la linea extension=php_openssl.dll), reiniciar Apache y debería de funcionarte.

    Un saludo.

  6. Reibi Dice:

    hola. espero me puedas responder.

    en primer lugar te felicito por la idea del desarrollo de este script, el cual creo me va a ayudar mucho en un proyecto en el que estoy trabajando.

    segun lo que entiendo, se debe configurar el escript con los datos de la cuenta en gmail ($usuario;
    $clave;
    $id_calenadrio_servers=), lo hice y aun me da el siguiente error:

    Fatal error: Uncaught exception 'Zend_Gdata_App_HttpException' with message 'Unable to Connect to ssl://www.google.com:443. Error #76675712: Unable to find the socket transport "ssl" – did you forget to enable it when you configured PHP?' in C:wampwwwlibraryZendGdataClientLogin.php:138

  7. Carlos Longarela Dice:

    Hola Ruben, el problema es que no puede encontrar las librerías.

    Revisa la linea 107 del script mostrado de ejemplo.

    En primer lugar deberías renombrar la carpeta «ZendGdata-1.5.2» a «Zend» y poner en set_include_path algo similar a «D:/AppServ/www/prueba/Zend/library» debido a que estás en un sistema windows (prueba con y sin barra final, según configurases el sitio web).

    Mira la linea 25 de «D:AppServwwwpruebaZendGdata-1.5.2libraryZendGdata.php on line 25» como dice el fallo y teniendo en cuenta los path verás por que no puede incluir el archivo necesario.

    Un saludo.

  8. Ruben Rodriguez Alonso Dice:

    que tal buen dia soy un webmaster y me parecio genial tu idea, quiero complementarla pero primero quiero verla en accion eejejeje solo que tengo un error que no se a que se deba, el error es este:

    Warning: require_once(Zend/Gdata/App.php) [function.require-once]: failed to open stream: No such file or directory in D:AppServwwwpruebaZendGdata-1.5.2libraryZendGdata.php on line 25

    Fatal error: require_once() [function.require]: Failed opening required ‘Zend/Gdata/App.php’ (include_path=’.ZendGdata-1.5.2libraryZend’) in D:AppServwwwpruebaZendGdata-1.5.2libraryZendGdata.php on line 25

    Espero me puedas apoyar con esto gracias y esta muy chingon tu blog, saludos…

Los comentarios están desactivados.