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

Webalizer-分析 SquidLog 產生流量圖

前言

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

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

實作環境

安裝及設定

步驟1.安裝 libiconv 套件

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

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

步驟2.安裝 webalizer 套件

在安裝 webalizer 套件以前請先將 [顏國雄老師中文亂碼修正檔-webalizer_patch.pl] 下載至 /usr/ports/www/webalizer 目錄下,先安裝完預設的中文語系檔,但因為 GD 圖表無法正確顯示中文所以這時便可執行顏國雄老師中文亂碼修正檔將 GD 圖表內中文字改回英文便不會造成之後 GD 圖表內中文字為亂碼的現象,至於安裝前為何要將語系檔轉換為 UTF-8 格式? 因為若是不轉換的話當執行完流量統計後你會發現 Search String 內容會為亂碼,瞭解後請切換至 Ports Tree 路徑安裝 webalizer 套件

 #cd /usr/ports/www/webalizer                                                  //切換至安裝路徑
 #make clean fetch extract patch configure WEBALIZER_LANG=chinese              //安裝中文語系 (但 GD 圖表內文字會為亂碼)
 #perl webalizer_patch.pl work/webalizer-2.21-2                                //執行顏國雄老師中文修正檔可消除中文亂碼
 #cd work/webalizer-2.21-2/lang                                                //切換至語系檔目錄
 #cp webalizer_lang.chinese webalizer_lang.chinese.big5                        //將原 Big5 語系檔複製一份
 #iconv -f BIG5 -t UTF-8 webalizer_lang.chinese.big5 ; webalizer_lang.chinese  //轉換語系檔為 UTF-8 格式
 #make install clean                                                           //安裝套件並清除安裝中不必要的檔案

步驟3.修改 webalizer 設定檔 (webalizer.conf)

安裝相關套件完成後開始進行 webalizer 設定檔 (webalizer.conf) 修改其內容如下

 #cd /usr/local/etc                                                            //切換路徑
 #cp webalizer.conf-dist webalizer.conf                                        //複製範例檔來修改
 #vi webalizer.conf                                                            //修改內容如下
 LogFile        /var/lib/httpd/logs/access_log                                 //預設值,讀取 Log 路徑
 LogFile        /home/log/squid/logs/access.log.0                              //修改後
 OutputDir      /var/lib/httpd/htdocs/usage                                    //預設值,指定資料輸出資料夾
 OutputDir      /home/web/webalizer                                            //修改後
 Incremental    no                                                             //預設值,只更新增加的部份不再分析舊有資料
 Incremental    yes                                                            //修改後
 ReportTitle    Usage Statistics for                                           //預設值,網頁標題說明文字
 ReportTitle    Proxy 流量分析統計:                                            //修改後
 HostName       localhost                                                      //預設值,設定主機名稱
 HostName       www.weithenn.org                                               //修改後

步驟4.建立 webalizer 分析結果存放資料夾

建立屆時存放 webalizer 分析結果圖表的資料夾

 #cd /home/web/                                                                //切換預放置分析流量的路徑
 #mkdir webalizer                                                              //建立資料夾

步驟5.執行 webalizer 流量統計

此次實作中 Squid Log 有每天定期執行 Rotate Squid Logs 的動作,因此為分析前一天的 Squid Log

 #/usr/local/bin/webalizer /home/log/squid/logs/access.log.0                   //分析 Squid Log
 Webalizer V2.21-02 (FreeBSD 7.2-RELEASE-p2 i386) Chinese 
 使用記錄檔 access.log (squid) 
 產生輸出於 /home/web/webalizer
 主機名稱是 'www.weithenn.org'
 讀取歷史記錄 webalizer.hist
 Reading previous run data.. webalizer.current
 Warning: Truncating oversized request field
 Skipping bad record (7675)
 Warning: Truncating oversized request field
 Skipping bad record (7677) 
 產生彙總報表
 21530 記錄 (21528 忽略, 2 bad) in 1 秒, 21530/sec

步驟6.設定排程

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

 #crontab -e
 30 6 * * * /usr/local/sbin/webalizer /home/log/squid/logs/access.log.0        //每天早上六點半分析 Squid Log

參考

[webalizer]

[FreeBSD Man Pages - webalizer]

[ 游志峰的網路架設筆記]

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