日誌統計系統在網站的使用者行為分析中扮演了重要的角色,尤其是對於來自搜尋引擎的關鍵字存取統計:是很有效的使用者行為分析資料來源。隨著網路多年的發展,WEB日誌統計工具已經越來越成熟,功能也越來越豐富。其中有許多是開放原始碼的, AWStats就是其中非常優秀的一款。
簡要安裝說明如下:
安裝
http://sourceforge.net/projects/awstats/ 下載安裝包後:
GNU/Linux:tar zxf awstats-version.tgz
awstats的腳本和靜態檔案缺省都在wwwroot目錄下:將cgi-bin目錄下的檔案都部署到cgi-bin/目錄下:/home/apache/cgi-bin/awstats/
mv awstats-version/wwwroot/cgi-bin /path/to/apache/cgi-bin/awstats
把圖示等檔案目錄複製到WEB的HTML檔案發布目錄下,例如:/home/apache/htdocs/ 下發布
更多的批次更新腳本等在tools 目錄下,可以一併放到cgi-bin/awstats/ 目錄下
升級國內主要搜尋引擎和蜘蛛定義,安裝GeoIP的應用程式庫:C
http://www.maxmind.com/download/geoip/api/c/ 解包,編譯安裝
perl -MCPAN -e 'install "Geo::IP"' 或使用純Perl套件perl -MCPAN -e 'install "Geo::IP::PurePerl"'
下載GeoIP/GeoIPCityLite套件:解包並部署到awstats目錄下
http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz
配置
將缺省awstats.model.conf 命名成common.conf
修改其中的一些配置選項:
LoadPlugin="decodeutfkeys"
LoadPlugin="geoip GEOIP_STANDARD /home/apache/chedong.com/cgi-bin/awstats/GeoIP.dat"
LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /home/apache/chedong.com/cgi-bin/awstats/GeoLiteCity.dat"
建立awstats下建立:data 目錄用於統計資料輸出
按照一下範例設定設定檔:
Include "common.conf"
LogFile="/home/apache/logs/access_log.%YYYY-24%MM-24%DD-24"
SiteDomain="www.chedong.com"
HostAliases="chedong.com"
DefaultFile="index.html"
DirData="/home/apache/cgi-bin/awstats/data/"
內容摘要:AWStats的使用簡介和配置一些改進說明。很高興看到在AWStats 6.3版本開始:中文使用者基本上已經只需要將設定檔中將LoadPlugin="decodeutfkeys" 啟用基本上就沒有什麼中文搜尋引擎的統計問題了,目前增加了# Minor chinese search engines ' baidu.com','search.sina.com','search.sohu.com',這3個搜尋引擎。包含了針對國內主要搜尋引擎和蜘蛛定義的補丁(解包後覆蓋lib目錄下的原程式目錄即可)
[Cut-Page]
日誌統計系統在網站的使用者行為分析中扮演了重要的角色,尤其是對於來自搜尋引擎的關鍵字存取統計:是很有效的使用者行為分析資料來源。隨著網路多年的發展,WEB日誌統計工具已經越來越成熟,功能也越來越豐富。其中有許多是開放原始碼的, AWStats就是其中非常優秀的一款。
AWStats:Advanced Web Statistics
AWStats是在Sourceforge上發展很快的一個基於Perl的WEB日誌分析工具。相對於另一個非常優秀的開放原始碼的日誌分析工具Webalizer,AWStats的優勢在於:
介面友善:可依瀏覽器直接呼叫對應語言介面(有簡體中文版)
參考輸出範例:http://www.chedong.com/cgi-bin/awstats/awstats.pl? config=chedong
基於Perl:並且很好的解決了跨平台問題,系統本身可以運行在GNU/Linux上或Windows上(安裝了ActivePerl後);分析的日誌直接支援Apache格式(combined)和IIS格式(需要修改)。 Webalizer雖然也有Windows平台版,但目前已經缺乏維護;
AWStats完全可以實現用一套系統完成對自身網站不同WEB伺服器:GNU/Linux/Apache和Windows/IIS伺服器的統一統計。
效率比較高:AWStats輸出統計項目比Webalizer豐富了很多,速度仍可以達到Webalizer的1/3左右,對於一個日訪問量百萬級的站點,這個速度都是足夠的;
配置/客製方便:系統提供了足夠靈活但缺省也很合理的配置規則,需要修改的缺省配置不超過3,4項就可以開始運行,而且修改和擴展的插件還是比較多的;
AWStats的設計者是針對精確的"Human visits"設計的,因此許多搜尋引擎的機器人存取都被過濾掉了,因此有可能比其他日誌統計工具統計的數字要低,來自公司內部的訪問也可以通過IP過濾設定過濾掉。
提供了許多擴充的參數統計功能:使用ExtraXXXX系列配置產生針對特定應用的參數分析會對產品分析非常有用。
更多與其他工具:Webalizer, analog的比較請參考:
http://awstats.sourceforge.net/#COMPARISON
[Cut-Page]
AWStats安裝備忘
AWStats的運作模式是這樣的:
分析日誌:運行後將這樣的日誌統計結果歸檔到一個AWStats的資料庫(純文字)裡;
然後是輸出:分兩種形式
一種是透過cgi程式讀取統計結果資料庫輸出;
一種是運行後台腳本將輸出導出成靜態檔案;
以下是2個針對單一網站日誌統計範例:
一個是在GNU/Linux上透過CGI方式的輸出,
一個是在Windows 2000上的基於靜態頁面的匯出
下載/安裝
http://sourceforge.net/projects/awstats/ 下載安裝包後:
GNU/Linux:tar zxf awstats-version.tgz
awstats的腳本和靜態檔案缺省都在wwwroot目錄下:將cgi-bin目錄下的檔案都部署awstats.pl程式到/home/apache/cgi-bin/awstats/ 下
mv awstats-version/wwwroot/cgi-bin /path/to/apache/cgi-bin/awstats
#把圖示等檔案目錄複製到WEB的HTML檔案發布目錄下:/home/apache/htdocs/ 下發布
更多的批次更新腳本等在tools 目錄下,可以一併放到cgi-bin/awstats/ 目錄下,
Windows 2000:依照後台腳本模式執行,直接解包,然後移到D:AWStats目錄下
把圖標icon目錄複製到IIS的發布目錄下:inetpub/icon
[Cut-Page]
資料來源日誌格式和按天的截斷規則
對於Apache:日誌格式好設定:設定成combined格式即可,日誌截斷麻煩一點:需要安裝cronolog工具,將日誌設定成按天截斷:
CustomLog "|/usr/local/sbin/cronolog /path/to/apache/logs/access_log.%Y%m%d" combined
如:logs/access_log.20030326
日誌是壓縮格式,可以使用gzip -d < /home/apache/logs/access_log.%YYYY-24%MM-24%DD-24.gz | 動態解壓縮統計。
對於IIS:預設有比較好的日誌按天截斷規則,但是IIS的日誌格式比較不適合AWStats統計,
因此最好直接去掉所有日誌字段,然後嚴格按照以下列表設置
日期date
時間time
客戶IP位址c-ip
使用者名稱cs-username
方法cs-method
URI資源cs-uri-stem
協定狀態sc-status
傳送位元組數sc-bytes
協定版本cs-version
用戶代理cs(User-Agent)
參照cs(Referer)
相比IIS缺省設定:
減少的有:
伺服器IP位址
伺服器連接埠
URI查詢
增加的有:
傳送位元組數
協議版本
參照
設定檔的命名規則:awstats.sitename.conf
AWStats的主程式awstats.pl會自動根據網站名稱呼叫對應網站的設定檔:awstats.sitename.conf
例如:運行./awstats.pl -config=chedong 呼叫的就是同目錄下的awstats.chedong.conf 設定檔;
如果沒有指定-config,也會找目前目錄下的awstats.conf或/etc/awstats.conf作為缺省設定檔。
所以最好把缺省的awstats.model.conf 重新命名成awstats.yoursite.conf;例如:awstats.chedong.conf,
對於多個站點的統計,AWStats的設定檔包含功能還是非常有用的,我們可以把通用的配置放在一個文檔中,然後用(5.4版本以後開始支援) Include配置將通用配置包含在各個具體配置文件的頭部,然後用其他配置覆蓋通用配置中的對應屬性,例如:
Include="common.conf"
LogFile="/path/to/bbs/access_log"
SiteName="bbs.chedong.com"
最少的設定檔修改:LogFile SiteDomain LogFormat
對於在GNU/Linux上統計Apache日誌只需修改:LogFile SiteDomain這2個選項
GNU/Linux LogFile="/path/to/apache/logs/access_log.%YYYY-24%MM-24%DD-24"
Windows 2000 LogFile="d:iis_logsW3SV3ex%YY-24%MM-24%DD-24.log"
這個配置的意思是用24小時前的年份,月份,日期拼出的日誌檔名;
SiteDomain="www.chedong.com"
站點的名稱,缺省是空的,如果為空,AWStats將拒絕運行;
對於統計IIS日誌需要多修改一個:
LogFormat=2
預設值是1:Apache日誌,2是IIS日誌
[Cut-Page]
其他需要注意的事項:
AWStats缺省不過濾swf文件,會把.swf算成PageView,所以如果站點上swf文件主要是廣告的話最好還是要過濾掉:
日誌分析
./awstats.pl -update -config=sitename -lang=cn
如:./awstats.pl -update -config=chedong
會自動呼叫awstats.chedong.conf這個設定文件
統計輸出
GNU/Linux http://localhost/cgi-bin/awstats/awstats.pl? config=chedong
Windows 2000 http://localhost/awstats/awstats.chedong.html
日誌統計自動運行
GNU/Linux上:crontab -e:每天8點10分運行
#update awstats
10 8 * * * (cd /path/to/apache/cgi-bin/awstats/; ./awstats.pl -update -config=chedong)
Windows 2000上:設定每天8點10分運行
D:Perlbinperl.exe d:AWStatstoolsawstats_buildstaticpages.pl -update -config=chedong -lang=cn -dir=c:inetpubawstats -awstatsprog=d:awstatswwwroot cgi-binawstats.pl
多站點日誌統計
AWStats自帶了一個批次工具:tools/awstats_updateall.pl,可以批次地遍歷一個目錄下所有地設定檔並執行統計。因此剩下的工作就主要是日誌的同步問題了。
針對多個站點,許多配置選項是重複的,如果每個配置文件都修改維護起來會很麻煩,AWStats從5.4版本開始提供了配置文件包含的功能,所以我們可以配置一個通用配置,例如:common. conf
然後其他站點的配置設定為:可以透過後面的選項覆蓋和缺省不一致的配置。
awstats.bbs.chedong.conf
Include "chedong.common.conf"
LogFile "/path/to/bbs_log"
SiteName "bbs.chedong.com"
awstats.www.chedong.conf
Include "chedong.common.conf"
LogFile "/path/to/www_log"
SiteName "www.chedong.com"
HostAliases="chedong.com"
統計指標說明
參觀者:依訪客不重複的IP統計,IP代表一個參觀者;
參觀次數:一個參觀者可能1天之內參觀多次(例如:上午一次,下午一次),所以按一定時間內(例如:1個小時),不重複的IP數統計,參觀者的訪問次數;
網頁數:不包括圖片,CSS, JavaScript文件等的純頁面訪問總數,但如果一個頁面使用了多個幀,每個幀都算一個頁面請求;
文件數:來自瀏覽器客戶端的文件請求總數,包括圖片,CSS,JavaScript等,用戶請求一個頁面是,如果頁面中包含圖片等,所以對伺服器會發出多次文件請求,文件數一般遠大於文件數;
位元組:傳給客戶端的資料總流量;
來自REFERER中的資料:日誌中的參考(REFERER)字段,記錄了訪問對應網頁之前地址,因此如果使用者是透過搜尋引擎的搜尋結果點擊進入網站的,日誌中就會有使用者在對應搜尋引擎的查詢位址,這個位址中就可以透過解析將使用者查詢所使用的關鍵字提取出來:
比如:
2003-03-26 15:43:58 123.123.123.123 - GET /index.html 200 192 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) http://www. .com/search? q=chedong
AWStats在搜尋引擎的關鍵字詞和關鍵字統計方面的功能還是比較完整的:可以對全世界3百多種機器爬蟲進行識別,並且可以識別大部分主流國際化搜尋引擎和很多地區的本地語言搜尋引擎。
[Cut-Page]
Hacking AWStats
基於地理資訊的插件安裝:
GeoIP 和Geo::IPfree(awstats 5.5+)
GeoIP和Geo::IPfree都免費的是國家/IP的影射表,比透過DNS反相解析網域得到的統計準確,而且速度快。 GeoIP的API都是免費的,缺省庫是免費的,收費的是它的資料更新服務。 Geo::IPfree不僅程式碼是公開的,而且庫資料也是公開的。
GeoIP安裝:
先下載C庫:GeoIP C解包後
%./configure; make
#make install
然後下載Perl庫:GeoIP Perl解包後
%perl MakeFile.PL; make
#make install
Geo::IPfree安裝:
下載Geo::IPfree解包後
%perl Makefile
%make
#make install
配置:透過在設定檔中啟用GEOIP相關外掛程式:
LoadPlugin="geoip GEOIP_STANDARD /home/apache/chedong.com/cgi-bin/awstats/GeoIP.dat"
LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /home/apache/chedong.com/cgi-bin/awstats/GeoLiteCity.dat"
MaxMind目前免費提供了GeoIP和GeoIPCityLite資料包:可以定期每月從以下位址下載
http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz
[Cut-Page]日誌統計系統在網站的使用者行為分析中扮演了重要的角色,尤其是對於來自搜尋引擎的關鍵字存取統計:是很有效的使用者行為分析資料來源。隨著網路多年的發展,WEB日誌統計工具已經越來越成熟,功能也越來越豐富。其中有許多是開放原始碼的, AWStats就是其中非常優秀的一款。
AWStats:Advanced Web Statistics
AWStats是在Sourceforge上發展很快的一個基於Perl的WEB日誌分析工具。相對於另一個非常優秀的開放原始碼的日誌分析工具Webalizer,AWStats的優勢在於:
介面友善:可依瀏覽器直接呼叫對應語言介面(有簡體中文版)
參考輸出範例:http://www.chedong.com/cgi-bin/awstats/awstats.pl? config=chedong
基於Perl:並且很好的解決了跨平台問題,系統本身可以運行在GNU/Linux上或Windows上(安裝了ActivePerl後);分析的日誌直接支援Apache格式(combined)和IIS格式(需要修改)。 Webalizer雖然也有Windows平台版,但目前已經缺乏維護;
AWStats完全可以實現用一套系統完成對自身網站不同WEB伺服器:GNU/Linux/Apache和Windows/IIS伺服器的統一統計。
效率比較高:AWStats輸出統計項目比Webalizer豐富了很多,速度仍可以達到Webalizer的1/3左右,對於一個日訪問量百萬級的站點,這個速度都是足夠的;
配置/客製方便:系統提供了足夠靈活但缺省也很合理的配置規則,需要修改的缺省配置不超過3,4項就可以開始運行,而且修改和擴展的插件還是比較多的;
AWStats的設計者是針對精確的"Human visits"設計的,因此許多搜尋引擎的機器人存取都被過濾掉了,因此有可能比其他日誌統計工具統計的數字要低,來自公司內部的訪問也可以通過IP過濾設定過濾掉。
提供了許多擴充的參數統計功能:使用ExtraXXXX系列配置產生針對特定應用的參數分析會對產品分析非常有用。
更多與其他工具:Webalizer, analog的比較請參考:
http://awstats.sourceforge.net/#COMPARISON