Monitor de tiempo de conexión a internet simple

8

Solo necesito controlar con qué frecuencia se cae una conexión a Internet, y durante cuánto tiempo. Iba a escribir un poco de Python que sonaba 8.8.8.8 cada minuto, pero pensé que debe haber una utilidad que haga esto, y produzca un buen informe

Pero esta es una sucursal con una conexión simple de tipo SOHO, sin enrutador SNMP, solo Windows, debe ejecutarse en una máquina de escritorio que no esté dedicada a la tarea.

No es necesario conocer la capacidad, la latencia de ping ni nada, solo un informe de cuántas veces estuvo inactivo durante más de unos segundos para saludar a la compañía de cable.

Martin Beckett
fuente

Respuestas:

5

Hago esto al revés con Pingdom . Cuenta gratis, un cheque. Haga ping a la dirección IP WAN del enrutador, y todo está bien. Obtiene un informe mensual de tiempo de actividad y puede gritarle a la compañía de cable.

Tom O'Connor
fuente
No me di cuenta de que tenían una versión gratuita. Gracias
Martin Beckett
Pingdom ahora cobra $ 100 / año por esto - hora de buscar en otro lado
Martin Beckett
De Verdad? Todavía tengo un monitor de nivel libre de un cheque, y no he oído nada acerca de que lo detengan.
Tom O'Connor
1
pingdom.com/free Está bien oculto en la parte inferior de la página de Precios. Furtivo.
Tom O'Connor
2
Eso se vincula con su versión de prueba gratuita ahora
Rehan Khwaja
1

No conozco ninguna utilidad, pero hice un código simple para eso con Perl:

#!/usr/bin/perl

use Net::Ping;
use POSIX qw/strftime/;

if (-e '/var/run/net_test.pid') {
        print "net_test already running.\n";
        exit;
} else {
        system "touch /var/run/net_test.pid";
}

my $host   = "www.google.com";
my $ping   = Net::Ping->new('icmp');
my $result = $ping->ping($host,2);

if ($result != 1) {
        $format = strftime('[%d/%m/%Y %H:%M:%S]',localtime)." Internet is not available...";
        $run = `echo $format >> /var/log/virtua_net`;
        while ($result != 1) {
                $result = $ping->ping($host,2);
                sleep 60;
        }
        $format = strftime('[%d/%m/%Y %H:%M:%S]',localtime)." Internet is back...";
        $run = `echo $format >> /var/log/virtua_net`;
} else {
        $format = strftime('[%d/%m/%Y %H:%M:%S]',localtime)." Internet is ok...";
        $run = `echo $format >> /var/log/virtua_net`;
}
$ping->close();

system "rm -rf /var/run/net_test.pid" if (-e "/var/run/net_test.pid");
exit;

Lo que hace es que intentará hacer ping a Google cada vez que se ejecute y luego se imprimirá en un archivo si recibió una respuesta o no junto con el tiempo para que pueda verificar más tarde desde qué hora hasta qué hora no estaba disponible Internet.

Si te gusta, puedo hacer los pequeños cambios para usar en Windows y necesitas instalar ActivePerl, eso es todo.

Los únicos cambios necesarios son rutas y comandos que pueden ser diferentes en Windows, nada más.

Premio
fuente
1
Eso es más o menos lo que hubiera escrito (solo en Python): asumí que había una pequeña herramienta de bandeja del sistema para hacer esto.
Martin Beckett
Para ser honesto, nunca me molesté en buscar uno eheh, pero como estabas buscando algo como esto, pensé que debería compartir lo que uso con usted / cualquier otra persona en la comunidad que necesite algo similar :) y una vez más lo siento por no haberlo hecho. No conozco ninguna herramienta.
Prix
El ping solo tiene que ser al primer enrutador controlado por el ISP, en otras palabras, el primer dispositivo del que no tiene control. Cada vez más ISP están desactivando ICMP debido a este tipo de cosas. El tráfico ICMP al dispositivo perimetral está bien, pero a través de la red troncal solo se desperdicia el ancho de banda.
dbasnett
@dbasnett ofc lo cambié a google a oculto donde hago ping :)
Prix
Buen punto de @dbasnett: supuse que 8.8.8.8 de Google podría manejar la carga.
Martin Beckett
1

Actualmente estoy investigando un problema similar (una falla DSL en una sucursal). Estoy ejecutando PingPlotter de forma remota; Es un programa de Windows y genera un gráfico fácil de leer. He usado el gráfico para decirle al ISP qué veces se cae el enlace.

(Ahora esperando a que el ISP realmente lo arregle, ¡avíseme si tiene algún consejo sobre cómo hacer que las empresas de telecomunicaciones trabajen más rápido!)

Mitch Miller
fuente
2
Lo siento, creo que ese problema se conoce como NP-muy-muy-difícil
Martin Beckett
0

Pruebe la edición gratuita de PA Server Monitor Free . Tiene un alcance limitado, pero la versión gratuita hará Ping y creará gráficos para usted. Se ejecuta en Windows y como un servicio en segundo plano para que no se interponga en el camino.

DougN
fuente
Lo probé, demasiado complicado de configurar. Parece que voy a escribir un poco de pitón
Martin Beckett
0

Powershell rápido y sucio

while ($true) {

  #if (test-connection -count 1 microsoft.com -Quiet) {    



  if (test-connection -count 1 google.com ) {    
   $result=(get-date).ToString("yyyy-MM-dd hh:mm:ss")
   $result = "$result ok"
   "$result" | Tee-Object -FilePath c:\~~temp\router_log.txt -append     #"$result" | Out-File -FilePath c:\~~temp\router_log.txt -append

   sleep 5

 } else {
    while (-not (test-connection -count 1 google.com -Quiet)) {    
        $result=(get-date).ToString("yyyy-MM-dd hh:mm:ss")
        $result = "$result down"
        "$result" | Tee-Object -FilePath c:\~~temp\router_log.txt -append
        sleep -millisecond 100
    }
}

}
tbone
fuente