我需要测量 Windows 服务器上第三方应用程序每个客户端的网络使用情况,但有以下限制:
- 由于这是生产服务器,我无法安装其他软件。
- 我需要能够记录一段时间内的交通情况,比如说一周内每天 9 小时。
- 我需要按客户端地址和服务器端口细分流量,因为我在单个服务器上运行多个应用程序实例
以下是我目前调查的内容:
- 我尝试将“Netsh Trace Capture”与“Microsoft Message Analyzer”结合使用,效果不错 - 但它会产生几乎无法管理的数据量。据我所知,在捕获时,Netsh 无法按端口进行过滤,如果可以的话,那将为我解决一个问题。
- 我查看了“性能监视器”,但无法从记录的数据中获得必要的细分信息。
- 我还研究了“资源监视器”,它在网络选项卡中显示的内容实际上可以满足我的要求,但是它没有我能找到的记录功能。
解决此问题的建议方法是什么?例如,Netsh 是否能够在捕获时聚合数据?是否有可以作为 Netsh 前端的便携式工具?
编辑:同时我发现 Windows 10 中的端口过滤在 Netsh 中可用 - 但由于服务器操作系统版本(WS 2008 R2 和 WS2012),它没有帮助。
答案1
您可以将过滤器与 结合使用netsh trace capture
。例如:netsh trace start InternetClient provider=Microsoft-Windows-TCPIP level=5 keywords=ut:ReceivePath,ut:SendPath
有关详细信息,请参阅Netsh trace 手册
答案2
如果您有权访问服务器所连接的交换机,您可以执行端口镜像并在捕获机器上应用所需的过滤器。
答案3
联系 ISP 主机(托管提供商,OP 听起来这是一款网络应用),他们很有可能至少提供一些用于监控流量的精简工具,可能已加载 GUI。如果您有权调整网站,也许可以考虑使用 Google Analytics。