Webalizer是一款免費的應(yīng)用程序,可用于分析網(wǎng)站服務(wù)器日志。這樣一來,你就能更清楚地了解你的網(wǎng)站或服務(wù)器收到的流量大小。它是一種使用廣泛的開源工具,提供了非常詳細的報告。這個工具的使用和安裝很簡單,cPanel之類的許多高級托管控制面板使用該工具,為用戶提供流量方面的詳細信息。
功能特性
這款工具的功能很強大,足以解析不同格式的訪問日志。它還可以從壓縮文件中獲取信息,不需要先解壓縮文件。你從命令行和圖形化用戶界面都可以使用該工具,以你覺得方便的方式來查看報告。
它支持多種語言,開發(fā)團隊正在努力添加支持另外許多語言的功能。它能夠解析任何大小或復(fù)雜程度的日志文件。它同時支持IPV4和IPV6,還有原生的地理位置服務(wù)和DNS服務(wù)器軟件。
在Ubuntu上安裝和配置Webalizer
Webalizer需要Apache網(wǎng)站服務(wù)器軟件安裝在Linux系統(tǒng)上,因為它要讀取和解析Apache錯誤日志,從而分析流量。如果Apache之前沒有安裝在你的系統(tǒng)上,你試圖看一看webalizer是如何工作的,那么啟動終端,運行下面這個命令,即可將Apache安裝在你的Ubuntu上:
sudo apt-get install apache
一旦Apache安裝完畢,運行下面這個命令來啟動它。
sudo /etc/init.d/apache2 start
現(xiàn)在啟動你的瀏覽器,裝入http://localhost,核實http在正常運行,它應(yīng)該會顯示諸如此類的頁面:

Apache默認頁面
注意:默認情況下,Apache的文檔根目錄是/var/www/html/,所以你需要把腳本放在這個位置,那樣Apache網(wǎng)站服務(wù)器就能提供這些腳本。
由于Apache已安裝在我們的Ubuntu系統(tǒng)上并運行起來,現(xiàn)在運行下面這個命令,安裝webalizer。
sudo apt-get install webalizer

恭喜你,webalizer已安裝完畢。現(xiàn)在我們需要配置它。
配置webalizer
你可能也注意到,在安裝過程中,webalizer目錄已經(jīng)創(chuàng)建在/var/www/路徑上,我們需要把它移到/var/www/html,那樣Apache才能順利該目錄。在終端上運行下面這個命令來完成這項任務(wù)。
sudo mv /var/www/webalizer /var/www/html/
現(xiàn)在編輯Webalizer配置文件,為那里的Apache訪問日志糾正路徑。運行下面這個命令,即可使用Gedit編輯工具來編輯其配置文件。
sudo gedit /etc/webalizer/webalizer.conf
務(wù)必要確保Apache訪問日志文件路徑在該文件中正確無誤(下列屏幕截圖中高亮顯示的部分)。如果路徑這一項出錯,就糾正路徑,并保存文件。

好了,我們離成功只有一步之遙了。
測試Webalizer配置
運行下面這個命令,核實webalizer已成功安裝和配置。
sudo webalizer
成功的webalizer配置應(yīng)該會有下列屏幕截圖中所示的輸出。

測試webalizer
啟動瀏覽器,裝入http://localhost/webalizer/ URL。它應(yīng)該會裝入webalizer頁面,并且附有系統(tǒng)當前HTTP活動的報告。

可以執(zhí)行webalizer –h得到所有命令行參數(shù):
Usage: webalizer [options] [log file]
-h = 打印幫助信息
-v -V = 打印版本信息
-d = 打印附加調(diào)試信息
-F type = 日志格式類型. type= (clf | ftp | squid)
-i = 忽略歷史文件
-p = 保留狀態(tài) (遞增模式)
-q = 忽略消息信息
-Q = 忽略所有信息
-Y = 忽略國家圖形
-G = 忽略小時統(tǒng)計圖形
-H = 忽略小時統(tǒng)計信息
-L = 忽略彩色圖例
-l num = 在圖形中使用數(shù)字背景線
-m num = 訪問超時 (seconds)
-T = 打印時間信息
-c file = 指定配置文件
-n name = 使用的主機名
-o dir = 結(jié)果輸出目錄
-t name = 指定報告題目上的主機名
-a name = 隱藏用戶代理名稱
-r name = 隱藏訪問鏈接
-s name = 隱藏客戶
-u name = 隱藏URL
-x name = 使用文件擴展名
-P name = 頁面類型擴展名
-I name = index別名
-A num = 顯示前幾名客戶類型
-C num = 顯示前幾名國家
-R num = 顯示前幾名鏈接
-S num = 顯示前幾名客戶
-U num = 顯示前幾名URLs
-e num = 顯示前幾名訪問頁面
-E num = 顯示前幾名不存在的頁面
-X = 隱藏個別用戶
-D name = 使用dns緩存文件
-N num = DNS 進程數(shù) (0=禁用dns)
假設(shè),web服務(wù)器主機名為www.test.com,統(tǒng)計站點域名為www.test.com, 訪問日志為/var/log/httpd/access_log, 我們將webalizer分析結(jié)果輸出到/var/www/html/log下面。則我們可以建立以下腳本/etc/rc.d/webalizer:
#!/bin/sh
run=/usr/sbin/webalizer
$run -F clf -p -n " " -t "www.test.com"
-o /var/www/html/log /var/log/httpd/access_log
說明:
-F clf 指明我們的web日志格式為標準的一般日志文件格式(Common Logfile Format)
-p 指定使用遞增模式,這就是說每作一次分析后,webalizer會生產(chǎn)一個歷史文件,這樣下一次分析時就可以不分析已經(jīng)處理過的部分。這樣我們就可以在短時間內(nèi)轉(zhuǎn)換我們的日志文件,而不用擔心訪問量太大時日志文件無限增大了。
-n “ “ 指定服務(wù)器主機名為空,這樣輸出結(jié)果會美觀一些。
-o “www.test.com” 指定輸出結(jié)果標題.
/var/log/httpd/access_log:指定日志文件
然后在/etc/crontab中加入:
01 1 * * * root /etc/rc.d/webalizer
即每天凌晨1點執(zhí)行該腳本。
然后運行/etc/rc.d/init.d/crond reload重載入crond服務(wù)。
結(jié)束語
Webalizer是在微軟Windows、Linux和Mac OS上廣泛使用的一種工具,可用于分析系統(tǒng)上的Web活動。它是相當簡單的工具,可以解析網(wǎng)站服務(wù)器日志,即便它受到數(shù)百萬次的訪問。這個工具的重要性對系統(tǒng)和網(wǎng)站管理員來說毋容置疑。