Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Windows Server 系統教學 >> Server 2003

網站運維必學:IIS 日誌分析工具 Log Parser 進階實戰教學

編輯:Server 2003

IIS 日誌記錄每個 HTTP 請求的詳細資訊,是網站效能分析、異常偵測、安全稽核的關鍵資料來源。本文介紹從日誌設定、Log Parser 解析、匯入 SQL Server 深度分析的完整流程。

一、IIS 日誌包含哪些關鍵欄位?

  • 時間、Client IP、Server IP/Port、User-Agent、URL/查詢字串、HTTP Method、HTTP 狀態碼、Win32 狀態碼、傳輸位元組數、處理耗時等。

二、IIS 日誌建議設定

  1. IIS 管理員 → 網站 → 「日誌」 → 格式選 W3C。
  2. 每日產生新檔,檔名使用本地時間(勾選「使用本地時間命名」)。
  3. 務必勾選「傳送的位元組數」與「接收的位元組數」,預設未勾選但對流量分析極重要。

IIS日誌欄位範例 IIS日誌設定介面 日誌格式設定 選擇欄位對話框

三、Log Parser 基本查詢

"C:\Program Files\Log Parser 2.2\LogParser.exe" -i:IISW3C -o:DATAGRID
"SELECT c-ip, cs-method, s-port, cs-uri-stem, sc-status, sc-win32-status,
sc-bytes, cs-bytes, time-taken FROM u_ex130615.log"

輸出為資料表瀏覽,但大檔案查詢緩慢、語法有限。

四、進階:匯入 SQL Server 進行多維分析

"C:\Program Files\Log Parser 2.2\logparser.exe"
"SELECT * FROM 'D:\Temp\u_ex130615.log' TO MyMVC_WebLog" -i:IISW3C -o:SQL
-oConnString:"Driver={SQL Server};server=localhost\sqlexpress;database=MyTestDb;Integrated Security=SSPI"
-createtable:ON

匯入後可用 T-SQL 進行:

  • 效能分析:依 time-taken 降序找最慢頁面/AJAX/API。
  • 異常偵測:統計 404、500、502、503 狀態碼;sc-win32-status 非零值(64=客戶端斷線、121=傳輸逾時、1236=網路中斷)。
  • 流量分析:sc-bytes/cs-bytes 過大找 ViewState 濫用、大檔上傳、Cookie 膨脹。
  • 優化目標:大量 304、重複請求、404 錯誤資源引用。

五、UTC 時間轉換技巧

IIS 日誌時間為 UTC,匯入 SQL 會拆成 date、time 兩欄。建議匯入時直接轉換為本地時間:

SELECT TO_LOCALTIME(TO_TIMESTAMP(ADD(TO_STRING(date, 'yyyy-MM-dd '), TO_STRING(time, 'hh:mm:ss')), 'yyyy-MM-dd hh:mm:ss')) AS RequestTime, *
FROM 'D:\Temp\u_ex130615.log' TO MyMVC_WebLog2 ...

或匯入後用 T-SQL 更新:

ALTER TABLE MyMVC_WebLog ADD RequestTime DATETIME;
UPDATE MyMVC_WebLog SET RequestTime = DATEADD(HH, 8, CONVERT(VARCHAR(10), date, 120) + ' ' + CONVERT(VARCHAR(13), time, 114));

善用 IIS 日誌 + Log Parser + SQL Server,讓網站運維從「被動救火」轉為「主動優化」。

Copyright © Windows教程網 All Rights Reserved