ubutun 下webalizer 分析Apache日誌

http://www.webalizer.org/  配置Webalizerphp

咱們能夠經過命令行配置Webalizer,也能夠經過配置文件進行配置。下面將重點介紹使用配置文件進行配置,該方法使用形式比較直觀,使用比較廣泛。html

Webalizer的配置文件的路徑是"/etc/webalizer/webalizer.conf.sample。在通常狀況下,該配置文件的默認參數配置都能知足必定的應用須要,能夠直接使用。接下來以實例的方式給你們介紹如何配置該文件。linux

使用vi編輯Webalizer配置文件。web

webalizer/webalizer.conf

設置訪問日誌的存放路徑。apache

將系統默認值:瀏覽器

改成以下內容:

設置報表輸出目錄。

 

從默認值:緩存

使用crontab命令讓Webalizer天天生成Apache的當日流量統計分析。

 

添加以下配置行,使得Webalizer每晚9點生成當天的Squid流量統計分析結果。
21 0 * * * /usr/bin/webalizer -c /etc/webalizer/webalizer.conf
查看頁面以下: 

網絡流量日誌分析對於網絡管理員來講很是重要。經過系統記載的流量日誌,管理員能夠清楚地看到用戶對網絡服務器的使用狀況,可以從中挖掘及發現網絡中可能存在的安全問題。安全

在Linux下有許多日誌及流量分析軟件。Webalizer就是其中一個高效、簡單易用、免費的Web服務器日誌及流量 分析程序。Internet上的不少站點都使用它進行Web服務器日誌及流量分析。本文將以對Linux下的代理服務器Squid的流量日誌做分析爲背 景,詳細介紹如何使用該軟件進行流量分析。服務器

Webalizer具備如下一些特性:網絡

● 用C語言編寫,具備很高的運行效率。在主頻爲200Mhz的機器上,Webalizer每秒鐘能夠分析10000條記錄,因此分析一個40M大小的日誌文件只需15秒。

●支持標準的通常日誌文件格式(Common Logfile Format); 除此以外,也支持幾種組合日誌格式(Combined Logfile Format)的變種,從而能夠統計客戶狀況以及客戶操做系統類型。而且如今Webalizer已經能夠支持wu-ftpd xferlog日誌格式以及Squid日誌文件格式了。

安裝配置Webalizer

1. 源代碼包的安裝

從Webalizer的站點http://www.mrunix.net/webalizer/download.html下載Webalizer,當前的最新版本是Webalizer-2.01-10-src.tgz。按照以下步驟進行安裝:

//解壓開源代碼包

#tar xvzf Webalizer-2.01-10-src.tgz

//而後進入生成的目錄

#./configure

#make --with-language=chinese

//編譯成功後,會產生一個Webalizer可執行文件,能夠將其拷貝到/usr/sbin/目錄下

#cp Webalizer /usr/sbin/

這樣,安裝就成功了,就能夠對其進行配置了。

2. RPM包的安裝

Red Hat Linux 9中提供了Webalizer的RPM安裝包,下面介紹安裝該RPM包的步驟:

#rpm -qa | grep webalizer //查看是否已經安裝了Webalizer

#mount /mnt/cdrom //將第一張安裝光盤放入光驅後掛裝光盤分區

#cd /mnt/cdrom/Red Hat/RPMS

//進入/mnt/cdrom/Red Hat/RPMS目錄

#rpm -ivh webalizer-2.01_10-11.i386.rpm

//執行安裝

用戶能夠經過命令行配置Webalizer,也能夠經過配置文件進行配置,下面將介紹使用配置文件進行配置,該方法使用形式比較直觀,較爲廣泛。

Webalizer的配置文件的路徑爲: /etc/webalizer.conf,其有一個對應的例子文件/etc/webalizer.conf.sample。在通常狀況下,該配置文件的默 認選項都能知足必定應用須要,能夠直接使用。下面給出配置該文件的實際例子和步驟:

1.使用vi編輯webalizer配置文件

#vi /etc/webalizer.squid.conf

2.設置訪問日誌的存放路徑,將系統默認值:LogFile /var/log/httpd/access_log改成以下內容:

LogFile /var/log/squid/access.log

3.設置訪問日誌的格式類型,將LogType clf修改成:

LogType squid

4.將報表輸出目錄從默認值OutputDir /var/www/html/usages設爲Squid的統計報表,保存目錄。使用crontab命令讓webalizer天天生成Squid的當日流量統計分析。

#crontab -e

5.添加以下配置行,使得webalizer每晚9點生成當天的Squid流量統計分析結果:

21 0 * * * /usr/bin/webalizer -c /etc/webalizer.conf

Squid日誌管理介紹

Squid是Linux下一個緩存Internet數據的代理服務器軟件,其接收用戶的下載申請,並自動處理所下載的數據。在網絡環境下,本地網絡管理員常常能夠經過其來代理訪問互聯網的不少資源,於是對其進行日誌審覈和管理具備重大意義。

Squid日誌管理的功能比較強大。經過查看相關日誌文件,用戶能夠實時、準確地瞭解代理服務器的訪問記錄、cache的存儲情況、cache的訪問記錄等許多有用的信息,從而高效地對代理服務器進行管理。

Squid最重要的日誌文件就是訪問日誌,其訪問路徑爲: /var/log/squid/access.log。該日誌文件記錄了客戶使用代理服務器的許多有用信息,包括使用時間、請求的內容、客戶端信息等等。該文件的格式以下所示:

time eclapsed remotehost code/status bytes method URL rfc931 peerstatus/ peerhost type

如上能夠看到,該日誌文件的記錄共包含10個字段,每一個字段的含義以下:

● time: 記錄客戶訪問代理服務器的時間,從1970年1月1日到訪問時所經歷的秒數,精確到毫秒。

● eclapsed: 記錄處理緩存所花費的時間,以毫秒計數。

● remotehost: 記錄訪問客戶端的IP地址或者是域名。

● code/status: 結果信息編碼/狀態信息編碼,如TCP_MISS/205。

● bytes: 緩存字節數。

● method: HTTP請求方法,GET或者POST。

● URL: 訪問的目的地址的URL,如www.sina.com.cn。

● Rfc931: 默認的,暫未使用。

● peerstatus/peerhost: 緩存級別/目的IP,如DIRECT/211.163.21.19。

● type: 緩存對象類型,如text/html。

下面給出了實際應用中的一段真實的訪問日誌,只取出了其中的一部分:

#cd /var/log/squid

#cat access.log

1119263842.955 195 192.168.10.3 TCP_MISS/200 1286 GET http://ad4.sina.com. cn/sina/ae/ad_src/popup/pops1.html? - DIRECT/218.30.108.19 text/html

1119263843.241 286 192.168.10.3 TCP_MISS/200 44689 GET http://ad4.sina.com. cn/200506/15/21135_300x250.GIF - DIRECT/218.30.108.18 image/gif

以第一條日誌記錄爲例,其各個字段的含義以下:

客戶訪問代理服務器的時間爲1119263842.955毫秒。處理緩存所花費的時間爲195毫秒。客戶端的IP地址爲 192.168.10.3,爲內網地址。結果信息編碼/狀態信息編碼爲TCP_MISS/200。緩存字節數爲1286。HTTP請求方法爲GET。訪問 的目的地址的URL爲: http://ad4.sina.com.cn/sina/ae/ad_src/popup/pops1.html。緩存級別/目的IP爲: DIRECT/218.30.108.19。緩存對象類型爲text/html。rfc913暫未使用,用「-」表示。

在上述的10個字段當中,信息編碼以及狀態信息編碼比較重要,其代表了代理服務器對於客戶請求的信息的返回結果,與代理服務器的cache命中率以及cahce處理過程有直接關係,該信息可以實在地反映代理服務器的cache的總體性能,具備較大的參考價值。

查看Squid網絡流量日誌

Webalizer能夠將上述大量的Squid日誌信息綜合起來進行統計,得出可視化的顯示結果供網絡管理員或者網絡用戶進行參考和評價Squid服務器的使用狀況,對於做出相應的決策有至關的參考價值。

在使用過程當中須要注意: 因爲該軟件的使用結果都是經過Web頁面來顯示的,因此與Web服務器的聯繫比較緊密。下面給出該軟件結合Squid服務器的使用示例。一般狀況,配置好 該軟件以後,啓動Web服務器(只有啓動該服務器才能經過Web頁面來查看日誌統計的詳細狀況)和該軟件便可:

#service httpd start

#/usr/bin/webalizer -c /etc/webalizer.conf

啓動Apache服務以及該軟件後,就能夠經過瀏覽器來查看Squid代理服務器的流量分析結果了,在IE瀏覽器的地址欄內輸入Apache服務器的地址: http://210.77.27.59/usage,則獲得如圖所示結果。


圖 查看流量統計信息

圖中給出了流量分析的示意圖以及一些數聽說明,更詳細的統計分析數據,能夠點擊圖中「Summary by Month」表格的「Jul 2005」超連接,則顯示出更詳細的信息,經過分析和查看這些統計圖表的結果,用戶能夠清楚地知道Squid代理服務器使用的細節狀況,並能夠根據狀況來 對服務器作出適當地調整和優化。

最後,使用Webalizer還有一個須要注意的問題是: 一般並不須要每一個用戶都有權限來查看代理服務器的流量狀況,不然對於系統來講是不安全的。非法用戶爲了掩蓋本身非法使用代理服務器事實的目的,能夠對流量 狀況統計的結果進行修改、刪除等操做。因此,咱們須要使用訪問控制策略來對上述分析圖表的查看權限進行控制,能夠在Apache的主配置文件/etc /htpd/conf/httpd.conf中進行認證和受權的配置,以下所示:

< Directory 「/var/www/html/usage」>

//使用基本認證方式

AuthType Basic

//指定認證域名稱

AuthName 「admin」

//指定認證口令文件存放的位置

AuthUserFile /var/www/passwd/admin

//受權給認證口令文件中的全部用戶

require valid-user

< /Directory>

認證和受權配置成功後,須要建立認證口令文件以及添加用戶。

#mkdir /var/www/passwd

#cd /var/www/passwd

#htpasswd -C admin liyang

New password:

Re-type new password:

Adding passwor for user liyang

而後,將口令文件的屬主改成apache,並從新啓動Apache:

#chown apache.apache admin

#service httpd restart

通過上面的配置後,用戶在IE地址欄內輸入路徑: http://210.77.27.59/usage後,具備認證和受權的用戶才能經過用戶驗證界面,查看Squid代理服務器的流量分析報表信息。

 

 

安裝II---------------------------------------------

Webalizer 的配置不是很困難,可是對於新手來講,安裝起來卻十分的麻煩,本文將詳細敘述安裝過程,幫你一步一步走向成功! 

   Webalizer 吹牛在一臺 200 Mhz 的普通 Pentium 機器上處理一萬條記錄只須要一秒鐘,可是在個人賽揚機器上可沒有那麼快。大 概是我作了 IP 地址的反向解析的緣故。可是,不論速度如何,我認爲 Webalizer 儘管不能和某些商業軟件的界面媲美,可是和其餘的開源軟件比 起來,其統計能力要強得多。 

  一. 安裝 

  Webalizer 須要用到相關的 jpeg, png 和 zlib庫,這些庫通常不缺省安裝,所以初學者會感到難於下手。因爲這些庫具備相關性,所以下面的安裝步驟不能顛倒: 

  一、jpeg 庫的安裝 
  從 http://www.ijg.org/ 下載 jpeg 庫,解開壓縮文件後,進入到這個目錄: 
  ./configure 
  make 
  make install 
  cd .. 
  二、zlib 庫的安裝 
  從 http://www.info-zip.org/pub/infozip/zlib/ 下載 zlib 庫後, 

  gunzip zlib*.tar.gz 
  tar -xvpf zlib-1.1.3.tar 
  mv zlib-1.1.3 zlib 
  cd zlib 
  ./configure 
  make 
  make test 
  make install 
  cd .. 

三、libpng 庫的安裝 


  從 http://www.libpng.org/ 下載 libpng 後: 

  gunzip libpng*.tar.gz 
  tar -xvpf libpng-1.0.10.tar 
  mv libpng-1.0.10 libpng 
  cd libpng 
  cp scripts/makefile.linux makefile 
  make 
  make test 
  make install 
  cd .. 

  你還能夠從 http://www.freetype.org/download.html 選擇下載 freetype 字庫,可是這個步驟不是必須的。 
  cd freetype* 
  make setup 
  make 
  make install 
  cd .. 

  下面咱們就能夠開始安裝 gd 庫了: 
  從 http://www.boutell.com/gd/ g下載 d-1.8.4.tar.gz : 

cd gd-1.8.4 

  #若是須要使用 Xpm 或者 TrueType 支持,在 make 以前修改 Makefile。 

  make 

  #不少人會經歷找不到 gd.h 的問題,建議你在硬盤上搜索老的 gd.h 版本,而後 make install 

  接下來,咱們就能夠開始安裝 Webalizer 了,從 http://www.mrunix.net/webalizer/ 下載後: 

  cd webalizer-2.01-06 
  ./configure 
  make 
  make install 

  若是不是經過源碼編譯的方法來安裝 Webalizer 的話,你須要備份 /etc/webalizer.conf。 

  若是須要使用 DNS 反向解析功能的話,咱們還須要安裝 Berkeley DB。具體的安裝能夠參考文檔:DNS.README。 
二. 配置: 

  一個普通的配置文件爲: 
  HideReferrer www.freelamp.com 
  Incremental yes 
  PageType htm* 
  PageType cgi 
  PageType php 
  PageType pl 
  IgnoreHist no 
  CountryGraph yes 
  IndexAlias index.cgi 
  IndexAlias index.php 
  HideReferrer Direct Request 
  HideURL *.gif 
  HideURL *.GIF 
  HideURL *.jpg 
  HideURL *.JPG 
  HideURL *.png 
  HideURL *.PNG 
  GroupURL /cgi-bin/* CGI Scripts 
  GroupURL /images/* Images 
  GroupReferrer yahoo.com/ Yahoo! 
  GroupReferrer excite.com/ Excite 
  GroupReferrer infoseek.com/ InfoSeek 
  GroupReferrer webcrawler.com/ WebCrawler 
  GroupReferrer google.com/ Google 
  GroupReferrer lycos.com/ Lycos 
  GroupReferrer metacrawler.com/ Metacrawler 
  GroupAgent MSIE Internet Exploder 
  GroupAgent Mozilla Netscape 
  GroupShading yes 
  MangleAgents 3 


   而後咱們運行/usr/local/bin/webalizer -Q -c /root /webalizer.conf -n www.freelamp.com -o /home/freelamp/public_html/log / /home/freelamp/logs/freelamp.log 把這句話寫入 crontab ,咱們就能從http://www.freelamp.com/log/ 看到日誌統計結果了。

安裝III--------------------------------------------

最近在搞Linux下resin 服務器的日誌分析,網上對webalizer這個工具評價挺高的,並且它是免費的,所以我就安裝起來.
    需求:
     因爲webalizer在作報表時須要用到繪圖,所以在安裝webalzer前要先裝libpng 庫,和gd庫從 http://aleron.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.7-config.tar.gz 下載gd-1.2.7.tar.gz後考到一個目錄下解壓
tar -xfzv libpng-1.2.7.tar.gz
cd  libpng解壓所在目錄
./configure
make
make install
--------------libpng安裝完畢---
如今開始 gd 庫
http://www.boutell.com/gd/http/gd-2.0.28.tar.gz  下載gd.2.0.28.tar.gz
tar -xfzv gd-2.0.28.tar.gz
cd gd解壓目錄
./configure
make
make install
----------------gd庫安裝完-----
如今開始安裝webalizer了

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

2.首先解開源代碼包:

tar xvzf webalizer-2.01-10-src.tgz

3.在生成的目錄中有個lang目錄,該目錄中保存了各類語言文件,有繁體中文版本和簡體中文版.

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

./configure
./configure make --with-language=simplified_chinese
make
make install

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

cp webalizer /usr/sbin/

而後就能夠開始配置webalizer了。(配置按本身的實際狀況配置,裏面有詳細的註釋)
配置文件默認是/etc/webalizer.conf
測試:
用root 登錄,執行 /etc/rc.d/webalizer
正常時提示:

使用日誌文件 /home/smp/resin/logs/access.log (clf)
輸出結果到 /home/smp/resin/webapps/itemLog
產生報表的主機名是 '192.168.1.102:8080'
正在讀取歷史信息文件... webalizer.hist
正在生成報表 ---- 爲  十一月 2004
正在生成綜合報表
正在保存歷史信息文件...
287 條記錄 共用時 0.04 秒

爲了讓webzlizer按計劃運行,全部如今我寫一個腳本:(在/etc/rc.c/webalizer)
export HOME=/

export PATH=/usr/bin

export LD_LIBRARY_PATH=/usr/local/lib
export NLS_LANG=american_america.ZHS16GBK
export CLASSPATH=/usr/local/lib

export LANG=zh_CN.gb2312i

#!/bin/sh/usr/bin/webalizer > /etc/rc.d/out.log注意環境變量必定要配,否則執行不了的在crontab -e 中添加59 23 * * * /etc/rc.d/webalizer -c /etc/webalizer.conf如今大功告成了.

相關文章
相關標籤/搜索