web-dev-qa-db-ja.com

IISサイトが起動または停止したときにWindowsイベントログに書き込む

Webサーバー上のサイトの1つが起動または停止したときにWindowsイベントログに書き込むようにIIS 7.5を構成できますか?たとえば、誰かがIIS Managerユーザーインターフェイスを介してサイトを開始または停止したとき。

各WebサイトのApplication_On {Start、End}を構成して、Windowsイベントログにカスタムメッセージを書き込むことができることはわかっていますが、組み込みの機能があるかどうか疑問に思っています。アプリプールのリサイクルのログ記録をアクティブにすることも知っていますが、これは、特に複数のサイトが同じアプリプールを共有している場合は、サイトの開始/停止と同じではありません。

特に、サイトを開始または停止したユーザーの名前がリストされていると非常に役立ちます。

IIS-Configuration> {Administrative、Operational}イベントログへのロギングを有効にすることはすでに試みましたが、残念ながら、開始/停止が行われたときに何も表示されません。

6
LWixson

いくつかのこと。 Microsoft-Windows-IIS-Configuration/Operationalイベントログを有効にすると、サイトが起動または停止したときにイベントが発生します。このコンテンツで「詳細」イベント29が表示されます。

'MACHINE/WEBROOT/APPHOST'の '/system.applicationHost/sites/site[@name="Default Web Site "and @ id =" 1 "]/@ state'への変更が正常にコミットされました。

これはServer 2008 R2にあります。これは、サイトが開始されたか停止されたかを通知するのではなく、単にステータスが変更されたことを示します。そのログを監視する場合に役立ちます。

ずっと前に私はこれを書きました: http://www.eventsentry.com/blog/2010/02/how-to-really-monitor-smtp-pop.html 。これは、IISで仮想ディレクトリを列挙し、それらの1つが停止したときに通知するVBScriptでした。これは2003年には機能しますが、残念ながら2008年には機能しません。出発点となる可能性があります。スクリプトを更新できるように、ある時点でこれを再確認します。

答えではありませんが、達成しようとしていることに近づく可能性があります。ほとんどの場合、サイトとそのステータスを列挙するスクリプト(上記のイベントによってトリガーされる可能性があります)が必要になります。

2
Lucky Luke

イベントログID 29のXMLビューを確認してください。OldValueとNewValueの状態が変化しています。

OldValue> Starting NewValue> Stopped

\?\ C:\ Windows\system32\inetsrv\config\applicationHost.config MACHINE/WEBROOT/APPHOST /system.applicationHost/sites/site[@name="Default Web Site "and @ id =" 1 "]/@ state 1始動停止

4
Fredrik

あなたがしようとしていることは、Windows/IISにネイティブに組み込まれていません。

近いと思うことができるのは、ログヘッダーがいつ書き換えられるかを調べることだけです。ログヘッダーは開始と停止で書き直されるため、いつだかはかなりわかりますが、だれがだかはわかりません。

だから、もう一度、申し訳ありませんが、いいえ。

1
Brad Bouchard