在 Windows 主機上架設網站通常會啟用 IIS 來分析網頁和 FTP 的狀態,啟用 IIS LOG可以分析網站問題解決故障、監控網路連線及追蹤用戶行為,它有助於優化網站並確保其正常運作,當我們發現網站出現故障或錯誤時,我們通常會優先啟用 IIS log,並分析 LOG 裡面是否有紀錄到發生異常的原因,以下將分享如何啟用 IIS LOG,並讓您瞭解怎麼設定存檔位置及每個欄位的說明。
如何啟用 IIS LOG
首先打開 IIS,您可以在控制台\系統及安全性\系統管理工具中找到 IIS 管理員。

點擊「記錄」打開 IIS LOG 的設定頁,位置如下圖。

點擊動作欄位下的啟用,接下來您就可以查看 IIS LOG 所紀錄的內容來分析和監控網站。

如何設定存儲 IIS LOG 的位置和欄位
IIS LOG 設定3種存檔格式,分別為 IIS、NCSA、W3C,其中最常用的檔案格式為 WC3,它也是預設的存檔格式,如果無特殊需求就不用變更存檔格式的設定。

IIS LOG 會記錄所有 Request 時間、來源IP、 Http Status Code …等等,我們可以在「選取欄位」設定自己想監控的項目。

IIS log 欄位說明:
- 日期(date):發生要求的日期。
- 時間(time):發生要求的時間。
- 用戶 IP 位址(c-ip):提出Request要求的IP位址。
- 使用者名稱(cs-username):存取伺服器的使用者。
- 服務名稱(s-sitename):完成要求的網站執行個體編號。
- 伺服器名稱(s-computername):伺服器名稱。
- 伺服器 IP 位址(s-ip):網站伺服器的IP位址。
- 伺服器連接埠(s-port):伺服器連接埠號碼。
- 方法(cs-mothod):Request的動作,例如:GET或POST。
- URI Stem(cs-uri-stem):動作的「通用資源識別元」或目標。
- URI 查詢(cs-rui-query):用戶端執行的查詢。只有針對動態頁面才需要執行通用資源識別元URL查詢。
- 通訊協定狀態(sc-status):HTTP或FTP狀態代碼。
- 通訊協定子狀態(sc-substatus):HTTP或FTP子狀態代碼。
- Win32 狀態(sc-win32-status):Windows狀態代碼。
- 已傳送位元組(sc-bytes):伺服器傳送的位元組數。
- 已接收位元組(cs-bytes):伺服器接收的位元組數。
- 花費時間(time-taken):Request所花費的時間(單位:毫秒)。
- 通訊協定版本(cs-version):用戶端使用的通訊協定版本,EX:HTTP或FTP。
- 主機(cs-host):主機名稱。
- 使用者代理程式(UserAgent):用戶端使用的瀏覽器類型及裝置。
- Cookiecs(Cookie):已傳送或已接收的Cookie內容。
- 推薦者(Referer):使用者上一次連線的網站。

我們可以點擊「瀏覽」設定 IIS log 存檔路徑。

在路徑下您會發現一個 W3SVC1 資料夾,點開後您就可以看到每一天的 IIS Log。

IIS 無法連線怎麼辦
相信有不少工程師都有管理 IIS 站台的經驗,如果遇到 IIS 無法連線等狀況發生,大概都會在 Command 視窗下輸入「iisreset /restart」指令來重啓 IIS,真的再不行就重開機。
結語:
以上是 IIS Log 基礎設定教學,現在您已成功設定 IIS LOG,並透過欄位說明瞭解每個欄位的含義,接著我們就可以透過 iis log 的內容來瞭解網站的訪問狀況和偵測錯誤,更好地管理和維護您的網站。