3

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

サーバーのアプリケーション プールを列挙して仮想ディレクトリを取得する方法はたくさんありますが、診断データを取得するにはどうすればよいですか?

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

ありがとう。

4

1 に答える 1

1

お気づきのように、これは 2 段階のプロセスです。すべてのワーカー プロセスのリソース使用率を調べる必要があります。また、各ワーカー プロセスに対応するアプリ プールを知る必要もあります。

あなたはすでに最初の部分を理解しています。他の部分を実行する方法は次のとおりです。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 に答える