Skip to content

MS_IISLog

nishi_74322014 edited this page Aug 3, 2026 · 1 revision

IISのログ

概要

IIS が出力する各種ログの所在と種類について。

IISログ

WWW

以下の形式を選択可能。

  • W3C 拡張ログ ファイル形式
  • Microsoft IIS ログ形式
  • NCSA 共通ログ ファイル形式
  • ODBC ログ

※ 既定かつ推奨は W3C 拡張ログ ファイル形式(記録する項目を選べる)。
既定の出力先は %SystemDrive%\inetpub\logs\LogFiles\W3SVC<サイトID>\

※ 時刻は既定で UTC(GMT)で記録される。
イベント・ログ(ローカル時刻)と突き合わせる際は要注意。

補足(最新化): ODBC ログは性能面の問題から非推奨。 集中管理したい場合は、テキストで出力したものを ログ基盤(Azure Monitor / Elastic 等)に転送する構成が一般的。

FTP

2012 R2 の段階で、W3C 拡張ログ ファイル形式のみサポートされている模様
FTP を参照)。

HTTPエラーログ(HTTPERR)

  • HTTPエラーログというものがあるもよう。
  • 「HTTPエラーログ(httperr.log)」でググるとよい。

※ 出力元は HTTP.sys(カーネル モード ドライバ)で、
出力先は %SystemRoot%\System32\LogFiles\HTTPERR\
IIS のワーカー プロセスに到達する前に切られた要求 (Timer_ConnectionIdleQueueFullAppOffline 等)が記録されるため、
サイトのログには何も出ていないのに応答がおかしい場合の切り分けに有効。

失敗した要求のトレース

「失敗した要求のトレース」(FREB:Failed Request Event Buffering)というものもあるもよう。

※ ステータス コードや所要時間を条件に、その要求だけ詳細なトレースを
XML(+XSL で整形表示)で出力できる。
「特定の URL でだけ 500 が出る」「たまに遅い」といった
再現性の低い問題の調査に向く。既定では無効。

詳細ログ・拡張ログ

  • IIS 7, 7.5, 8 で、詳細ログ(IIS Advanced Logging)というツールがあるもよう。
  • IIS 8.5 以降だと拡張ログ(Enhanced Logging)という機能があるもよう。

※ いずれも、既定のログ項目に無い値(X-Forwarded-For などの
任意の要求ヘッダやサーバー変数)をログに追加するための仕組み。
ロードバランサ配下で実クライアント IP を記録したい場合に使う。

アプリケーション プール情報

リサイクルイベント

  • adsutil.vbsappcmd で設定可能。
  • GUI では「リサイクルの設定」から設定可能。

※ リサイクル発生時にイベント・ログ(System)へ記録するよう構成できる。
「特定の時刻に応答が途切れる」「セッションが消える」の原因調査で最初に見る項目。

アプリケーション プールのPID

  • iisapp.vbsappcmd で設定可能。

※ 現在は appcmd list wp で、ワーカー プロセスの PID と
アプリケーション プール名の対応を確認できる。
ダンプ取得時にどのプロセスを対象にするかの特定に必須
ダンプの概要(種類と取得))。

切り離しイベント

  • adsutil.vbsappcmd で設定可能。
  • GUI では「プロセスの孤立化」から設定可能。

※ ハングしたワーカー プロセスを強制終了せずに切り離す設定。
切り離した状態でハング・ダンプを取得すれば、
サービスを継続しながら原因調査ができる。

失敗した要求のトレース(7.0以降)

IIS のトレース機能を有効にしておく必要がある。

  • appcmd で設定可能。
  • GUI では「失敗した要求のトレース」から設定可能。

パフォーマンス カウンタ

(IISのパフォーマンス カウンタ: MS_IISPerformanceCounters.md
一般的な内容はパフォーマンス カウンタを参照。


Tags: インフラストラクチャ, Windows, IIS, 障害対応, 性能, デバッグ

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally