[軟體使用] AWStats 分析您的Log檔
- Posted by mouson on 2008/04/13 09:10
- 閱讀 (14975) | 迴響 | 引用(1) | 軟體使用
一直以來都沒有因為主機流量需求而造成困擾,到最近,AZhu Blog System的主機開始有了流量限制的問題,於是陸陸續續做了一些調整的動作,也才開始注意到流量控制的重要性,於是開始尋找一些流量統計、流量分析的軟體,最後找到了AWStats (http://awstats.sourceforge.net/)。
AWStats(Advanced Web Statistics)是一套擁有相當多紀錄檔分析功能的Open Source軟體,其也有相當久的一段歷史了,目前主要可以支援Web Server Apache(NCSA combined/XLF/ELF log format or common/CLF log format)、WebStar、IIS(W3C log format)和一些FTP Server及mail Server的分析。
由於AWStats主要使用Perl所編寫的程式,所以只要是可以運行Perl的環境,也都可以運作,在網路上其實已經有相當多的安裝流程說明,像是「Freeware 免費軟體 - [教學] 超級網站記錄分析 Awstats 安裝指南(windows)」及「blog教學III--誰在看你的Blog?」都寫的非常的完整,我在安裝時大致上就是參考上述的兩份文件來完成安裝的,因此在這篇文章中,我也就不再由細節中去分享我的使用安裝心得,就大致上去說明我所遇到的一些問題,以及需要注意的細節。
首先,大致上列出目前的主機系統的環境:
OS:Windows 2003 Service Pack 2
WebServer:Apache 2.2
Perl:ActivePerl 5.8
AWStats:Version 6.7
我在安裝時,大致上遇到了以下的幾個問題:
1. Perl在安裝後卻無法使用
2. Apache無法運行AWStats
3. Apache無法執行pl程式
4. AWStats無法顯示Log檔
5. AWStats在顯示時,頁面無法針對utf8的字體正常顯示
1. Perl在安裝後卻無法使用
首先是第一個Perl安裝的問題,其實從ActivePerl網站上面下載Active Perl 5.8下來之後,安裝時,只需要連續選擇下一步(Next)其實就可以完成安裝了,在安裝完畢之後,之所以還無法在Command Mode上面使用Perl,主要是,您需要先「從新開機一次」,就可以解決這個問題了。
要確認Perl是否安裝完成,您只需要在Command Mode下輸入「perl -version」如果有如下方圖示一樣正常顯示目前的Perl版本的話,那就是已經完成安裝,且可以正常的使用了。
2. Apache無法運行AWStats
由於在我的主機上,所有的網站主要採用Virtual Host(VHost)的方式來設立,因此並無法像前面所述的教學文件一樣,單純的只是在httpd.conf設定Alias、ScriptAlias及Directory權限即可,以我自己的環境,其實與一般只有一個實體Host的環境設定也沒有甚太大的差異,只需要在要運行AWStats的VHost設定下新增如上述教學文件所提到的Alias、ScriptAlias及Directory權限即可。
3. Apache無法執行pl程式
其實這個問題在教學文件中也有提到,只是自己少做了這個步驟,其無法執行Perl程式您首先會在Web頁面上看到如下的錯誤訊息。
500 Internal Server Error
會在Apache Log檔上看到類似下方所說得錯誤訊息。
couldn't create child process: 720002: awstats.pl
couldn't spawn child process: C:/ProgramFiles/AWStats/wwwroot/cgi-bin/awstats.pl
所以如果您在執行時,無法看到AWStats正常的頁面,那就表示,您的AWStats目前無法使用Perl,在我本機之所以無法於Apache上使用Perl所編寫的程式原因是並沒有去修正awstats.pl的第一行程式,修改目前執行環境perl.exe的位置。
要知道您目前環境的perl.exe位置,您只需要如教學網頁上所說的,於瀏覽器上瀏覽「http://your-host/cgi-bin//printenv.pl 」在頁面上會看到如下方的訊息
*** Please define header of file *.pl or *.cgi with
#!c:\perl\bin\perl.exe
您只需要將訊息的第二行粗體的部份複製起來,然後使用文書編輯器打開awstats.pl,並將第一行程式「#!/usr/bin/perl」置換掉就可以完成無法執行pl程式的問題處理。
4. AWStats無法顯示Log檔
會發生已經可以執行AWStats但卻又一直看不到Log的訊息,主要是因為自己犯的小錯,在所有環境都設定完之後,必需要執行第一次的update,但請注意其update的執行程序應為「awstats.pl -config=YOUR_SITE –update」而非「awredir.pl -config=YOUR_SITE –update」,當您正常的執行update之後,您可以看到畫面中出現如下方的畫面。
Create/Update database for config "C:\ProgramFiles\AWStats\wwwroot\cgi-bin/awsta
ts.www.optik.idv.tw.conf" by AWStats version 6.7 (build 1.892)
From data in log file "C:/ProgramFiles/AWStats/tools/logresolvemerge.pl D:/Apach
eLogs/*Gary_WordPress*.log |"...
Phase 1 : First bypass old records, searching new record...
Searching new records from beginning of log file...
Phase 2 : Now process new records (Flush history on disk after 20000 hosts)...
Jumped lines in file: 0
Parsed lines in file: 103296
Found 0 dropped records,
Found 17669 corrupted records,
Found 85451 old records,
Found 176 new qualified records.
當您可以看到如上方的畫面時,也就是已經正常的完成Update的動作了,在瀏覽器上面輸入網址「http://your-site/awstats/awstats.pl?config=YOUR_SITE 」就可以看到正常的AWStats報表了!
5. AWStats在顯示時,頁面無法針對utf8的字體正常顯示
當可以正常的顯示畫面之後,卻發現在網站關鍵字的地方,會出現亂碼,而在頁面上點選右鍵->編碼選擇utf-8之後,又會發現關鍵字的地方已經正常顯示了,但是其他地方的文字卻又變成亂碼,我想這方面的問題應該許多人都有遇到,因此在Google搜尋了「awstats utf 8」果然找到了許多的解決方案,我是先用Jamyy's Weblog上所提到的「讓 AWStats 顯示 UTF-8 繁體中文」來解決問題的,但是後來才知道,「在 Awstats ChangeLog 就有寫到 6.0 開始加入 decodeUTFkeys 這個 plugin 來處理搜尋引擎的 UTF8 關鍵字」,因此只需要在awstats.xxx.conf找到「#LoadPlugin="decodeutfkeys"」(大概在126x行)並且將#字註解去掉即可。
以上的方法主要是參考Neo's blog上面所提到的「Awstats 正常顯示搜尋引擎 UTF-8 關鍵字的方法」。
上述的相關解決方案大致上都是透過搜尋來找到答案的,因此也參考了相當多的教學文件,如果您有興趣的話,也可以看看以下的這些連結。
1. 笔记 by 车东 - AWStats简介:Apache/IIS的日志分析工具
2. 記載著 Will 在網路世界的學習心得與技術分享 - 在 Windows 主機設定 AWStats 流量分析軟體
3. Neo's Blog - awstats 加入/重新計算分析某時段的方法
4. 無聊人的無聊小站 - AWStats 安裝設定教學
5. 使用AWSTATS分析www, mail, ftp 記錄檔
隨機文章
分享
引用網址
引用
【亂談亂記】於 2009/03/23 15:03 引用
引用本文的文章標題: 紀錄分析-SWStats這個站本來的用途是一個實驗及開發站,所以分析log的工作就變的很重要,從google大神那找到墨嗓大的說明,一個好用的log分析軟體-AWStats。 下載,解壓,移到要放的地方,執行perl awstats-confi...





