我正在调试我们的一个系统的问题。每个星期天,它都会停止与另一台服务器通信。如果我们重新启动两台服务器,通信将再次正常运行。
我想知道是否有任何小型应用程序可以监控 TCP 端口可用性和网络连接,可能会记录任何停机时间。如果可能的话,我也希望它是开源的,但如果有另一种专有的解决方案,我也想听听。
我正在调试我们的一个系统的问题。每个星期天,它都会停止与另一台服务器通信。如果我们重新启动两台服务器,通信将再次正常运行。
我想知道是否有任何小型应用程序可以监控 TCP 端口可用性和网络连接,可能会记录任何停机时间。如果可能的话,我也希望它是开源的,但如果有另一种专有的解决方案,我也想听听。
我会逆势而上,给你一个脚本化的解决方案。
获取一份用于 Windows 的netcat并使用 netcat 的路径修改脚本(或者将 nc.exe 转储到 %SystemRoot%\system32 目录中并将该行更改为nc.exe)。此外,修改脚本以将其日志文件存储在您想要的任何位置。
你去吧。您可以将其作为“计划任务”运行。
这一点都不花哨,但它会起作用。如果你想让它更漂亮,你可以使用日期或时间来更改日志文件名,这样你每天、每周等都会得到一个新日志。你可以删除旧日志等。你可以做很多事情像这样的简单脚本......嘿嘿......
附录:
这是更高级的“命令行参数”版本。它登录到您指定的任何目录,文件名为“MONTIOR_HOST_YYYY-MM-DD.log”。使用以下语法调用:
这适用于从多个计划任务、脚本等调用,以监控多个服务器或多个端口。
我写剧本太有趣了……
我可以推荐泽诺斯。它非常全面,但易于设置,是免费软件,可以完成您需要的一切。
当然,您也可以编写一些 Perl/Shell 脚本,但为什么要重新发明轮子呢?
我目前最喜欢的是Zabbix。还有Nagios和其他一些。但如果它只是一项服务,我可能会编写一个 perl 脚本来监控它并记录到 sqlite。
总是有Nagios。
我过去在What's Up Gold上运气不错。它易于配置并保留历史信息。不幸的是,它不是开源的。我希望看到具有相同功能的开源产品。
我也会去 zabbix(我正在使用它,它在分布式环境中工作得非常好)还有splunk,这是一个很棒的工具。
您有几个选项,它们之间存在差异:
还有像 Ganglia 和 Ximon 这样的其他人,但比 nagios 还要老。