IIS Log 是監控網站流量的紀錄,我們想分析 Log 就要選擇合適的分析工具(Log Parser),並設定存放 Log 的位置(路徑),以確保日誌的完整性及提升網站的運維效率。
如何啟用 IIS LOG
首先打開 IIS 管理員,您可以在控制台\系統及安全性\系統管理工具中找到它。

點擊「記錄」進入 IIS LOG 的設定頁。

點擊右側欄位的啟用,接下來您就可以查看 IIS LOG 的紀錄。
如何設定IIS儲存log的位置(路徑)
IIS Log的預設路徑是「%SystemDrive%\inetpub\logs\LogFiles」
在 IIS LOG 的設定頁中,點擊「瀏覽」就可以修改存放 LOG 的位置。

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

IIS LOG的存檔格式有 IIS、NCSA、W3C,預設且最常用的格式為 WC3,若無特殊需求就不用修改儲存的格式。

IIS LOG 會記錄 Request 時間、來源IP、 Http Status Code …等項目,我們可以點擊「選取欄位」修改輸出的欄位。

IIS log 欄位說明
- 日期(date):發生 Request 的日期。
- 時間(time):發生 Request 的時間。
- 用戶 IP 位址(c-ip):提出Request要求的IP位址。
- 使用者名稱(cs-username):存取伺服器的使用者。
- 服務名稱(s-sitename):完成 Request 的網站執行個體編號。
- 伺服器名稱(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 分析工具
Log Parser Studio 教學
Log Parser Studio(LPS)是一款可以分析 IIS Log 的分析工具,主要特點包括友善的 GUI 圖形化介面、免費、支援批次查詢、支援匯出報表與圖表、能夠迅速搜尋與篩選LOG。
請點擊以下連結,從微軟官網取得 Log Parser Studio 的安裝檔 (請注意:您必需先安裝 Log Parser,然後再安裝 Log Parser Studio)

如果在執行 Log Parser Studio 出現以下錯誤訊息,表示您的電腦尚未安裝 Log Parser 。

解壓縮剛剛下載的檔案,再點擊 LPS.EXE 開啟 Log Parser Studio。

Log Parser Studio 的 GUI 圖形化介面 (如下圖)。

請點選「Create a new query」按鈕來新增查詢。

以下是載入 IIS Log 的操作步驟:點擊左上角的「Choose Log File」,再點選「Add Files」以選取欲匯入的Log,最後按下「OK」完成匯入。

設定 IIS Log 的格式:點擊「Log Type Not Set」,再從選單中選擇「W3CLOG」。

點擊「Execute Active Query」執行查詢並讀取 IIS Log,讀取後的欄位會自動對齊,讓我們更有效率的進行log 分析。

你也可以依需求修改下方的 SQL 語法:若只想查詢前 100 筆資料,請輸入「SELECT TOP 100」;若要查詢所有資料,則輸入「SELECT * FROM」。

我們可以將分析的結果匯出為 Excel 的 XML 格式,請點選左上角的「File」,再依序選擇「Export」>「Library as XML」。

解決 IIS 無法連線
相信有不少的工程師都會遇到 IIS 無法連線的異常,解決方法是在 Command 視窗下輸入「iisreset /restart」指令來重啓 IIS,真的再不行就重開機。