3

我正在寻找一种方法来枚举应用程序池中的虚拟目录(Windows Server 2003)并获取诊断数据(特别是 WorkingSet、Private Bytes 和 Virtual Bytes)。

我已经找到了很多关于如何枚举服务器的应用程序池以及在其中获取虚拟目录的信息,但是我需要做什么才能获得诊断数据?

基本上我想添加一个脚本来为监控应用程序(NAGIOS)获取这些数据。我们有一个脚本已经抓取了服务器上运行的前 2 个工作进程,但我们不知道它们属于哪个应用程序池。

谢谢。

4

1 回答 1

1

正如您所发现的,这是一个两步过程:您需要查找每个工作进程的资源利用率,并且您还需要知道每个工作进程对应的应用程序池。

你已经弄清楚了第一部分。另一部分的操作方法如下:在 Windows Server 2003 中,Windows Server 2003 中有一个名为iisapp.vbs. 有关更多详细信息,请参阅文档。此命令行工具的输出将如下所示:

W3wp.exe PID: 2232 AppPoolID: DefaultAppPool
W3wp.exe PID: 2608 AppPoolID: MyAppPool

只需解析此脚本的输出,您就可以将进程 ID 绑定到应用程序池。然后按 ID 查找每个进程或过滤现有的枚举进程列表以找到匹配的进程 ID。

在安全性和所需的特定 IIS 配置方面也可能存在其他限制。请参阅上面的文档链接。

请注意,Windows Server 2008 使用不同的命令 ,appcmd list wp并且它具有不同的输出格式,因此此解决方案特定于 Windows Server 2003。

于 2011-02-24T21:02:56.613 回答