WEB日志格式及分析
網(wǎng)站日志挖掘分析-WEB日志格式及分析工具
WEB日志是網(wǎng)站分析和網(wǎng)站數(shù)據(jù)數(shù)據(jù)整理最基礎(chǔ)的數(shù)據(jù),了解其格式和組成將有利于更好地進(jìn)行數(shù)據(jù)的收集、處理和分析。
一、日志格式類型
目前常見(jiàn)的WEB日志格式主要由兩類,一類是Apache的NCSA日志格式,另一類是IIS的W3C日志格式。NCSA格式又分為NCSA普通日志格式(CLF)和NCSA擴(kuò)展日志格式(ECLF)兩類,目前最常用的是NCSA擴(kuò)展日志格式(ECLF)及基于自定義類型的Apache日志格式;而W3C擴(kuò)展日志格式(ExLF)具備了更為豐富的輸出信息,但目前的應(yīng)用并不廣泛,所以這里主要介紹的是NCSA擴(kuò)展日志格式(ECLF)。
二、常見(jiàn)日志格式的組成
這是一個(gè)最常見(jiàn)的基于NCSA擴(kuò)展日志格式(ECLF)的Apache日志樣例:
58.61.164.141 – – [22/Feb/2010:09:51:46 +0800] “GET / HTTP/1.1″ 206 6326 ” http://www.google.cn/search?q=webdataanalysis” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)” |
可以看到這個(gè)日志主要由以下幾個(gè)部分組成:
訪問(wèn)主機(jī)(remotehost)顯示主機(jī)的IP地址或者已解析的域名。
標(biāo)識(shí)符(Ident)由identd或直接由瀏覽器返回瀏覽者的EMAIL或其他唯一標(biāo)示,因?yàn)樯婕坝脩羿]箱等隱私信息,目前幾乎所有的瀏覽器就取消了這項(xiàng)功能。
授權(quán)用戶(authuser)用于記錄瀏覽者進(jìn)行身份驗(yàn)證時(shí)提供的名字,如果需要身份驗(yàn)證或者訪問(wèn)密碼保護(hù)的信息則這項(xiàng)不為空,但目前大多數(shù)網(wǎng)站的日志這項(xiàng)也都是為空的。
日期時(shí)間(date)一般的格式形如[22/Feb/2010:09:51:46 +0800],即[日期/月份/年份:小時(shí):分鐘:秒鐘時(shí)區(qū)],占用的的字符位數(shù)也基本固定。
請(qǐng)求(request)即在網(wǎng)站上通過(guò)何種方式獲取了哪些信息,也是日志中較為重要的一項(xiàng),主要包括以下三個(gè)部分:
請(qǐng)求類型(METHOD)常見(jiàn)的請(qǐng)求類型主要包括GET/POST/HEAD這三種;
請(qǐng)求資源(RESOURCE)顯示的是相應(yīng)資源的URL,可以是某個(gè)網(wǎng)頁(yè)的地址,也可以是網(wǎng)頁(yè)上調(diào)用的圖片、動(dòng)畫、CSS等資源;
協(xié)議版本號(hào)(PROTOCOL)顯示協(xié)議及版本信息,通常是HTTP/1.1或HTTP/1.0。
狀態(tài)碼(status)用于表示服務(wù)器的響應(yīng)狀態(tài),通常1xx的狀態(tài)碼表示繼續(xù)消息;2xx表示請(qǐng)求成功;3xx表示請(qǐng)求的重定向;4xx表示客戶端錯(cuò)誤;5xx表示服務(wù)器錯(cuò)誤。
傳輸字節(jié)數(shù)(bytes)即該次請(qǐng)求中一共傳輸?shù)?字節(jié)數(shù)。
來(lái)源頁(yè)面(referrer)用于表示瀏覽者在訪問(wèn)該頁(yè)面之前所瀏覽的頁(yè)面,只有從上一頁(yè)面鏈接過(guò)來(lái)的請(qǐng)求才會(huì)有該項(xiàng)輸出,如果是新開的頁(yè)面則該項(xiàng)為空。上例中來(lái)源頁(yè)面是google,即用戶從google搜索的結(jié)果中點(diǎn)擊進(jìn)入。
用戶代理(agent)用于顯示用戶的詳細(xì)信息,包括IP、OS、Bowser等。
三、日志格式擴(kuò)展
apache日志格式可以自定義來(lái)配置其輸出格式,常見(jiàn)的基于NCSA擴(kuò)展日志格式(ECLF)自定義添加的包括域名(domain)和cookie。其中域名在一個(gè)網(wǎng)站擁有二級(jí)域名或者子域名時(shí),可以更好地區(qū)分日志;而cookie可以作為用戶的身份標(biāo)識(shí)。其他具體的自定義信息詳見(jiàn):Custom Log Formats
四、導(dǎo)入日志數(shù)據(jù)到MySQL中
訪問(wèn)分析是SEO的一項(xiàng)重要工作,但統(tǒng)計(jì)、分析工具畢竟功能是針對(duì)大眾的,很多時(shí)候SEO需要一些特定的數(shù)據(jù),是統(tǒng)計(jì)分析軟件、程序所不能提供的。這樣,直接的Web日志分析就是最合適的了,日志中會(huì)記錄每一個(gè)訪問(wèn)情況,只要按自己的意愿提取、組合,就能得到想要的數(shù)據(jù)。使用SQL語(yǔ)句分析是最方便的,需要什么樣的數(shù)據(jù),只要使用相應(yīng)的SQL命令就能實(shí)現(xiàn)。
導(dǎo)入Web日志到MySQL數(shù)據(jù)庫(kù)的實(shí)現(xiàn)
1、修改Apache日志格式
修改Web日志格式為:
?
1
|
Logformat combined %>a, %ui , %un ,[ %tl ],” %rm %ru HTTP/ %rv ”, %Hs , %h ”,”%{User-Agent}>h”, %Ss : %Sh |
SQL需要導(dǎo)入的內(nèi)容有特定的分隔符,Apache的日志默認(rèn)是以空格分隔的,而有些內(nèi)容(如狀態(tài)碼中的 200 610)也包含空格,這就無(wú)法準(zhǔn)確的導(dǎo)入。將日志格式修改為以逗號(hào)分隔,就能準(zhǔn)確的導(dǎo)入了。還可以根據(jù)自己的需要,取消日志格式中不需要的內(nèi)容,減少日志文件大小。
2、建立MySQL數(shù)據(jù)表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
drop table if exists weblog; create table weblog ( id int unsigned auto_increment PRIMARY KEY not null , l_date date , l_time time , c_ip varchar (15), s_ip varchar (15), s_port varchar (5), method varchar (10), path varchar (255), query varchar (255), status varchar (3), domain varchar (50), system varchar (200) ); |
注:上面只是一個(gè)MySQL數(shù)據(jù)表結(jié)構(gòu)范例,沒(méi)有與上一步日志格式對(duì)應(yīng),請(qǐng)勿直接復(fù)制使用!
新建一個(gè)數(shù)據(jù)庫(kù),數(shù)據(jù)表結(jié)構(gòu)與日志格式對(duì)應(yīng)起來(lái)。
3、導(dǎo)入日志到MySQL中
1
|
LOAD DATA INFILE ’/日志位置/日志文件’ INTO TABLE weblog FIELDS TERMINATED BY ‘,’; |
weblog 對(duì)應(yīng)上面的數(shù)據(jù)表名。
另外,樂(lè)思蜀從網(wǎng)上找到一個(gè)將IIS日志導(dǎo)入到MySQL數(shù)據(jù)庫(kù)的.pl程序,需要的點(diǎn)這里下載(Readme.txt為使用說(shuō)明)。
五、常用日志分析工具
1.awstats
2.analog
3.webalizer
4.PHPMyVisites
【W(wǎng)EB日志格式及分析】相關(guān)文章:
WEB日志格式01-21
關(guān)于Web日志的研究分析11-10
駐村工作日志格式及范文12-19
暑假日志格式07-12
教師實(shí)習(xí)日志格式07-21
面向電子商務(wù)的Web日志挖掘系統(tǒng)11-10
施工日志格式要求01-10
工作日志格式要求01-10