.net - 如何使用 .NET 计算 EC2 服务器上的 TIME_WAIT 连接数

标签 .net windows-server-2008 amazon-ec2 tcp

我在 Amazon EC2 上运行几个服务器集群。最近,我们遇到了操作系统未清理 TIME_WAIT 状态下的连接的问题,因此我想创建一个警报,以便在服务器达到 TIME_WAIT 中的特定连接阈值时通知我。我可以创建一个简单的批处理文件来执行此操作 (netstat -an |find/c "TIME_WAIT"> count.txt),但问题是我的监控软件存在于我的公司网络中,所以我没有办法远程调用该命令。

我在每个集群中都运行了一个网络服务器。我想创建一个 Web 服务,它将接受我要检查的服务器的名称作为参数,然后调用每个服务器,返回处于 TIME_WAIT 状态的连接数。所有这些机器都运行 Windows Server 2008。

换句话说,我公司 LAN 上的服务器将向 EC2 中的 Web 服务器发出 GET http 请求。然后,该 Web 服务器将远程计算 EC2 中另一台服务器上 TIME_WAIT 中的连接数。 EC2 机器不在域中。这是可能的还是有更简单的方法可以省去我的麻烦?

一个绝对的要求是所有的调用和监控必须由我的公司 LAN 上的监控应用程序集中管理。

最佳答案

您应该在 .NET 中查找 WMI 计数器,请参阅此问题的第二个答案:

How can I access netstat-like Ethernet statistics from a Windows program

和这个引用:

http://msdn.microsoft.com/en-us/library/ms257340(v=vs.80).aspx

如果必要的凭据到位,则可以远程调用 WMI。

关于.net - 如何使用 .NET 计算 EC2 服务器上的 TIME_WAIT 连接数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5444631/

相关文章:

vba - MS Access 2010、Excel 2010、Windows Server 2008 R2 64 位 : SaveAs method of Workbook class failed

ssl - 如何忽略远程桌面连接上的证书警告

php - AWS Elastic Beanstalk - 更改 webapp 文件夹的所有者

c# - 从 Linq 到 Sql 的随机行

c# - IIS:使用 C# 的 IIS 的 wwwroot 目录?

.net - UWP - 有针对性的 .NET 版本?

C#:使用 aforge.net 进行视频压缩

简单连接到 MySQL 时 PHP 超时 - 在 win2k8 64 位 IIS 7/FastCGI php 上 - 新安装

ubuntu 亚马逊 ec2 中的 Matlab MCR

amazon-ec2 - EC2 云形成 - 错误消息