Httperr.log詳細(xì)說明
2015/5/9 11:46:591797 閱讀
Microsoft Internet Information Services (IIS) 版本 6.0 引入了在單獨(dú)的文件從 Web 日志中記錄的錯(cuò)誤。
IIS 6.0 中的 httperr.log 文件只是為了向我們的讀者提供一點(diǎn)解釋,它記錄的是有關(guān) http.sys 的活動(dòng)和錯(cuò)誤。例如,如果有某個(gè)應(yīng)用程序池脫機(jī),沒有網(wǎng)站可以響應(yīng)請求,這樣 http.sys 中就會記錄一個(gè)條目。無效的 http 請求、超時(shí)客戶端連接掉線、有效連接由于信息接收太慢而掉線以及其他類似事件都會被記錄到其中。
httperr 日志文件的文件格式如下:
字段 描述 Date
以 UTC 時(shí)間形式表示的日期。這個(gè)條目的長度總是 10 個(gè)字符,例如 2000-01-31。
Time
時(shí)間,以 UTC 時(shí)間形式表示。這個(gè)條目的長度總是 8 個(gè)字符,例如 00:12:23。
Client IP
客戶端的 IP 地址。IP 地址的版本可以是 IPv4 或是 IPv6。如果是 IPv6,則“作用域 ID”字段也會出現(xiàn)。
Client Port
客戶端的端口。
Server IP
服務(wù)器的 IP 地址。服務(wù)器的 IP 地址可以是 IPv4 或是 IPv6。如果是 IPv6,則“作用域 ID”字段也會出現(xiàn)。
Server Port
服務(wù)器的端口。
Protocol version
協(xié)議版本,如果連接上的最后一個(gè)請求經(jīng)過充分分析后足以確定協(xié)議版本的話。如果主版本或次版本大于或者等于 10,驅(qū)動(dòng)程序就會將版本記錄為“HTTP/?.?”。
Verb
謂詞,如果最后一個(gè)請求經(jīng)過分析認(rèn)為可以傳遞謂詞狀態(tài)的話。未知的謂詞也會被記錄。HTTP.sys 限制謂詞的長度不得超過 255 字節(jié),超出的字節(jié)將被截?cái)唷?
CookedURL 和查詢
URL 及其查詢,如果二者都存在的話。URL 與查詢之間以問號 (?) 分隔。如果請求的 URL 被完全處理(也稱為 cooked),則處理的 URL 就會被記錄并進(jìn)行本地代碼頁面轉(zhuǎn)換,同時(shí)被視為 Unicode 字段。
如果在記錄時(shí)僅提供未經(jīng)處理(原始)的 URL,則會按原樣對其進(jìn)行記錄,并且不會進(jìn)行本地代碼頁面轉(zhuǎn)換。HTTP.sys 限制 URL 的長度不得超過 4096 字節(jié),超出的字節(jié)將被截?cái)唷?
協(xié)議狀態(tài)
請求的響應(yīng)的協(xié)議狀態(tài),如果可用的話。這個(gè)值不能大于 999。
Site ID
站點(diǎn) ID,這是一個(gè)數(shù)值型的值。例如,這個(gè)字段不是記錄 W3SVC1,而是會記錄“1”。站點(diǎn) ID 的值沒有上限(這個(gè)值最大可以到 MAX_ULONG)。
Reason phrase
關(guān)于為什么會出現(xiàn)錯(cuò)誤的詳細(xì)信息,取決于錯(cuò)誤類型。這個(gè)字段不能為空。有關(guān)原因短語的更多信息,請參見本章后面的“HTTP.sys Reason phrase”。
(以下地址中可以找到此列表:http://www.microsoft.com/resources/documentation/IIS/6/all/techref/en-us/iisRG_LOG_14.mspx)
您可以看到網(wǎng)站 ID 已經(jīng)被記錄;但是如果每個(gè)站點(diǎn)都具有多個(gè)應(yīng)用程序池,您就無法找出請求被定向到網(wǎng)站的哪個(gè)池。在 Windows Server 2003 Gold Release 中,這些字段是不可配置的。
為了解決這些問題,Microsoft 發(fā)布了一項(xiàng)顯著更改 httperr 日志文件的 http.sys 更新。應(yīng)用此項(xiàng)更新后,您就可以某種程度上配置這個(gè)記錄的字段,它成了 httperr 日志文件加上 W3SVC 標(biāo)準(zhǔn)日志文件的組合。將與錯(cuò)誤有關(guān)的“應(yīng)用程序池”的條目添加到此字段中,您就會有一個(gè)更為詳細(xì)的信息日志文件。
以下地址中詳細(xì)介紹了這些更改:http://support.microsoft.com/default.aspx?scid=kb;en-us;832975. Windows Server 2003 Service Pack 1 中也包含此功能。
打開httperr*.log , 您可能看到 Timer_MinBytesPerSecond 錯(cuò)誤或 Timer_ConnectionIdle 錯(cuò)誤。 這些是由 IIS 默認(rèn)設(shè)置, 內(nèi)其元數(shù)據(jù)庫, 定義用于連接到保持活動(dòng)小通信流速率和最大空閑時(shí)間之前連接中斷允許。
1) 從 IIS 管理器右鍵單擊 Internet Information Server (IIS) 管理器級別根目錄上并轉(zhuǎn)到屬性。 選中要啟用直接編輯元數(shù)據(jù)庫框。單擊確定。
在記事本中打開 C:\Windows\system32\inetsrv\MetaBase.xml 文件 2)。 要搜索有關(guān) " MinFileBytesPerSec "。將用于 MinFileBytesPerSec 設(shè)置從 240 更改為 0。 執(zhí)行其他搜索, 該時(shí)間將 600 " ConnectionTimeout "。 保存更改并退出。
3) 重新啟動(dòng) IISAdmin 服務(wù)以更改生效。
一、關(guān)閉IIS HTTPRERR日志功能
默認(rèn)情況下,2003服務(wù)器會把所有IIS訪問錯(cuò)誤的記錄寫入 C:\WINDOWS\system32\LogFiles\HTTPERR 下的 log 文件中,如果訪問量比較大,可能一段時(shí)間后日志文件可能會占滿C盤空間,導(dǎo)致服務(wù)器死機(jī)
同時(shí)因?yàn)橐獙懭胨械腎IS訪問記錄,如果訪問量較大會大大增加服務(wù)器CPU占用率
關(guān)閉HTTPERR的方法
運(yùn)行里輸入 regedit 進(jìn)入注冊表編輯器
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters]
在右邊 點(diǎn)鼠標(biāo)右鍵 新建dword值 EnableErrorLogging 重新啟動(dòng)服務(wù)器就可以了
"EnableErrorLogging"=dword:00000000
重起后,2003不再寫入HTTPERR日志文件,可以看到服務(wù)器CPU占用明顯下降!
二、修改存儲目錄也不失為一個(gè)好的辦法
尋找:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
在下面建立一個(gè)字符串值.即REG_SZ
數(shù)值名稱 命名為: ErrorLoggingDir
數(shù)值數(shù)據(jù) 為你指定的路徑比如 D:\logofilse
原文來自:http://blog.chinaunix.net/uid-20691565-id-3179556.html
下一條:windows2003 iis6.0站點(diǎn)打不開重啟系統(tǒng)才可以
上一條:windows2003 IIS6.0 PHP環(huán)境的配置