sco*_*ttm 1 networking windows monitoring
我正在调试我们的一个系统的问题。每个星期天,它都会停止与另一台服务器的通信。如果我们重新启动两台服务器,通信将再次工作。
我想知道是否有任何小型应用程序可以监控 TCP 端口可用性和网络连接,可能会记录任何停机时间。如果可能的话,我也希望它是开源的,但如果有另一个专有的解决方案,我也想听听。
我会逆势而上,为您提供脚本化的解决方案。
获取一份适用于 Windows的netcat副本并使用 netcat 的路径修改脚本(或者只是将 nc.exe 转储到 %SystemRoot%\system32 目录中,然后将该行更改为nc.exe)。此外,修改脚本以将其日志文件存储在您想要的任何位置。
@echo off
SET NETCAT=c:\path-to-netcat\nc.exe
SET MONITOR_HOST=server-to-monitor
SET MONITOR_PORT=port-number-to-monitor
SET LOGFILE=C:\whatever.log
rem Use netcat to check for host answering on TCP port xxx
%NETCAT% -z %MONITOR_HOST% %MONITOR_PORT%
if errorlevel 1 goto _host_down
echo %DATE% %TIME% %MONITOR_HOST% answered on TCP port %MONITOR_PORT%>>%LOGFILE%
goto end
:_host_down
echo %DATE% %TIME% %MONITOR_HOST% did not answer on TCP port %MONITOR_PORT%>>%LOGFILE%
rem Do something to remote host here...
rem shutdown -r -t 1 -f -m %MONTIOR_HOST%
:end
Run Code Online (Sandbox Code Playgroud)
有你去。您可以将其作为“计划任务”运行。
这一点都不花哨,但它会起作用。如果你想让它更漂亮,你可以使用日期或时间来更改日志文件名,这样你每天、每周等都会得到一个新日志。你可以删除旧日志等。你可以做很多事情像这样的简单脚本......呵呵......
附录:
这是更高级的“命令行参数”版本。它以文件名“MONTIOR_HOST_YYYY-MM-DD.log”登录到您指定的任何目录。使用以下语法调用:
(filename) monitor_host monitor_port log-file-path
monitor.cmd test-srv01 80 "c:\monitor_logs\long filenames do work here\"
Run Code Online (Sandbox Code Playgroud)
这将适用于从多个计划任务、脚本等调用,以监控多个服务器或多个端口。
@echo off
SET NETCAT=c:\path-to-netcat\nc.exe
SET MONITOR_HOST=%1
SET MONITOR_PORT=%2
SET LOGFILE="%~f3\%1_%DATE:~10,4%-%DATE:~4,2%-%DATE:~7,2%.LOG"
if "%1"=="" goto _syntax
if "%2"=="" goto _syntax
if "%3"=="" goto _syntax
rem Use netcat to check for host answering on TCP port xxx
%NETCAT% -z %MONITOR_HOST% %MONITOR_PORT%
if errorlevel 1 goto _host_down
echo %DATE% %TIME% %MONITOR_HOST% answered on TCP port %MONITOR_PORT%>>%LOGFILE%
goto end
:_host_down
echo %DATE% %TIME% %MONITOR_HOST% did not answer on TCP port %MONITOR_PORT%>>%LOGFILE%
rem Do something to remote host here...
rem shutdown -r -t 1 -f -m %MONTIOR_HOST%
goto end
:_syntax
echo Syntax:
echo.
echo %0 monitor_host monitor_port log-file-path
:end
Run Code Online (Sandbox Code Playgroud)
我写脚本太有趣了...
归档时间: |
|
查看次数: |
884 次 |
最近记录: |