Monitor simples de tempo de atividade da conexão à Internet

8

Eu preciso apenas monitorar com que freqüência uma conexão à Internet cai - e por quanto tempo. Eu ia escrever um pouco de python que fazia ping em 8.8.8.8 a cada minuto, mas pensei que deveria haver um utilitário que faça isso - e produz um bom relatório

Mas esta é uma filial com uma conexão simples do tipo SOHO, nenhum roteador SNMP, apenas Windows, deve ser executado em uma máquina desktop que não seja dedicada à tarefa.

Não é necessário saber capacidade, latência de ping ou qualquer outra coisa - apenas um relatório de quantas vezes ficou inativo por mais de alguns segundos para ser exibido na empresa de cabos.

Martin Beckett
fonte

Respostas:

5

Eu faço isso ao contrário com Pingdom . Conta gratuita, um cheque. Faça ping no endereço IP da WAN do roteador e tudo ficará bem. Você recebe um relatório mensal de tempo de atividade e pode gritar com a empresa de TV a cabo.

Tom O'Connor
fonte
Não sabia que eles tinham uma versão gratuita. Obrigado
Martin Beckett
Pingdom agora cobrar US $ 100 / ano para isso - hora de procurar em outro lugar
Martin Beckett
Mesmo? Ainda tenho um monitor de nível gratuito de uma verificação e não ouvi nada sobre eles pará-lo.
Tom O'Connor
1
pingdom.com/free Está bem escondido na parte inferior da página Preços. Sorrateiro.
Tom O'Connor
2
Isso está vinculado ao seu teste gratuito agora
Rehan Khwaja 4/16
1

Eu não conheço nenhum utilitário, mas eu fiz um código simples para isso com 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;

O que faz é que ele tentará executar ping no google toda vez que for executado e, em seguida, imprimirá em um arquivo se tiver uma resposta ou não junto com o tempo, para que você possa verificar mais tarde a que horas e a que horas a Internet não estava disponível.

Se você gosta, eu posso fazer pequenas alterações para serem usadas no Windows e você precisa instalar o ActivePerl, isso é tudo.

As únicas alterações necessárias são caminhos e comandos que podem ser diferentes no Windows e nada mais.

Prémio
fonte
1
Isso é praticamente o que eu teria escrito (apenas em python) - eu apenas assumi que havia uma pequena ferramenta de systray para fazer isso.
Martin Beckett
Para ser honesto, nunca me preocupei em procurar um eheh, mas como você estava procurando por algo assim, pensei em compartilhar o que uso com você / qualquer outra pessoa na comunidade que precisaria de algo parecido :) e, mais uma vez, desculpe-me por não conheço qualquer ferramenta.
Prix
O ping precisa ser apenas para o primeiro roteador controlado pelo ISP, ou seja, o primeiro dispositivo do qual você não tem controle. Mais e mais ISPs estão desativando o ICMP por causa desse tipo de coisa. O tráfego ICMP para o dispositivo de borda está bom, mas no backbone há apenas desperdício de largura de banda.
dbasnett
@dbasnett ofc i mudou para o Google para escondido para onde pingue i :)
Prix
@dbasnett bom ponto - eu assumi 8.8.8.8 do Google poderia lidar com a carga.
Martin Beckett
1

Atualmente, estou investigando um problema semelhante (uma falha DSL em uma filial). Estou executando o PingPlotter remotamente; é um programa do Windows e gera um gráfico simples de ler. Usei o gráfico para informar ao ISP que horas o link está caindo.

(Agora, aguarde o ISP realmente consertá-lo - deixe-me saber se você tem alguma dica sobre como fazer com que as empresas de telecomunicações funcionem mais rapidamente!)

Mitch Miller
fonte
2
Desculpe - acho que esse problema é conhecido como NP-muito-muito-difícil #
Martin Beckett
1

Outra boa opção é http://www.alertfox.com/. Monitoramento gratuito de sites, testes de transações e relatórios.


fonte
0

Experimente a edição gratuita do PA Server Monitor . Seu escopo é limitado, mas a versão gratuita executa ping e cria gráficos para você. É executado no Windows e como um serviço em segundo plano para que não atrapalhe.

DougN
fonte
tentei - muito complicado de configurar. Parece que eu vou escrever um pouco de python
Martin Beckett
0

PowerShell rápido e sujo

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
fonte