从我们的生产networking中,我们拨打我们在不同地点拥有的其他服务器。 我们的一些服务还打电话给其他目的地托pipe的其他服务器。 例如,我们的邮件服务器在美国,而我们的代理服务器(运行在其中一个服务器上的squid代理软件)在印度。
有时,印度的服务器将无法访问美国的服务器。 但美国服务器将是绝对可以从其他networking连接。 虽然我们怀疑这里的数据中心networking,但是我们希望尽快知道这个问题。 有没有办法从我们的代理服务器监控这些外部服务器的可达性? 并且,当任何服务器不可达时,提醒我们。
虽然可以使用ping / curl / wget来创build一些代码,但是我真的很想知道是否有可用的东西来解决这个问题。
在编写脚本来testing连接时,调度,交叉引用和报告非常复杂, 非常快。 我build议运行一个监控平台,这个平台可以让你实现你自己的脚本 – 我使用Nagios来实现这一点 – 它很容易与你自己的代码集成。
有可能通过ping / curl / wget掀起一些代码,我真的很想知道是否有可用的东西来解决这个问题
虽然nagios有预先写好的探测器,但是包装已经可用的function的工作量很小。
我曾经写过一个“相当”广泛的监控应用程序,其中包含ping,curl,app apis等来检查服务器状态。 所以你可以自己写一个脚本/应用程序。 它起初工作得很好,但是如果不进行持续的维护,它将会受到影响并成为一个麻烦。 (我曾经在法国度过一个晚上的时候收到了150封自动化的短信)。 显然,如果你保持它小,它会腐烂less。
更好的select是安装一个支持良好的框架,如Nagios或使用SNMP的东西。 或使用外部服务。 我使用免费的mon.itor.us服务为我的个人的东西。 它的fremium所以他们的商业产品可能会更适合生产。 但是,如果这是你的防火墙,他们可能不适合。
有很多好的监控系统可用,比如ZABBIX和nagios 。
但是对于您的情况,使用代理的简单curl或wget cron作业应该很容易解决您的即时问题。
编辑:澄清,我的意思是你应该在生产networking中的某处运行cron作业。 这样一来,无论您何时与印度的链接出现故障,或者代理服务器无法达到您所需的服务,您都将收到警报。