2011-02-18 17 views
3

私は、アプリケーションプール内の仮想ディレクトリ(Windows Server 2003)を列挙し、診断データ(特にWorkingSet、Private Bytes、およびVirtual Bytes)を取得する方法を探しています。IISアプリケーションプール内の作業プロセスを取得する

私はサーバーのアプリケーションプールを列挙し、仮想ディレクトリを取得する方法をたくさん見つけましたが、診断データを取得するために何をする必要がありますか?

基本的に、このデータを監視アプリケーション(NAGIOS)用に取得するスクリプトを追加したいと考えています。私たちにはすでにサーバー上の実行中のワーカープロセスの上位2つを取得するスクリプトがありますが、どのアプリケーションプールに属しているのかわかりません。

ありがとうございました。

答えて

1

これは2つのステップで構成されています。すべてのワーカープロセスのリソース使用率を調べる必要があります。また、各ワーカープロセスに対応するアプリケーションプールも知る必要があります。

あなたはすでに最初の部分を見つけました。 Windows Server 2003には、Windows Server 2003で利用可能なコマンドラインスクリプトiisapp.vbsがあります。詳細は、documentationを参照してください。このコマンドラインツールからの出力は次のようになります。

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

だけで、このスクリプトからの出力を解析し、あなたは、AppプールにプロセスIDを結びつけることができるようになります。次に、各プロセスをIDで検索するか、列挙されたプロセスの既存のリストをフィルタリングして、一致するプロセスIDを見つけます。

セキュリティと特定のIIS構成が必要になるため、追加の制限があります。上記のドキュメントのリンクを参照してください。

Windows Server 2008は異なるコマンドappcmd list wpを使用し、出力形式が異なるため、この解決策はWindows Server 2003に固有のものです。

関連する問題