這段時(shí)間公司的WEB服務(wù)器經(jīng)常出問(wèn)題,想在網(wǎng)上找一些關(guān)于A(yíng)pache日志的說(shuō)明,但是發(fā)現都比較老了!現在結合網(wǎng)上的一些文章,寫(xiě)一些我自己分析的心得!
當網(wǎng)站出問(wèn)題時(shí)分析日志,第一步一般都不會(huì )是看訪(fǎng)問(wèn)日志。但是也不能忽視它,在訪(fǎng)問(wèn)日志中記錄了很多的客戶(hù)信息,如果你有心,可以從這個(gè)日志中獲得很多有用的信息!
訪(fǎng)問(wèn)日志access_log記錄了所有對Web服務(wù)器的訪(fǎng)問(wèn)活動(dòng)。
這段時(shí)間公司的WEB服務(wù)器經(jīng)常出問(wèn)題,想在網(wǎng)上找一些關(guān)于A(yíng)pache日志的說(shuō)明,但是發(fā)現都比較老了!現在結合網(wǎng)上的一些文章,寫(xiě)一些我自己分析的心得!
當網(wǎng)站出問(wèn)題時(shí)分析日志,第一步一般都不會(huì )是看訪(fǎng)問(wèn)日志。但是也不能忽視它,在訪(fǎng)問(wèn)日志中記錄了很多的客戶(hù)信息,如果你有心,可以從這個(gè)日志中獲得很多有用的信息!
正如其名字所示,訪(fǎng)問(wèn)日志access_log記錄了所有對Web服務(wù)器的訪(fǎng)問(wèn)活動(dòng)。
下面是訪(fǎng)問(wèn)日志中一個(gè)典型的記錄:
10.1.1.95 - e800 [18/Mar/2005:12:21:42 +0800] "GET /stats/awstats.pl?config=e800 HTTP/1.1" 200 899 "
這行內容由9項構成,上面的例子中有兩項空白,但整行內容仍舊分成了9項。
第一項信息是遠程主機的地址。如果你想知道這個(gè)IP地址的域名,可通過(guò)nslookup或者host命令來(lái)查看。如果你想讓Apache自己找出這個(gè)IP的主機名,可以打開(kāi)這個(gè)開(kāi)關(guān):HostnameLookups。(建議最好不要打開(kāi),會(huì )影響Apache記錄服務(wù)器日志的速度)
第二項是空白,用一個(gè)"-"占位符替代。實(shí)際上絕大多數時(shí)候這一項都是如此。這個(gè)位置用于記錄瀏覽者的標識,這不只是瀏覽者的登錄名字,而是瀏覽者的email地址或者其他唯一標識符。這個(gè)信息由identd返回,或者直接由瀏覽器返回。很早的時(shí)候,那時(shí)Netscape 0.9還占據著(zhù)統治地位,這個(gè)位置往往記錄著(zhù)瀏覽者的email地址。然而,由于有人用它來(lái)收集郵件地址和發(fā)送垃圾郵件,所以它未能保留多久,很久之前市場(chǎng)上幾乎所有的瀏覽器就取消了這項功能。因此,到了今天,我們在日志記錄的第二項看到email地址的機會(huì )已經(jīng)微乎其微了。
第三項也是e800。這個(gè)位置用于記錄瀏覽者進(jìn)行身份驗證時(shí)提供的名字。當然,如果網(wǎng)站的某些內容要求用戶(hù)進(jìn)行身份驗證,那么這項信息是不會(huì )空白的。但是,對于大多數網(wǎng)站來(lái)說(shuō),日志文件的大多數記錄中這一項仍舊是空白的。
日志記錄的第四項是請求的時(shí)間。這個(gè)信息用方括號包圍,而且采用所謂的"公共日志格式"或"標準英文格式"。因此,上例日志記錄表示請求的時(shí)間是2005年3月18日12:21:42。時(shí)間信息最后的"+0800"表示服務(wù)器所處時(shí)區位于UTC之后的8小時(shí)。
日志記錄的第五項信息或許是整個(gè)日志記錄中最有用的信息,它告訴我們服務(wù)器收到的是一個(gè)什么樣的請求。該項信息的典型格式是"METHOD RESOURCE PROTOCOL",即"方法 資源 協(xié)議"。
RESOURCE是指瀏覽者向服務(wù)器請求的文檔,或URL。在這個(gè)例子中,瀏覽者請求的是"/stats/awstats.pl?config=e800 "。
在上例中,METHOD是GET,其他經(jīng)??赡艹霈F的METHOD還有POST和HEAD。此外還有不少可能出現的合法METHOD,但主要就是這三種。
PROTOCOL通常是HTTP,后面再加上版本號。
日志記錄的第六項信息是狀態(tài)代碼。它告訴我們請求是否成功,或者遇到了什么樣的錯誤。大多數時(shí)候,這項值是200,它表示服務(wù)器已經(jīng)成功地響應瀏覽器的請求,一切正常。一般地說(shuō),以2開(kāi)頭的狀態(tài)代碼表示成功,以3開(kāi)頭的狀態(tài)代碼表示由于各種不同的原因用戶(hù)請求被重定向到了其他位置,以4開(kāi)頭的狀態(tài)代碼表示客戶(hù)端存在某種錯誤,以5開(kāi)頭的狀態(tài)代碼表示服務(wù)器遇到了某個(gè)錯誤。
日志記錄的第七項表示發(fā)送給客戶(hù)端的總字節數。它告訴我們傳輸是否被打斷(即,該數值是否和文件的大小相同)。把日志記錄中的這些值加起來(lái)就可以得知服務(wù)器在一天、一周或者一月內發(fā)送了多少數據。
日志記錄的第八項記錄的是客戶(hù)在提出請求時(shí)所在的目錄或URL。這次的是" 日志記錄的第九項表示客戶(hù)端的詳細信息,這樣你就不難理解為什么有些網(wǎng)站能夠在頁(yè)面中顯示你的IP、OS、Browser了。
聯(lián)系客服