-
Notifications
You must be signed in to change notification settings - Fork 0
MS_IISLog
- 戻る(ログ収集いろいろ、IIS(
MS_IIS.md))- パフォーマンス カウンタ
- イベント・ログ
- IISのログ
IIS が出力する各種ログの所在と種類について。
以下の形式を選択可能。
- W3C 拡張ログ ファイル形式
- Microsoft IIS ログ形式
- NCSA 共通ログ ファイル形式
- ODBC ログ
※ 既定かつ推奨は W3C 拡張ログ ファイル形式(記録する項目を選べる)。
既定の出力先は %SystemDrive%\inetpub\logs\LogFiles\W3SVC<サイトID>\。
※ 時刻は既定で UTC(GMT)で記録される。
イベント・ログ(ローカル時刻)と突き合わせる際は要注意。
補足(最新化): ODBC ログは性能面の問題から非推奨。 集中管理したい場合は、テキストで出力したものを ログ基盤(Azure Monitor / Elastic 等)に転送する構成が一般的。
2012 R2 の段階で、W3C 拡張ログ ファイル形式のみサポートされている模様
(FTP を参照)。
- HTTPエラーログというものがあるもよう。
- 「HTTPエラーログ(httperr.log)」でググるとよい。
※ 出力元は HTTP.sys(カーネル モード ドライバ)で、
出力先は %SystemRoot%\System32\LogFiles\HTTPERR\。
IIS のワーカー プロセスに到達する前に切られた要求
(Timer_ConnectionIdle、QueueFull、AppOffline 等)が記録されるため、
サイトのログには何も出ていないのに応答がおかしい場合の切り分けに有効。
「失敗した要求のトレース」(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.vbs・appcmdで設定可能。 - GUI では「リサイクルの設定」から設定可能。
※ リサイクル発生時にイベント・ログ(System)へ記録するよう構成できる。
「特定の時刻に応答が途切れる」「セッションが消える」の原因調査で最初に見る項目。
-
iisapp.vbs・appcmdで設定可能。
※ 現在は appcmd list wp で、ワーカー プロセスの PID と
アプリケーション プール名の対応を確認できる。
ダンプ取得時にどのプロセスを対象にするかの特定に必須
(ダンプの概要(種類と取得))。
-
adsutil.vbs・appcmdで設定可能。 - GUI では「プロセスの孤立化」から設定可能。
※ ハングしたワーカー プロセスを強制終了せずに切り離す設定。
切り離した状態でハング・ダンプを取得すれば、
サービスを継続しながら原因調査ができる。
IIS のトレース機能を有効にしておく必要がある。
-
appcmdで設定可能。 - GUI では「失敗した要求のトレース」から設定可能。
(IISのパフォーマンス カウンタ: MS_IISPerformanceCounters.md)
一般的な内容はパフォーマンス カウンタを参照。
Tags: インフラストラクチャ, Windows, IIS, 障害対応, 性能, デバッグ
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。