Apache中access_log日志分析
生活随笔
收集整理的這篇文章主要介紹了
Apache中access_log日志分析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
當網站出問題時分析日志,第一步一般都不會是看訪問日志。但是也不能忽視它,在訪問日志中記錄了很多的客戶信息,如果你有心,可以從這個日志中獲得很多有用的信息!
?
訪問日志access_log記錄了所有對Web服務器的訪問活動。
正如其名字所示,訪問日志access_log記錄了所有對Web服務器的訪問活動。
?
?下面是訪問日志中一個典型的記錄:
?
10.1.1.95 - e800 [18/Mar/2005:12:21:42 +0800] "GET /stats/awstats.pl?config=e800 HTTP/1.1" 200 899 "http://10.1.1.1/pv/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Maxthon)"
?
?
??這行內容由9項構成,上面的例子中有兩項空白,但整行內容仍舊分成了9項。
?
???第一項信息是遠程主機的地址。如果你想知道這個IP地址的域名,可通過nslookup或者host命令來查看。如果你想讓Apache自己找出這個IP 的主機名,可以打開這個開關:HostnameLookups。(建議最好不要打開,會影響Apache記錄服務器日志的速度)
?
???第二項是空白,用一個"-"占位符替代。實際上絕大多數時候這一項都是如此。這個位置用于記錄瀏覽者的標識,這不只是瀏覽者的登錄名字,而是瀏覽者的 email地址或者其他唯一標識符。這個信息由identd返回,或者直接由瀏覽器返回。很早的時候,那時Netscape 0.9還占據著統治地位,這個位置往往記錄著瀏覽者的email地址。然而,由于有人用它來收集郵件地址和發送垃圾郵件,所以它未能保留多久,很久之前市 場上幾乎所有的瀏覽器就取消了這項功能。因此,到了今天,我們在日志記錄的第二項看到email地址的機會已經微乎其微了。
?
??第三項也是e800。這個位置用于記錄瀏覽者進行身份驗證時提供的名字。當然,如果網站的某些內容要求用戶進行身份驗證,那么這項信息是不會空白的。但是,對于大多數網站來說,日志文件的大多數記錄中這一項仍舊是空白的。
?
第四項是請求的時間。這個信息用方括號包圍,而且采用所謂的"公共日志格式"或"標準英文格式"。因此,上例日志記錄表示請求的時間是2005年3月18日12:21:42。時間信息最后的"+0800"表示服務器所處時區位于UTC之后的8小時。
?
??第五項信息或許是整個日志記錄中最有用的信息,它告訴我們服務器收到的是一個什么樣的請求。該項信息的典型格式是"METHOD RESOURCE PROTOCOL",即"方法 資源 協議"。
?
???RESOURCE是指瀏覽者向服務器請求的文檔,或URL。在這個例子中,瀏覽者請求的是"/stats/awstats.pl?config=e800 "。
?
???在上例中,METHOD是GET,其他經常可能出現的METHOD還有POST和HEAD。此外還有不少可能出現的合法METHOD,但主要就是這三種。
???
???PROTOCOL通常是HTTP,后面再加上版本號。
??
? 第六項信息是狀態代碼。它告訴我們請求是否成功,或者遇到了什么樣的錯誤。大多數時候,這項值是200,它表示服務器已經成功地響應瀏覽器的 請求,一切正常。一般地說,以2開頭的狀態代碼表示成功,以3開頭的狀態代碼表示由于各種不同的原因用戶請求被重定向到了其他位置,以4開頭的狀態代碼表 示客戶端存在某種錯誤,以5開頭的狀態代碼表示服務器遇到了某個錯誤。
??
???第七項表示發送給客戶端的總字節數。它告訴我們傳輸是否被打斷(即,該數值是否和文件的大小相同)。把日志記錄中的這些值加起來就可以得知服務器在一天、一周或者一月內發送了多少數據。
?
?? 第八項記錄的是客戶在提出請求時所在的目錄或URL。這次的是"http://10.1.1.1/pv/"即10.1.1.1的pv目錄下的首 頁。大多數情況下,首頁會是在httpd.conf中DocumentRoot 指令后面規定的那些類型和名字的web文件。
?
???第九項表示客戶端的詳細信息,這樣你就不難理解為什么有些網站能夠在頁面中顯示你的IP、OS、Browser了。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Apache中access_log日志分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 公安部警用装备采购中心民警购车优惠多少
- 下一篇: 领航M5轻卡能拉多少吨?操控性好不好?