设置脚本来监视和报告服务器到Internet的连接的最佳方法是什么? 我不是指连接到本地networking,而是指服务器(或整个networking)访问互联网的能力,以防ISP连接断开的情况。
这将需要一个脚本,全天候testing互联网连接并logging结果(或可能只是在出现中断时logging日志),然后以其他方式读取这些日志并生成报告,显示各种状态(多less时间是ISP连接脱机等)。
这只是简单的ping各种stream行的URL(google.com,amazon.com等),并将其用作testing来确定您是否可以访问互联网? 还是有更好的方法?
这样做的目的主要是logging我们的互联网服务供应商让我们失败的时间,所以我们可以向他们展示他们,他们可以用它来解决问题或使用日志作为我的老板用来交换互联网服务提供商的杠杆。
这通常是通过在防火墙/路由器上使用SNMP进行接口监视来完成的。 另外,可以在接口上使用netflow / sflow / jflow来收集更深的统计信息。
较大的互联网服务提供商也将提供门户网站的监测工具(Sprint / Cox / TW等)。
另外,您可以设置像Nagios等工具,可以ping外出以及额外的图层/检查
您也可以使用http://newrelic.com/monitor-everything或类似的第三方工具从外部进行监控,validation您的服务器是否可以访问。 或者一个简单的免费的在线ping监视器(只是search),将ping你的防火墙的广域网IP,如果它是不可及的提醒你。
仅从服务器的angular度来监视它是近视的,并不能准确反映ISP本身的真实中断。
一般来说,你需要做的第一件事就是确定你所谓的互联网中断。 “停电”意味着你无法达到:
对于特定的实例(试图确定互联网连接的稳定性),从路由器监视日志和/或SNMP应该为您提供所需的信息,虽然交通传递的“现实世界”testing可能是有用的。 如果这是你和ISP之间的链接,那么ping一些你的ISP主机(DNS / Mail等)将会是好的,或者更好的脚本和实际的DNS查询来对付他们的DNS服务器, 并且尝试build立到他们的邮件服务器的SMTP连接。 当然,不要经常这样做,否则他们可能会指责你违反了“可接受使用政策”,“服务条款”等。
我使用了一个伟大的工具来监视像这样的连接。
地铁或我的追踪路线。
这是一个从单一的平操作和追踪路线的演变,几乎是两者的混合体。
地铁有几种运作模式
mtr --report google.com
会生成一个报告给你发送给ISP进行分析。
或者你可以尝试
mtr google.com ,然后按d两次以查看一段时间内所有跃点之间的延迟或损失。
根据您提到的Linux的风格,大多数发行版在本地回购站中都有MTR。