收集有用的服务器信息

问题描述:

我想添加一个页面到现有的网站上,并列出关于运行该网站的服务器的实际系统信息。例如,哪个Windows版本,32位或64位,SQL Server版本,某些主机变量,内存容量,磁盘空间等等。基本上,任何可以告诉我更多关于服务器健康状况的实用信息。
那么,如何通过.NET获得最实用的信息呢?收集有用的服务器信息

如何显示它并不重要,但假设它是一个包含三列的列表:设置的名称,设置的值以及说明设置的说明...(前两个已经是不够好,虽然,但澄清的描述将是很好)

一个更加复杂,虽然:我需要同时支持32位和64位解决方案...

使用WMI计数器:

http://msdn.microsoft.com/en-us/library/bb404655.aspx

编辑:

看到这个问题的例子

How can I check for available disk space?

+0

这提供了最多的信息,到目前为止凉爽的教程。但它有用吗? :-) – 2011-03-08 12:44:45

+1

WMI本身公开了您可以在性能监视器工具中找到的所有计数器,但是.NET框架中存在一些限制。我认为你需要将环境和WMI结合起来用于你提到的例子。 – jishi 2011-03-08 14:26:03

要做到这一点,最好的办法是使用SNMP性能counte RS。这基本上允许您(通过IIS)与系统性能信息进行交互。

Here是性能计数器的列表

而且here是如何使用它们

+0

看起来很有希望,但安全性会稍微有点尴尬。它需要额外的权限,我不是100%确定它会得到那些在服务器上... – 2011-03-08 10:41:29

+0

他们会抱怨模仿? :) – 2011-03-08 11:59:16

+1

SNMP实际上直接映射到WMI计数器,所以如果您需要访问.NET框架中不支持的计数器,这只会是一个优点。 – jishi 2011-03-08 14:26:44