Получение рабочих процессов в пулах приложений IIS - PullRequest
3 голосов
/ 18 февраля 2011

Я ищу способ перечисления через виртуальные каталоги (Windows Server 2003) в пуле приложений и получения диагностических данных (в частности, WorkingSet, Private Bytes и Virtual Bytes).

Я нашел много о том, как перечислять через пулы приложений сервера и получать виртуальные каталоги внутри, но что мне нужно сделать для получения диагностических данных?

В основном я хочу добавить скрипт, который собирает эти данные для приложения мониторинга (NAGIOS). У нас есть скрипт, который уже захватывает 2 верхних запущенных рабочих процесса на сервере, но мы не знаем, к какому пулу приложений они относятся.

Спасибо.

1 Ответ

1 голос
/ 25 февраля 2011

Как вы обнаружили, это двухэтапный процесс: вам нужно искать использование ресурсов для каждого рабочего процесса, а также вам нужно знать, какой пул приложений соответствует каждому рабочему процессу.

Вы уже разобрались с первой частью.Вот как это сделать: в Windows Server 2003 в Windows Server 2003 доступен сценарий командной строки с именем iisapp.vbs.См. документацию для получения более подробной информации.Выходные данные этого инструмента командной строки будут выглядеть следующим образом:

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

Просто проанализируйте выходные данные этого сценария, и вы сможете связать идентификаторы процессов с пулами приложений.Затем найдите каждый процесс по идентификатору или отфильтруйте существующий список перечисленных процессов, чтобы найти соответствующий идентификатор процесса.

Также могут быть дополнительные ограничения в отношении безопасности и конкретной конфигурации IIS.Смотрите ссылку на документацию выше.

Обратите внимание, что Windows Server 2008 использует другую команду, appcmd list wp, и имеет другой формат вывода, поэтому это решение относится только к Windows Server 2003.

...