2008-01-23

Visitors-利用 web log達成流量統計圖表化

【前言】

[Visitors - fast web log analyzer] 設計為可快速分析 Linux、Windows、Unix-link 等架設 Web 伺服器的 Log,使用方式很簡單只要使用命令列並指定 Log 名稱及輸出流量分析報告格式 (Txt / Html) 即可,因此很適合線上即時查看流量。

Visitors 特色如下

  • 不需安裝,每秒可處理 150,000 行 (視機器效能而定,但至少比其它分析軟體快多了)
  • 設計上採用指令模式並可輸出 (Txt / Html),因此使用 SSH 登入主機時能夠非常方便且即時查看流量
  • 從 Visitors v0.3 以後便支援即時統計、遊客流量統計
  • 可清鬆指定產生的流量分析報表項目,相對應參數請參考 [Visitors on line documentation]
  • Visitors 為可攜式 C 語言程序,因此可方便使用在不同的系統中。
  • 產生的 HTML 報表並不包含圖片或外部的 CSS,因此能方便的將報表透過電子郵件來寄送。
  • Visitors 為使用 GPL 授權的自由軟體,所以使用它並不用付費,如果您有興趣想訂製符合您需要的報表歡迎與原作者連絡 antirez (at) invece (dot) org

[Visitors - on line documentation for 0.7]

[Visitors 官網 ScreenShot]

【作業環境】

FreeBSD 6.2-RELEASE

visitors-0.7.0_1

【安裝及設定】

Step1.安裝 visitors 套件

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

Step2.產生分析圖表

接下來就是開始分析報表吧。

  • -A:分析所有報表項目
  • -m 10:項目最多顯示 10 行 (Requested pages、Requested images and CSS...)
  • Web Log:200801.log
  • -o html:輸出的報表格式
  • /home/web/200801.html 為報表輸出的路徑及檔案名稱

若在你的 web log 中有您不想分析的網站時 (例如自已的網站),可加上參數 ex. -P http://your.site.com 即可。

 #/usr/local/bin/visitors -A -m 10 200801.log  -o html > /home/web/200801.html
--
7055 lines processed in 1 seconds
0 invalid lines, 0 blacklisted referers

我測試一下我使用的機器處理效能,大概是每秒 6.3 萬行左右。

 CPU: Intel(R) Core(TM)2 CPU 6300  @ 1.86GHz (1867.21-MHz 686-class CPU)
real memory = 2146299904 (2046 MB)

以下是測試分析不同行數的 web log 分析速度

 #wc -l 200708.log | awk '{print$1}'
56133 //5.6 萬行
#/usr/local/bin/visitors -A -m 50 200708.log -o html > /home/web/200708.html
--
56133 lines processed in 1 seconds //分析時間花費 1 秒
0 invalid lines, 0 blacklisted referers
#wc -l 2007.log | awk '{print$1}'
318290 //31 萬行
#/usr/local/bin/visitors -A -m 100 2007.log -o html > /home/web/2007.html
--
318290 lines processed in 5 seconds //分析時間花費 5 秒
0 invalid lines, 0 blacklisted referers

Step3.排程

因為我的 web log 都是每天產生的,所以就寫個簡單的 shell 然後排程執行吧。

 #vi /usr/local/sbin/visitors.sh             //建立 shell 檔內容如下
#!/bin/sh
TODAY=`date +%Y%m%d`
LOG="/home/log/apache"
DES="/home/web"
VISITORS=/usr/local/bin/visitors
SHOW="50"
${VISITORS} -A -m ${SHOW} ${LOG}/${TODAY}.log -o html > ${DES}/${TODAY}.html
#chmod +x /usr/local/sbin/visitors.sh

再來就是設定排程

 #crontab -e
55 23 * * * /usr/local/sbin/visitors.sh //每天 23:55 執行

【參考】

[Visitors - fast web log analyzer]

[Visitors, on line documentation for 0.7]

[Visitors - ScreenShot]

[2007-03-06 - IT四重奏]

[1秒で10万行を処理するフリーの超高速なログ解析ソフト「Visitors」 - GIGAZINE - IT四重奏]

[GIS Notes by Rupert » Blog Archive » HTTP access_log analysis]

[えせSEの1日1Hack : 2005-08-17]

[Birds Of a Feather | ログ解析ツール Visitors のプチ改造]

【Log】

初稿-2008/01/18

No comments: