webalizer是一個高效的、免費的web服務器日志分析程序。其分析結果是HTML文件格式,從而可以很方便的通過web服務器進行瀏覽。Internet上的很多站點都使用webalizer進行web服務器日志分析。Webalizer具有以下一些特性:
上圖是webalizer生成的訪問統計分析報表第一頁的內容,這里包含每個月的平均訪問量的表格和條形圖統計分析情況。點擊每個月分,可以得到這個月每天的詳細統計信息。
在安裝以前首先需要確保系統已經安裝有gd庫,可以使用:
[root@mail root]# rpm -qa|grep gd
gd-devel-1.8.4-4
gdbm-devel-1.8.0-14
gdbm-1.8.0-14
sysklogd-1.4.1-8
gd-1.8.4-4
來確認系統已經安裝有gd-deve和gd兩個rpm包。
安裝webalizer有兩種方式,一種是下載源代碼來安裝,一種是直接使用rpm包來安裝。
使用rpm包方式安裝非常簡單,從rpmfind.net找到webalizer包,下載以后:
rpm –ivh webalizer-2.01_10-1.i386.rpm
即可實現安裝。
對于源代碼方式首先需要從http://www.mrunix.net/webalizer/下載,然后安裝,首先解開源代碼包:
tar xvzf webalizer-2.01-10-src.tgz
在生成的目錄中有個lang目錄,該目錄中保存了各種語言文件,但是只有繁體中文版本,可以自己轉換成簡體,或者自己重新翻譯一下。然后進入生成的目錄:
cd webalizer-2.01-10
./configure
make --with-language=Chinese
make install
編譯成功后,會在/usr/local/bin/目錄下安裝一個webalizer可執行文件。
對webalizer運行的控制可以通過配置文件或者在命令行指定參數的兩種方式進行。而使用配置文件方式是比較簡單和靈活的,適用于自動web服務器日志統計分析的應用環境。
webalizer的默認配置文件為/etc/webalizer.conf,當啟動Webalizer時沒有使用“-f“選項時,Webalizer就會尋找文件/etc/webalizer.conf,也可以使用“-f”來指定配置文件(當服務器有虛擬主機時,就需要配置多份不同的webalizer配置文件,不同的虛擬主機的webalizer使用不同的配置文件。Webalizer.conf配置文件中需要修改的配置選項如下:
LogFile /www/logs/secfocus/access_log
用來指示配置文件的路徑信息,webalizer會將該日志文件作為輸入進行統計分析;
OutputDir /www/htdocs/secfocus/usage
用來指示生成的統計報表的保存目錄,在前面我們使用alias,使得用戶可以使用http://www.secfocus.com/usage/來訪問統計報表。
HostName www.secfocus.com
用來指示主機名,統計報表中會引用該主機名。
其他選項就無需修改,配置文件修改完畢以后,就需要在定時webalizer,每天生成當日的統計分析。
以root身份運行:crontab –e 進入定時運行任務編輯狀態,加入如下任務:
5 0 * * * /usr/local/bin/webalizer –f /etc/secfocus.webalizer.conf
15 0 * * * /usr/local/bin/webalizer –f /etc/tomorrowtel.webalizer.conf
我們這里假設系統運行有兩個虛擬主機,并分別定義了日志分析配置文件secfocus.webalizer.conf和tomorrowtel.webalizer.conf。這樣我們定義在凌晨00:05對secfocus的日志進行統計分析;在凌晨00:15對tomorrowtel的日志進行統計分析。
然后第二天分別使用http://www.secfocus.com/usage/和http://www.tomorrowtel.com/usage來察看各自的日志分析報表。
我們肯定不會希望自己網站訪問統計信息隨意被別人瀏覽,因此需要將usage目錄保護起來,只允許合法用戶訪問。這里可以采用apache自帶的基本的認證機制,配置以后再連接這個地址就會需要用戶提供密碼才能訪問該頁面:
1、條件
在配置文件中對目錄"/"應該設置為:
DocumentRoot /www/htdocs/secfocus/
AccessFileName .htaccess
AllowOverride All
2、需求
需求:限制對http://www.secfocus.com/usage/的訪問,要求用戶認證才能訪問。這里設置用戶為"admin",口令為"12345678"。
3、使用htpasswd建立用戶文件
htpasswd -c /www/.htpasswd admin
此程序會詢問用戶"admin"的口令,你輸入"12345678",兩次生效。
4、建立.htaccess文件
用vi在/www/logs/secfocus/usage/目錄下建立一個文件.htaccess,寫入以下幾行:
AuthName admin-only
AuthType Basic
AuthUserFile /www/.htpasswd
require user admin
5、測試
這時候通過瀏覽器訪問http://www.secfocus.com/usage就會彈出框請求輸入用戶名和口令,這時候輸入admin、12345678就可以才可以訪問訪問日志統計分析報表
新聞熱點
疑難解答