歡迎您光臨本站 註冊首頁

用webalizer分析web日誌

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

用webalizer分析web日誌

By ideal


介紹:

  webalizer是一個高效的、免費的web伺服器日誌分析程序。其分析結果以HTML文件格式保存,從而可以很方便的通過web伺服器進行瀏覽。Internet上的很多站點都使用webalizer進行web伺服器日誌分析。Webalizer具有以下一些特性:

1. 為是用C寫的程序,所以其具有很高的運行效率。在主頻為200Mhz的機器上,webalizer每秒鐘可以分析10000條記錄,所以分析一個40M大小的日誌文件只需要15秒。

2. webalizer支持標準的一般日誌文件格式(Common Logfile Format);除此之外,也支持幾種組合日誌格式(Combined Logfile Format)的變種,從而可以統計客戶情況以及客戶操作系統類型。並且現在webalizer已經可以支持wu-ftpd xferlog日誌格式以及squid日誌文件格式了。

3. 支持命令行配置以及配置文件。

4. 可以支持多種語言,也可以自己進行本地化工作。

5. 支持多種平台,比如UNIX、linux、NT, OS/2 和 MacOS等。

安裝:

1.從webalizer的官方站點http://www.mrunix.net/webalizer/下載webalizer,當前的最新版本是webalizer-2.01-06-src.tgz。

2.首先解開源代碼包:

tar xvzf webalizer-2.01-06-src.tgz

3.在生成的目錄中有個lang目錄,該目錄中保存了各種語言文件,但是只有繁體中文版本,可以自己轉換成簡體,或者自己重新翻譯一下。

4.然後進入生成的目錄:

./configure
make --with-language=chinese

5.編譯成功后,會產生一個webalizer可執行文件,可以將其拷貝到/usr/sbin/目錄下:

cp webalizer /usr/sbin/

然後就可以開始配置webalizer了。

配置:

  上面說過,可以通過命令行配置webalizer,也可以通過配置文件進行配置,在本文中我們將介紹使用命令行參數進行配置,需要了解配置文件使用方法的朋友可以參考README文件,裡面有很詳細的介紹。

  可以執行webalizer –h得到所有命令行參數:

Usage: webalizer
-h = 列印幫助信息
-v -V = 列印版本信息
-d = 列印附加調試信息
-F type = 日誌格式類型. type= (clf | ftp | squid)
-i = 忽略歷史文件
-p = 保留狀態 (遞增模式)
-q = 忽略消息信息
-Q = 忽略所有信息
-Y = 忽略國家圖形
-G = 忽略小時統計圖形
-H = 忽略小時統計信息
-L = 忽略彩色圖例
-l num = 在圖形中使用數字背景線
-m num = 訪問超時 (seconds)
-T = 列印時間信息
-c file = 指定配置文件
-n name = 使用的主機名
-o dir = 結果輸出目錄
-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 進程數 (0=禁用dns)

  假設,web伺服器主機名為www.test.com,統計站點域名為www.test.com, 訪問日誌為/var/log/httpd/access_log, 我們將webalizer分析結果輸出到/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會生產一個歷史文件,這樣下一次分析時就可以不分析已經處理過的部分。這樣我們就可以在短時間內轉換我們的日誌文件,而不用擔心訪問量太大時日誌文件無限增大了。

-n 「 「 指定伺服器主機名為空,這樣輸出結果會美觀一些。

-o 「www.test.com」 指定輸出結果標題。

/var/log/httpd/access_log:指定日誌文件

然後在/etc/crontab中加入:

01 1 * * * root /etc/rc.d/webalizer

即每天凌晨1點執行該腳本。
然後運行/etc/rc.d/init.d/crond reload重載入crond服務。

測試:

執行以下命令:

# /etc/rc.d/webalizer

然後在瀏覽器中訪問http://www.test.com/log/就可以看到webalizer的分析結果了。

注意:如果您使用了中文語言文件,但是您的linux不支持中文,則在產生的圖片中文字可能為亂碼。
《解決方案》

用webalizer分析web日誌

收藏,謝謝!
《解決方案》

用webalizer分析web日誌

>;>;注意:如果您使用了中文語言文件,但是您的linux不支持中文,則在產生的圖片中文字可能為亂碼。

我看了webalizer 2.01-10 的源碼,不能輸出中文好像是使用gd的函數的問題,比如 注意:如果您使用了中文語言文件,但是您的linux不支持中文,則在產生的圖片中文字可能為亂碼。pie_chart中
gdImagestring()吧。中文用這個函數可能不行。
我在redhat 7.2 上是不行的。
沒有條件試驗,沒有支持中文的linux. 8-(
《解決方案》

用webalizer分析web日誌

我們使用的FreeBSD系統,該如何輸出中文呢?
    我在php之中可以制定一個ttf字體文件來輸出中文圖像的.
    那麼在這裡怎麼操作呢???
《解決方案》

用webalizer分析web日誌

我沒有試驗過,以下文字是我看webalizer2.01-10 GD 1.8.4  php 4.1.2
SourceCode 得出的結論,如果不正確,請指正。
首先要編譯你的gd 支持TTF  gdtestttf 可以測試。
然後應該是把webalizer中 pie_chart 等輸出圖形的函數 中的
gdImageString 用 gdImageStringTTF 替換。
用這個函數:gdImageStringTTF()
php的source中 imagettftext   的實現中有gdImageStringTTF用法。
\ext\gd\gd.c 中
《解決方案》

用webalizer分析web日誌

我裝好了,大家可以看看 webalizer 的效果,不錯的!

http://music.xmgd.com/webalizer/index.html
《解決方案》

用webalizer分析web日誌

俺想知道您這個 music.xmgd.com 的首頁在哪裡,歌看起來不錯的樣子
《解決方案》

用webalizer分析web日誌

原帖由 "lazylee"]俺想知道您這個 music.xmgd.com 的首頁在哪裡,歌看起來不錯的樣子


http://www.xmgd.com/music/index.jsp
《解決方案》

用webalizer分析web日誌

有沒有黑人說唱的呀
《解決方案》

用webalizer分析web日誌

呵呵 。。。  暫時只有中文的歌曲。

[火星人 ] 用webalizer分析web日誌已經有710次圍觀

http://coctec.com/docs/service/show-post-26141.html