Webalizer是一款免費(fèi)的應(yīng)用程序,可用于分析網(wǎng)站服務(wù)器日志。這樣一來(lái),你就能更清楚地了解你的網(wǎng)站或服務(wù)器收到的流量大小。它是一種使用廣泛的開(kāi)源工具,提供了非常詳細(xì)的報(bào)告。這個(gè)工具的使用和安裝很簡(jiǎn)單,cPanel之類(lèi)的許多高級(jí)托管控制面板使用該工具,為用戶提供流量方面的詳細(xì)信息。
功能特性
這款工具的功能很強(qiáng)大,足以解析不同格式的訪問(wèn)日志。它還可以從壓縮文件中獲取信息,不需要先解壓縮文件。你從命令行和圖形化用戶界面都可以使用該工具,以你覺(jué)得方便的方式來(lái)查看報(bào)告。
它支持多種語(yǔ)言,開(kāi)發(fā)團(tuán)隊(duì)正在努力添加支持另外許多語(yǔ)言的功能。它能夠解析任何大小或復(fù)雜程度的日志文件。它同時(shí)支持IPV4和IPV6,還有原生的地理位置服務(wù)和DNS服務(wù)器軟件。
在Ubuntu上安裝和配置Webalizer
Webalizer需要Apache網(wǎng)站服務(wù)器軟件安裝在Linux系統(tǒng)上,因?yàn)樗x取和解析Apache錯(cuò)誤日志,從而分析流量。如果Apache之前沒(méi)有安裝在你的系統(tǒng)上,你試圖看一看webalizer是如何工作的,那么啟動(dòng)終端,運(yùn)行下面這個(gè)命令,即可將Apache安裝在你的Ubuntu上:
sudo apt-get install apache
一旦Apache安裝完畢,運(yùn)行下面這個(gè)命令來(lái)啟動(dòng)它。
sudo /etc/init.d/apache2 start
現(xiàn)在啟動(dòng)你的瀏覽器,裝入http://localhost,核實(shí)http在正常運(yùn)行,它應(yīng)該會(huì)顯示諸如此類(lèi)的頁(yè)面:
Apache默認(rèn)頁(yè)面
注意:默認(rèn)情況下,Apache的文檔根目錄是/var/www/html/,所以你需要把腳本放在這個(gè)位置,那樣Apache網(wǎng)站服務(wù)器就能提供這些腳本。
由于Apache已安裝在我們的Ubuntu系統(tǒng)上并運(yùn)行起來(lái),現(xiàn)在運(yùn)行下面這個(gè)命令,安裝webalizer。
sudo apt-get install webalizer
恭喜你,webalizer已安裝完畢?,F(xiàn)在我們需要配置它。
配置webalizer
你可能也注意到,在安裝過(guò)程中,webalizer目錄已經(jīng)創(chuàng)建在/var/www/路徑上,我們需要把它移到/var/www/html,那樣Apache才能順利該目錄。在終端上運(yùn)行下面這個(gè)命令來(lái)完成這項(xiàng)任務(wù)。
sudo mv /var/www/webalizer /var/www/html/
現(xiàn)在編輯Webalizer配置文件,為那里的Apache訪問(wèn)日志糾正路徑。運(yùn)行下面這個(gè)命令,即可使用Gedit編輯工具來(lái)編輯其配置文件。
sudo gedit /etc/webalizer/webalizer.conf
務(wù)必要確保Apache訪問(wèn)日志文件路徑在該文件中正確無(wú)誤(下列屏幕截圖中高亮顯示的部分)。如果路徑這一項(xiàng)出錯(cuò),就糾正路徑,并保存文件。
好了,我們離成功只有一步之遙了。
測(cè)試Webalizer配置
運(yùn)行下面這個(gè)命令,核實(shí)webalizer已成功安裝和配置。
sudo webalizer
成功的webalizer配置應(yīng)該會(huì)有下列屏幕截圖中所示的輸出。
測(cè)試webalizer
啟動(dòng)瀏覽器,裝入http://localhost/webalizer/ URL。它應(yīng)該會(huì)裝入webalizer頁(yè)面,并且附有系統(tǒng)當(dāng)前HTTP活動(dòng)的報(bào)告。
可以執(zhí)行webalizer –h得到所有命令行參數(shù):
Usage: webalizer [options] [log file]
-h = 打印幫助信息
-v -V = 打印版本信息
-d = 打印附加調(diào)試信息
-F type = 日志格式類(lèi)型. type= (clf | ftp | squid)
-i = 忽略歷史文件
-p = 保留狀態(tài) (遞增模式)
-q = 忽略消息信息
-Q = 忽略所有信息
-Y = 忽略國(guó)家圖形
-G = 忽略小時(shí)統(tǒng)計(jì)圖形
-H = 忽略小時(shí)統(tǒng)計(jì)信息
-L = 忽略彩色圖例
-l num = 在圖形中使用數(shù)字背景線
-m num = 訪問(wèn)超時(shí) (seconds)
-T = 打印時(shí)間信息
-c file = 指定配置文件
-n name = 使用的主機(jī)名
-o dir = 結(jié)果輸出目錄
-t name = 指定報(bào)告題目上的主機(jī)名
-a name = 隱藏用戶代理名稱
-r name = 隱藏訪問(wèn)鏈接
-s name = 隱藏客戶
-u name = 隱藏URL
-x name = 使用文件擴(kuò)展名
-P name = 頁(yè)面類(lèi)型擴(kuò)展名
-I name = index別名
-A num = 顯示前幾名客戶類(lèi)型
-C num = 顯示前幾名國(guó)家
-R num = 顯示前幾名鏈接
-S num = 顯示前幾名客戶
-U num = 顯示前幾名URLs
-e num = 顯示前幾名訪問(wèn)頁(yè)面
-E num = 顯示前幾名不存在的頁(yè)面
-X = 隱藏個(gè)別用戶
-D name = 使用dns緩存文件
-N num = DNS 進(jìn)程數(shù) (0=禁用dns)
假設(shè),web服務(wù)器主機(jī)名為www.test.com,統(tǒng)計(jì)站點(diǎn)域名為www.test.com, 訪問(wèn)日志為/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
說(shuō)明:
-F clf 指明我們的web日志格式為標(biāo)準(zhǔn)的一般日志文件格式(Common Logfile Format)
-p 指定使用遞增模式,這就是說(shuō)每作一次分析后,webalizer會(huì)生產(chǎn)一個(gè)歷史文件,這樣下一次分析時(shí)就可以不分析已經(jīng)處理過(guò)的部分。這樣我們就可以在短時(shí)間內(nèi)轉(zhuǎn)換我們的日志文件,而不用擔(dān)心訪問(wèn)量太大時(shí)日志文件無(wú)限增大了。
-n “ “ 指定服務(wù)器主機(jī)名為空,這樣輸出結(jié)果會(huì)美觀一些。
-o “www.test.com” 指定輸出結(jié)果標(biāo)題.
/var/log/httpd/access_log:指定日志文件
然后在/etc/crontab中加入:
01 1 * * * root /etc/rc.d/webalizer
即每天凌晨1點(diǎn)執(zhí)行該腳本。
然后運(yùn)行/etc/rc.d/init.d/crond reload重載入crond服務(wù)。
結(jié)束語(yǔ)
Webalizer是在微軟Windows、Linux和Mac OS上廣泛使用的一種工具,可用于分析系統(tǒng)上的Web活動(dòng)。它是相當(dāng)簡(jiǎn)單的工具,可以解析網(wǎng)站服務(wù)器日志,即便它受到數(shù)百萬(wàn)次的訪問(wèn)。這個(gè)工具的重要性對(duì)系統(tǒng)和網(wǎng)站管理員來(lái)說(shuō)毋容置疑。