Volviendo a la batalla después de más de un mes, encontre un script bien práctico en Who Cat Code de cómo monitorear tu servidor web haciendo uso de PHP. El script es pequeño y fácil de entender:
<?php
function check($host, $find) {
$fp = fsockopen($host, 80, $errno, $errstr, 10);
if (!$fp) {
echo "$errstr ($errno)\n";
} else {
$header = "GET / HTTP/1.1\r\n";
$header .= "Host: $host\r\n";
$header .= "Connection: close\r\n\r\n";
fputs($fp, $header);
while (!feof($fp)) {
$str .= fgets($fp, 1024);
}
fclose($fp);
return (strpos($str, $find) !== false);
}
}
function alert($host) {
mail('mi_mail@gmail.com', 'Monitoring', $host.' down');
}
$host = 'www.ribosomatic.com';
$find = 'Desarrollo web y mas...';
if (!check($host, $find)) alert($host);
?>
Tiene dos funciones: la primera, check, tiene como parametros de entrada 1) el nombre de nuestro sitio y 2) alguna palabra ó frase que siempre esta presente en el contenido de nuestro sitio, aunque es opcional. Este último parametro sirve para ver si se ha modificado el contenido de nuestro sitio por terceros (hacking) por ejemplo.
La segunda función, alert, envia un aviso al correo que hayamos establecido.
Una vez configurado nuestro script, guardado como … monitoreo.php por ejemplo y subido al server; accedemos a él mediante la dirección correspondiente a donde lo hayamos alojado.
http://miweb.com/monitoreo.php
Para que el proceso sea diario podemos hacer uso de cron, opción de algunos hosting basados en Linux de realizar tareas ó procesos a un determinado intervalo de tiempo establecido por nosotros. En el caso de un panel de administración basado en cPanel, pueden ir al menu Cron Jobs y establecer la frecuencia de ejecución del proceso monitoreo.php
Para ver más puedes ir a How to easily monitor your web server using PHP que da sugerencias de como recibir la alertas mediante tu telefono movil también.
oooh estavas vivo, es bueno leer un post nuevo
Hola!! muchas gracias por este post. Sabes que lo probé pero siempre me dice de un servidor que esta activo (y de hecho lo probé en otro host) que siempre esta down.
EL sitio si despliega los contenidos correctos y en tiempo.
Sabes en que podría tener la falla el script?
Gracias de antemano.
Muchas gracias por el script, lo estaba necesitando, saludos
Para mi servidor, en donde dice command en cronjobs, agregue al inicio ‘php ‘, quedando asi:
php /htdocs/www/monitor.php
Gracias.
hola probe el script, pero me dice siempre que el servidor esta down, aunque el servidor este arriba, podrías ayudarme porfavor me urgue, gracias y un saludo