简单的互联网连接运行时间监控器


8

我只需要监视互联网连接断开的频率和持续时间。我本打算编写每分钟ping 8.8.8.8的python,但我认为必须有一个util来执行此操作-并生成一个不错的报告

但这是具有简单SOHO类型连接的分支机构,没有SNMP路由器(仅Windows)必须在非专用于该任务的台式机上运行。

不需要知道容量,ping延迟或其他任何内容,只需报告一下电缆公司在几秒钟内停机几次就可以了。

Answers:


5

我用Pingdom来做这件事。免费帐户,一张支票。Ping路由器的WAN IP地址,这一切都很好。您会获得每月的正常运行时间报告,并且可以向有线电视公司大喊大叫。


没意识到他们有免费版本。谢谢
马丁·贝克特

Pingdom的现在充电/每年$ 100美元的这一点-时间到别处
马丁贝克特

真?我仍然有一个一键检查的免费监视器,也没有听到有关他们停止它的任何消息。
Tom O'Connor 2014年

1
pingdom.com/free 很好地隐藏在“定价”页面的底部。鬼
Tom O'Connor 2014年

2
现在与他们的免费试用链接
Rehan Khwaja

1

我不知道任何实用程序,但我使用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;

它的作用是,它将在每次运行时尝试ping谷歌,然后随着时间的流逝,是否会得到答复,然后将其打印到文件中,以便您以后可以查看从什么时间到什么时间不可用。

如果您喜欢它,我可以进行细微更改以在Windows中使用,您确实需要安装ActivePerl。

唯一需要的更改是Windows上可能有所不同的路径和命令。


1
那几乎就是我要写的内容(仅在python中)-我只是假设有一个小型systray工具可以做到这一点。
马丁·贝克特

老实说,我从不费心寻找一个东西,但是既然您正在寻找这样的东西,我就应该与您/社区中的其他任何人分享我使用的东西:),再次抱歉我没有不知道任何工具。
Prix​​ 2010年

ping仅需要到达由ISP控制的第一台路由器,换句话说,您无法控制的第一台设备。由于这种情况,越来越多的ISP正在关闭ICMP。到边缘设备的ICMP流量还可以,但是跨骨干网只是浪费带宽。
dbasnett 2010年

@dbasnett ofc我将其更改为google,以隐藏到我ping的位置:)
Prix​​ 2010年

@dbasnett好点-我认为Google的8.8.8.8可以处理负载。
马丁·贝克特

1

我目前正在调查类似的问题(分支机构的DSL故障)。我正在远程运行PingPlotter;这是一个Windows程序,可生成易于阅读的图形。我已使用该图告诉ISP链接断开的时间。

(现在正在等待ISP对其进行实际修复-如果您有如何使电信公司更快地工作的提示,请告诉我!)


2
对不起-我认为这个问题被称为NP-非常-非常硬
马丁贝克特



0

Powershell快速又脏

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

}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.