站長新書 站長開講 首頁 最新文章 站長著作及審校 FreeBSD 筆記 Linux 筆記 Windows 筆記 虛擬化筆記 網管人雜誌 遊山玩水 關於本站
站長新書 VMware vSphere ICM 團購開跑了!!

Awstats-分析 MailLog 產生流量圖

前言

[AWStats - Advanced Web Statistics] 為一套遵循 GPL 協議的開放源始碼 Log 分析器,它能夠幫助您分析包括使用者、使用者資訊、訪問頁面數、點擊數、更新時間、作業系統、瀏覽器版本、搜索引擎、關鍵字、錯誤鏈接...等等,支援所有的 Web 伺服器所產生的 Log。

[AWStats] 可分析的 Log 類型如下:

[AWStats 官網 Web Screenshots]

[AWStats 官網 FTP Screenshots]

[AWStats 官網 Mail Screenshots]

實作環境

安裝及設定

步驟1.安裝 awstats 套件

切換至 Ports Tree 路徑安裝 awstats 套件

 #cd /usr/ports/www/awstats/                                     //切換至安裝路徑  
 #make install clean                                             //安裝並清除安裝過程中不必要的檔案 

步驟2.修改 awstats 設定檔 (awstats.conf)

安裝完成後請複製 awstats 範例檔來進行修改,而為何下列 awstats 設定檔會命名為 awstats.mail.conf? 因為 AWStats 可以分析不同種類的 Log 所以我將分析 Mail 所以設定檔命名為 awstats.mail.conf,而 awstats_maillogconvert.pl 功用於將 Mail Log 轉換成 Awstats 可分析格式檔案。

 #cd /usr/local/www/awstat/cgi-bin/                              //切換路徑 
 #cp awstats.model.conf awstats.mail.conf                        //複製預設檔來進行後續修改
 #vi awstats.mail.conf                                           //修改 awstats 設定檔(內容如下)
 LogFile="/var/log/apache/access.log"                            //預設值,讀取 Log 檔路徑
 LogFile="perl /usr/local/bin/awstats_maillogconvert.pl standard < /var/log/maillog|"      //修改後
 LogType=W                                                       //預設值,指定所要分析 Log 類型 (W - For a web log file)
 LogType=M                                                       //修改後,指定分析 Mail Log (M - For a mail log file)
 LogFormat = "%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot"  //預設值,指定 Log 欄位格式
 LogFormat="%time2 %email %email_r %host %host_r %method %url %code %bytesd"               //修改後
 LevelForBrowsersDetection=0                                     //新增此行及下列行數
 LevelForOSDetection=0
 LevelForRefererAnalyze=0
 LevelForRobotsDetection=0
 LevelForSearchEnginesDetection=0
 LevelForFileTypesDetection=0
 ShowMenu=1
 ShowMonthStats=HB 
 ShowDaysOfMonthStats=HB
 ShowDaysOfWeekStats=HB
 ShowHoursStats=HB
 ShowDomainsStats=0
 ShowHostsStats=HBL
 ShowAuthenticatedUsers=0
 ShowRobotsStats=0
 ShowEMailSenders=HBL
 ShowEMailReceivers=HBL
 ShowSessionsStats=0
 ShowPagesStats=0
 ShowFileTypesStats=0
 ShowFileSizesStats=0
 ShowBrowsersStats=0
 ShowOSStats=0
 ShowOriginStats=0
 ShowKeyphrasesStats=0
 ShowKeywordsStats=0
 ShowMiscStats=0
 ShowHTTPErrorsStats=0
 ShowSMTPErrorsStats=1 
 SiteDomain=""                                                    //預設值,設定主機名稱    
 SiteDomain="mail.weithenn.org"                                   //修改後,填入您主機的 FQDN 
 DirCgi= "/cgi-bin"                                               //預設值,設定 CGI 路徑
 DirCgi="/cgi-bin/mail"                                           //修改後,設定為適合您環境設定
 DirIcons="/icon"                                                 //預設值,指定 awstats icon 目錄               
 DirIcons="/icons"                                                //修改後,設定為適合您環境設定

步驟3.產生分析圖表

請鍵入如下指令來開始產生分析圖表,而為何產生分析圖表時指定的設定檔名稱為 -config=mail ? 因為在前面設定步驟中設定檔命名為 awstats.mail.conf,因此當您執行指令時可發現 awstats 是否有正確尋找到您的設定檔。

 #/usr/local/www/awstats/cgi-bin/awstats.pl -config=mail -update
 Update for config "./awstats.conf"
 With data in log file "perl   /usr/local/bin/awstats_maillogconvert.pl standard <   /var/log/maillog|"...
 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: 76
 Found 0 dropped records,
 Found 0 corrupted records,
 Found 74 old records,
 Found 2 new qualified records.

步驟4.解決顯示搜尋的關鍵字句亂碼問題

若未執行此步驟的話當您觀看分析圖表時可能會發現所有中文都正常,但分析圖表下方訪客使用哪些搜尋字句連到您的網站的 搜尋的關鍵字句 項目其內容會變成 亂碼,會有此一問題為顯示的文字其編碼為 UTF-8 格式,但 Awstats 預設的網頁顯示格式為 Big5 編碼格式所以就產生此一亂碼的問題,因此我們可透過將 Awstats 翻譯檔修改及儲存為 UTF-8 格式即可解決此一問題。

 #cp /usr/local/www/awstats/cgi-bin/lang/awstats-tw.txt awstats-tw.txt.big5      //將預設 Big5 編碼翻譯檔複製一份來進行後續修改
 #vi /usr/local/www/awstats/cgi-bin/lang/awstats-tw.txt.big5                     //修改 Big5 編碼翻譯檔,內容如下
 PageCode=big5                                                                   //預設值,編碼為 Big5
 PageCode=utf-8                                                                  //修改後,編碼為 UTF-8

修改完成後因為檔案格式仍為 Big5,因此我們使用 libiconv 套件來將檔案格式轉換為 UTF-8。

 #cd /usr/ports/converters/libiconv ; make instlal clean                         //安裝 iconv 套件
 #iconv -f BIG5 -t UTF-8 awstats-tw.txt.big5 > awstats-tw.txt                    //轉換為 UTF-8 格式

步驟5.觀看成果

完成後您可透過如下網址來連結至 Awstats 分析圖表頁面

ex. http://www.weithenn.org/awstats/awstats.pl?config=mail

步驟6.修改排程

修改排程使系統每天早上六點自動執行分析 Mail Log 的工作

 #crontab -e
 0 6 * * * /usr/local/www/awstats/cgi-bin/awstats.pl -config=mail -update > /dev/null 2>&1       //每天早上六點執行

參考

[ Awstats ORG]

[ AWStats Documentation - FAQs]

Go To Oddmuse OrgGo To FreeBSD OrgCreative Commons 2.5 Taiwansitestates.com