Monitor di uptime della connessione Internet semplice


8

Devo solo monitorare la frequenza con cui una connessione Internet si interrompe e per quanto tempo. Stavo per scrivere un po 'di Python che eseguiva il ping 8.8.8.8 ogni minuto, ma pensavo che ci dovesse essere un util che fa questo - e produce un bel rapporto

Ma questa è una filiale con una semplice connessione di tipo SOHO, nessun router SNMP, solo Windows, deve essere eseguito su un computer desktop che non è dedicato all'attività.

Non è necessario conoscere capacità, latenza del ping o altro: basta un resoconto di quante volte è rimasto inattivo per più di qualche secondo per salutare la società via cavo.

Risposte:


5

Lo faccio al contrario con Pingdom . Account gratuito, un controllo. Effettua il ping dell'indirizzo IP WAN del router ed è tutto a posto. Ricevi un rapporto mensile sui tempi di attività e puoi gridare alla società via cavo.


Non avevo capito di avere una versione gratuita. Grazie
Martin Beckett,

Pingdom ora carica $ 100 / anno per questo - è tempo di cercare altrove
Martin Beckett l'

Veramente? Ho ancora un monitor di livello libero a un controllo e non ho sentito nulla su di loro che lo fermano.
Tom O'Connor,

1
pingdom.com/free È ben nascosto nella parte inferiore della pagina dei prezzi. Subdolo.
Tom O'Connor,

2
Questo si collega alla loro prova gratuita ora
Rehan Khwaja,

1

non conosco alcun util ma mi sono fatto un semplice codice per quello 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;

Quello che fa è che proverà a eseguire il ping di Google ogni volta che viene eseguito e quindi verrà stampato su un file se ha ricevuto una risposta o meno con il tempo in modo da poter controllare in seguito da che ora a che ora Internet non era disponibile.

Se ti piace, posso apportare le piccole modifiche da utilizzare in Windows e hai bisogno di installare ActivePerl che è tutto.

Le uniche modifiche necessarie sono percorsi e comandi che potrebbero essere diversi su Windows nient'altro.


1
È praticamente quello che avrei scritto (solo in Python) - Ho appena pensato che ci fosse un piccolo strumento Systray per farlo.
Martin Beckett,

Ad essere sincero, non mi sono mai preso la briga di cercarne uno eheh ma dato che stavi cercando qualcosa del genere, avrei dovuto condividere quello che uso con te / chiunque altro nella comunità che avrebbe bisogno di qualcosa di simile :) e ancora una volta mi dispiace di non averlo fatto conoscere qualsiasi strumento.
Prix

Il ping deve essere solo sul primo router controllato dall'ISP, in altre parole sul primo dispositivo di cui non hai il controllo. Sempre più ISP stanno disattivando l'ICMP a causa di questo genere di cose. Il traffico ICMP verso il dispositivo periferico è OK, ma attraverso la spina dorsale è solo una larghezza di banda sprecata.
dbasnett,

@dbasnett ofc l'ho cambiato in google in nascosto in dove eseguivo il ping :)
Prix

@dbasnett buon punto - ho pensato che l'8.8.8.8 di Google potesse gestire il carico.
Martin Beckett,

1

Attualmente sto studiando un problema simile (un errore DSL in una filiale). Sto eseguendo PingPlotter da remoto; è un programma Windows e genera un grafico di facile lettura. Ho usato il grafico per dire all'ISP a che ora il collegamento sta cadendo.

(Ora sto aspettando che l'ISP lo risolva davvero, fatemi sapere se avete qualche consiglio su come far funzionare più velocemente i telecom!)


2
Scusate, penso che quel problema sia noto come NP-molto-molto-difficile
Martin Beckett,

1

Un'altra buona scelta è http://www.alertfox.com/ . Monitoraggio del sito Web gratuito, test delle transazioni e report.


0

Prova la versione gratuita di PA Server Monitor . Ha una portata limitata, ma la versione gratuita eseguirà il ping e creerà grafici per te. Funziona su Windows e come servizio in background in modo da non interferire.


provato - troppo complicato per l'installazione. Sembra che scriverò un po 'di pitone
Martin Beckett,

0

Powershell veloce e sporco

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
    }
}

}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.