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.

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.


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.


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!)


2
Desculpe - acho que esse problema é conhecido como NP-muito-muito-difícil #
— Martin Beckett


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.


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

}
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.