如何分析查看服務器日志文件?

2021-06-16    分類: 網(wǎng)站建設

網(wǎng)站日志,準確來說是服務器日志。通過服務器日志,我們可以了解到用戶在什么IP、在什么分辨率的設備、什么時間、什么地區(qū)訪問了我們的網(wǎng)站,以及當時訪問的頁面是否正常。

對于我們網(wǎng)站而言,搜索引擎也是網(wǎng)站用戶之一。本文提到的網(wǎng)站日志分析,更多是在分析搜索引擎這種用戶。


下面是一條標準的log file記錄:


202.71.113.38 – - [03/Jan/2014:01:56:12 +0800] "GET /http://www.mahaixiang.cn/SEO/index.html HTTP/1.0" 200 5122


從左到右,202.71.113.38就是遠程主機的IP;而登錄名和登錄全名指的是發(fā)起這個請求的用戶的名字,這個一般大家是不想要透露的了,所以遠程主機會禁止給出這兩個信息,log file當然就記錄不下來了,用兩個短中劃線代替。


然后,03/Jan/2014是請求發(fā)生的日期,01:56:12則是具體時間,之后的+0800是指比格林威治時間要晚8個小時,就是我們北京時間了。


再之后的GET是請求的方法,另一種方法是POST,可以簡單理解為GET就是索取,POST就是提交。


接著www.mahaixiang.cn/SEO/index.html是被請求文件的地址,可以是絕對地址也可以是相對地址。


HTTP/1.0是請求所遵守的協(xié)議,這里的協(xié)議是HTTP 1.0,整個記錄的結(jié)尾是兩個數(shù)字,其中200表示一種請求的狀態(tài),意思是請求一切正常(具體可查看馬海祥博客《解讀IIS日志中搜索引擎蜘蛛名稱代碼及爬尋返回代碼》的相關(guān)介紹)。


有時候這個數(shù)字會顯示為404(不明白怎么設置404的朋友,可查看馬海祥博客《你真的懂404頁面設置嗎》的相關(guān)介紹),相信大家一看到這個數(shù)字就頭痛,它表示請求的文件無法找到(file not found);又有時候,這個數(shù)字會顯示為301,表示頁面被重新定向到了別的地址。


最后的一個數(shù)字5593,表示所請求的文檔的長度為5122 bytes。


通用格式其實很簡單,但是里面的這11類記錄往往不足夠幫助我們進行更深入的分析,因此其他的一些記錄被加入進來,其中最重要的一些是:


①、請求來源(Referrer):指連接到被請求資源的網(wǎng)站的URL,如果請求時通過點擊一個鏈接時發(fā)生,那么這個項目就會被記錄;


②、客戶端(User Agent):記錄用戶的瀏覽器或者發(fā)出請求的程序的相關(guān)信息;


③、所需時間(Time Taken):從請求的發(fā)出到請求的資源全部傳輸完畢所需花費的時間;


④、Cookie:關(guān)于cookie的內(nèi)容請大家看馬海祥博客《基于Cookie信息的互聯(lián)網(wǎng)精準廣告定向技術(shù)研究》的這篇文章,在此,也就不多講了。


看起來,網(wǎng)站服務器日志所記錄的內(nèi)容是很有限的,比起我們動輒上萬行的編程實在是九牛一毛,但是,千萬別認為網(wǎng)站服務器日志文件會很小,對于一些大網(wǎng)站,每分每秒都有很多訪問者對網(wǎng)站服務器進行請求,所以日志文件會積少成多,成為巨型的數(shù)據(jù)文件。


有時候,一個小時的記錄就能超過數(shù)G的容量,如果你網(wǎng)站的服務器日志一個月才1M,那你就要加油了,沒有人氣的網(wǎng)站可沒有生命力。


利用網(wǎng)站服務器日志分析網(wǎng)站的優(yōu)點


如果你問我什么情況下,選擇用網(wǎng)站服務器日志來進行網(wǎng)站分析,我建議你如非必須,那么,還是尋找一些更容易的方法能夠事半功倍,看看后面的內(nèi)容,你就能知道我為什么這么說了。


盡管是個技術(shù)活,但是利用網(wǎng)站服務器日志進行網(wǎng)站分析還是有不少好處的。


(1)、網(wǎng)站服務器的日志是被你完全掌控的數(shù)據(jù)


所謂放在自己手心才是最放心的,這些日志在你的服務器中,如果不是h客入侵,數(shù)據(jù)不可能被你不希望的人獲?。ň唧w可查看馬海祥博客《如何通過IIS日志分析網(wǎng)站的隱形信息》的相關(guān)介紹)。


而且,只要你不刪除,它們永遠都在那里,在任何時候你都可以回溯歷史數(shù)據(jù),無論這些數(shù)據(jù)有多么久遠,有朝一日,你的網(wǎng)站大獲成功,這些日志也是一份奮斗歷史的見證。


(2)、能夠記錄機器人或自動程序?qū)W(wǎng)站的訪問


其次,前面講過,網(wǎng)站服務器的日志是記錄網(wǎng)站服務器行為的,因此任何服務器響應的請求都會被記錄下來,這些響應可能是應答用戶發(fā)出的請求,也完全可能是應答一些互聯(lián)網(wǎng)上自動程序發(fā)出的請求。


最常見的一種互聯(lián)網(wǎng)上的自動程序是搜索引擎的機器人,例如:百度的Baiduspider、Google的Googlebot,這意味著網(wǎng)站服務器日志能夠用來分析搜索引擎的訪問,并幫助我們優(yōu)化搜索引擎對網(wǎng)站的訪問。


講到這里,馬海祥請大家注意,并不是每一種網(wǎng)站分析方法都能做到這一點,我們最常用的為網(wǎng)站頁面加入標簽的方法是不能獲取搜索引擎流量的。


(3)、各個終端訪問的詳細記錄


網(wǎng)站服務器的日志能夠記錄網(wǎng)站服務器全部響應行為的特點還延伸出另外一個優(yōu)點,那就是無論是何種終端訪問服務器,都能把相關(guān)數(shù)據(jù)記錄下來。


現(xiàn)在,能夠訪問網(wǎng)站的終端越來越多了,我無聊的時候也試著用Sony的PSP上網(wǎng),用手機的GPRS也能輕松的瀏覽網(wǎng)頁,這些形形色 色的終端的訪問,服務器日志都會忠實的記錄,但頁面加入標簽的方法就可能完全行不通。


(4)、能夠探知文件是否完全下載


日志方法的另一個好處是能夠記錄文件下載的情況,如果你在網(wǎng)上下載一個MP3音樂,你在發(fā)出這個響應的時候,日志會記錄一個狀態(tài);你在下載完全的時候,日志照樣會記錄一個狀態(tài);如果你沒有下載完全,日志還是會記錄下來,這個,我想對那些提供下載服務的網(wǎng)站很有用。


(5)、數(shù)據(jù)獲取不依賴于第三方


通過日志獲取數(shù)據(jù)本身不需要額外的第三方的幫助,只要你的服務器在運轉(zhuǎn),日志就會源源不斷的被創(chuàng)建、保存。


不過,請注意,這里我所指的是數(shù)據(jù)的獲取不需要額外的支持,但是數(shù)據(jù)的分析一般而言,還是需要第三方的幫助的,直接去用肉眼讀日志文件中的數(shù)據(jù)進行分析是不可想象的。


(6)、不怕防火墻


最后,日志方法不懼怕防火墻或客戶端安全軟件的屏蔽,因為數(shù)據(jù)都是從服務器端獲取的。


看起來似乎不錯,不過凡事有利有弊,日志方法也肯定有它不能克服的不足


利用網(wǎng)站服務器日志分析網(wǎng)站的缺點


日志方法能夠起到作用的前提是服務器要響應來自客戶端的請求,如果客戶端的請求不通過服務器就得到了響應(這其實是經(jīng)常發(fā)生的),那么服務器日志法就無能為力了。


(1)、害怕網(wǎng)頁緩存


為了提高網(wǎng)站頁面的載入速度,人們發(fā)明了網(wǎng)頁緩存(Cache),在臺灣,Cache被翻譯作“快取”,似乎兼?zhèn)淞艘袅x。


網(wǎng)頁緩存的原理很容易理解,但卻是個了不起的發(fā)明,在緩存出現(xiàn)之前,人們訪問網(wǎng)站每次都需要把網(wǎng)頁從網(wǎng)站的服務器傳輸?shù)娇蛻舳说臑g覽器中,這個速度當然會有點兒慢,尤其是網(wǎng)絡條件不好的時候。


于是善動腦筋的人們發(fā)現(xiàn),每次訪問的網(wǎng)站其實有很多內(nèi)容是沒有更新的,如果能夠把那些不經(jīng)常更新的部分放在自己的電腦里面,每次打開網(wǎng)頁的時候,首先搜索自己電腦里面已經(jīng)有的內(nèi)容,然后再去服務器去尋找那些被更新了的部分,這樣服務器傳輸?shù)臄?shù)據(jù)量就會大大減少了,整個網(wǎng)頁也會被更快地顯示出來。


現(xiàn)在,我們大部分人的瀏覽器都設置了緩存,所以,有時候,你會發(fā)現(xiàn),即使網(wǎng)絡沒有接通,你訪問的網(wǎng)站似乎也能“正?!贝蜷_,只不過瀏覽器會顯示“脫機”狀態(tài),告訴你,這些內(nèi)容不是真正從服務器傳輸過來的。


除了客戶端(瀏覽器)能夠存放緩存的內(nèi)容外,代理服務器(Proxy)也能夠存放網(wǎng)頁緩存,目的同樣是為了提速。


你可以把代理服務器的緩存想象成CPU的“二級緩存”——當客戶端沒有存儲某個網(wǎng)頁的緩存的時候(“一級緩存”沒有內(nèi)容),瀏覽器就會尋找代理服務器緩存,看看有沒有內(nèi)容,如果還沒有,那才會再去尋找真正存放網(wǎng)頁內(nèi)容的網(wǎng)站服務器。


有了緩存,當你點擊瀏覽器的“回退按鈕”的時候,回退的上一個頁面就不需要再重新從服務器中下載一次,而是立即就呈現(xiàn)在你的面前,你常用的網(wǎng)站的打開速度也顯著提升了(具體可查看馬海祥博客《如何實現(xiàn)shtml頁面的局部緩存》的相關(guān)介紹)。


可是,對于通過服務器日志來獲取網(wǎng)站訪問數(shù)據(jù)的方法而言,這可不是一個好事情,由于緩存的存在,本來應該請求服務器的結(jié)果不需要請求了,服務器的日志什么也不會記錄下來,可是對頁面的訪問卻又實實在在的發(fā)生了,所以,緩存的存在會使日志方法低估網(wǎng)站的實際訪問量。


(2)、害怕Flash等“客戶端交互”內(nèi)容


現(xiàn)在,為了更具沖擊力的視覺效果和更豐富的網(wǎng)頁互動,很多網(wǎng)站都運用Flash、加入視頻、設計很多互動程序在網(wǎng)頁上已經(jīng)稀疏平常。


而這些元素,它們太獨立了,以至于當它們被載入到瀏覽器端了之后,完全可以在瀏覽器端運行而不再與服務器發(fā)生交互,或者只需要在必要的時候才與服務器發(fā)生交互。


比如,你玩普通網(wǎng)頁版的Flash 小游戲,一旦游戲下載完畢,你在玩的過程中跟網(wǎng)站服務器就不會有什么聯(lián)系了,或者你看網(wǎng)頁上的視頻,你在播放器上進行的暫停操作,一般也不會跟服務器進行互動。


還有,有一些腳本語言編寫的網(wǎng)頁程序,是在瀏覽器上被解釋執(zhí)行的,比如用JavaScript實現(xiàn)的網(wǎng)頁Tab標簽切換,在頁面全部載完后,無論你怎么切換Tab,服務器都感覺不到了。


服務器感覺不到,也就不會存在什么服務器日志記錄,也就不會有數(shù)據(jù),因此用日志方法是無法準確獲取“客戶端交互”類型的網(wǎng)站訪問行為的,這種情況下,必須選擇其他的數(shù)據(jù)收集方法。


(3)、不精確的訪問者記錄


日志方法辨別獨立訪問者需要依靠客戶端的IP地址,也只能依靠它,不過,IP地址顯然不代表真正的訪問者,上班族的整個辦公室的IP地址都可能是一個(使用代理服務器),而這個辦公室可能坐著十多個人。


同樣,在家中,如果你購買了公共網(wǎng)絡服務,那么你的IP地址存在動態(tài)分配的問題,你今天上網(wǎng)的IP地址和明天的可能就會不同,這個時候日志方法只能判斷為兩個不同的訪問者。


此外,前面提到過日志是能夠忠實記錄機器(非人為)的訪問活動的,但是機器不是人,它們的活動混在真實的人的訪問之中,同樣會使真實訪問者的數(shù)量,或者訪問數(shù)本身被高估。


在這正反兩相反方向的共同作用下,結(jié)果只能一個,那就是對于訪問者數(shù)量的估算是非常模糊的。


當然,我們必須要承認,無論用什么方法,網(wǎng)站訪問者的精確數(shù)量都無法獲得,但相對而言,日志方法要更不準確些。


(4)、較弱的實時性


網(wǎng)站服務器日志是記錄服務器運行的實時數(shù)據(jù)的,但是這些數(shù)據(jù)想要被取出分析,實時性就沒有那么好了。


常見的情況是,你必須首先把服務器日志文件(log file)從服務器中取出來,而這些文件肯定不會是服務器正在運行過程中的數(shù)據(jù),一般都是隔天的(需要驗證),然后再把這些日志文件導入到專門針對日志分析的工具中才能進行分析,這個過程的快慢依賴于你的熟練程度,但要追求實時,頗有難度。


有技術(shù)高超的站長或者工程師通過架設內(nèi)部網(wǎng)絡、組建專門的日志分析服務器,并且編寫特定的程序來解決日志分析的實時性問題,但是,對于普通的中小網(wǎng)站,這種方法難度頗大,花費不菲,所以可行性不強。


因此,實時性是絕大部分通過日志方法來分析網(wǎng)站數(shù)據(jù)時要面對的問題。


(5)、海量的數(shù)據(jù)存儲


服務器日志是忠實的,所以它會如實記錄下來每一分每一秒發(fā)生的每一條服務器響應。


對于一些流量稍大的網(wǎng)站,一天的網(wǎng)站日志記錄超過數(shù)個G(Gigabytes)是非常正常的,而那些大的網(wǎng)站,一個小時就可能產(chǎn)生數(shù)G的記錄。


我們沒有詹姆斯·卡梅隆的超級團隊(他的《阿凡達》特效需要處理超過500,000G的數(shù)據(jù)),所以如果要回溯網(wǎng)站一個月的流量就可能變成一個相當棘手的問題,需要投入相當?shù)臅r間和耐心,如果你沒有相當?shù)募夹g(shù)和經(jīng)驗,效率就會很低。


(6)、日志文件獲取繁瑣


我們不能把日志文件的獲取想象的太簡單,畢竟這不是在自己電腦中點開一個MP3文件那么容易,有些網(wǎng)站有鏡像服務器,有些服務器在境外,有些服務器是由處在多個不同地理位置的物理服務器邏輯組合而成。


這些情況下,在進行日志分析之前需要集中所有的日志文件,這是一個很有些麻煩的事情,尤其是當日志文件的體積極為龐大的時候。


另外,如果是租用的ISP服務器空間,如果沒有權(quán)限獲取日志數(shù)據(jù),那么實際上連進行分析的可能性 都沒有了。

本文標題:如何分析查看服務器日志文件?
分享地址:http://www.bm7419.com/news44/117844.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設、響應式網(wǎng)站用戶體驗、電子商務企業(yè)建站、虛擬主機

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)