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

visitors-利用ApacheLog達成流量統計圖表化

前言

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

Visitors 特色如下

[Visitors - on line documentation for 0.7]

[Visitors 官網 ScreenShot]

實作環境

安裝及設定

步驟1.下載 visitors 套件

[Visitors] 下載 visitors-0.7.tar.gz

 #wget http://www.hping.org/visitors/visitors-0.7.tar.gz     //下載 visitors-0.7.tar.gz
 #tar zxvf ~/visitors-0.7.tar.gz                             //解開 visitors 壓縮檔  

步驟2.產生 visitors 執行檔

若無安裝 C+ compiler 就利用 yum -y install gcc-c++ 安裝吧,否則等一下將無法產生 visitors 執行檔。

 #rpm -qa gcc-c++                        //確認是否安裝 C+ compiler
 gcc-c++-4.1.2-14.el5

產生 (編譯 complier) visitors

 #cd ~/cd visitors_0.7
 #make
 cc -c -O2 -Wall -W -g  visitors.c
 cc -c -O2 -Wall -W -g  aht.c
 cc -c -O2 -Wall -W -g  antigetopt.c
 cc -c -O2 -Wall -W -g  tail.c
 cc -o visitors -O2 -Wall -W -g visitors.o aht.o antigetopt.o tail.o
 #cp visitors /usr/local/bin/           //複製執行檔至 /usr/local/bin 下

步驟3.產生分析圖表

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

若在你的 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

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

 CPU0: Intel(R) Xeon(R) CPU            5130  @ 2.00GHz *2
 Mem:   2075284k total 

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

分析 Log 內容為 5.6 萬行,分析時間花費為 1 秒

 #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

分析 Log 內容為 31 萬行,分析時間花費為 3 秒

 #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 3 seconds         //分析時間花費 3 秒
 0 invalid lines, 0 blacklisted referers

步驟4.設定排程

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

 #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 のプチ改造]

[HowtoForge Forums - Notes for CentOS 4.1 install Archive]

[HowtoForge Forums - CentOS 4.4 ~ cc: Command not found]

Me FAQ

Q1.make: cc: Command not found?

Error Meaage:

當執行 make 欲產生 visitors 執行檔時發生錯誤 make: cc: Command not found?

 #make
 cc -c -O2 -Wall -W -g  visitors.c
 make: cc: Command not found        
 make: *** [visitors.o] Error 127

Ans:

在 Google 上找到這篇[HowtoForge Forums - CentOS 4.4 ~ cc: Command not found],原因是因為機器沒有裝 C compiler 所以就無法順利執行了。(The C compiler is missing on your server. Install the GCC packages) 安裝 gcc-c++ 套件後就可以順利產生了。

 #yum -y install gcc-c++

Q2.gcc: error trying to exec 'cc1plus': execvp: No such file or directory?

Error Meaage:

當執行 make 欲產生 visitors 執行檔時發生錯誤 gcc: error trying to exec 'cc1plus': execvp: No such file or directory ?

 #make
 gcc: error trying to exec 'cc1plus': execvp: No such file or directory

Ans:

應該也是沒有安裝 gcc-c++ 造成的,請安裝吧。[gcc: error trying to exec ‘cc1plus’: execvp: No such file or directory | MDLog:/sysadmin]

 #yum -y install gcc-c++
Go To Oddmuse OrgGo To FreeBSD OrgCreative Commons 2.5 Taiwansitestates.com