AWStats 強大的日誌分析系統

需求

在日常web服務器的運行中,記錄了大量的客戶機訪問的信息,而如何快捷地知道此刻web服務器的訪問及運行情況,如每天的訪問IP數量、點擊量最大的頁面、每日的訪問高峯時間段等信息呢?

解決方案

將通過使用強大的日誌分析系統AWStats對其進行自動化的日誌分析與統計工作。

AWStats介紹

AWStats是使用Perl語言開發的一款開源日誌分析系統,它不僅可用來分析Apache網站服務器的訪問日誌,也可以用來分析Samba、Vsftpd、IIS等服務的日誌信息。結合crond等計劃任務服務,可以對不斷增長的日誌內容定期進行分析。

Awstats 是一個免費的、非常簡潔而且強大的網站日誌分析系統,它可以幫助我們統計網站的如下信息:

  • 訪問量、訪問次數、獨特訪客人數;
  • 訪問時間和上次訪問;
  • 每週的高峯時間(頁數,點擊率,每小時和一週的千字節);
  • 域名/國家的主機訪客(頁數,點擊率,字節,269域名/國家檢測, geoip 檢測);
  • 主機名單,最近訪問和未解析的 IP 地址名單;
  • 訪問者看過的進出頁面,檔案類型;
  • 網站壓縮統計表(mod_gzip 或者 mod_deflate);
  • 使用的操作系統 (每個操作系統的頁數,點擊率 ,字節, 35 OS detected),使用的瀏覽器;
  • 機器人訪問(檢測 319 個機器人);
  • 蠕蟲××× (5 個蠕蟲家族);
  • 搜索引擎,利用關鍵詞檢索找到你的地址;
  • HTTP 協議錯誤(最近查閱沒有找到的頁面);
  • 其他基於 URL 的個性報導,鏈接參數, 涉及綜合行銷領域目的;
  • 網站被加入"最喜愛的書籤".次數;
  • 瀏覽器的支持比例: Java, Flash, RealG2 reader, Quicktime reader, WMA reader, PDF reader;
  • 負載平衡服務器比率集羣報告;

環境:

目標:

爲WEB站點www.test.com添加AWStates日誌分析系統

部署服務:

1. 解壓並安裝AWStates軟件包

tar zxvf awstats-7.6.tar.gz -C /opt/            //解壓至/opt目錄下
mv /opt/awstats-7.6 /usr/local/awstats          //移動文件至/usr/local/awstats目錄下
cd /usr/local/awstats/tools                 //進入awstats的tools目錄下

2. 爲www.test.com站點新建站點統計配置文件,藉助AWStates系統提供的awstats_configure.pl腳本進行創建,過程如下:

./awstats_configure.pl

----- AWStats awstats_configure 1.0 (build 20140126) (c) Laurent Destailleur -----
This tool will help you to configure AWStats to analyze statistics for
one web server. You can try to use it to let it do all that is possible
in AWStats setup, however following the step by step manual setup
documentation (docs/index.html) is often a better idea. Above all if:

  • You are not an administrator user,
  • You want to analyze downloaded log files without web server,
  • You want to analyze mail or ftp log files instead of web log files,
  • You need to analyze load balanced servers log files,
  • You want to 'understand' all possible ways to use AWStats...
    Read the AWStats documentation (docs/index.html).

-----> Running OS detected: Linux, BSD or Unix

-----> Check for web server install

Enter full config file path of your Web server.
Example: /etc/httpd/httpd.conf
Example: /usr/local/apache2/conf/httpd.conf
Example: c:\Program files\apache group\apache\conf\httpd.conf
Config file path ('none' to skip web server setup):
/etc/httpd/conf/httpd.conf #輸入Apache的配置文件絕對路徑

-----> Check and complete web server config file '/etc/httpd/conf/httpd.conf'
Add 'Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"'
Add 'Alias /awstatscss "/usr/local/awstats/wwwroot/css/"'
Add 'Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"'
Add 'ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"'
Add '<Directory>' directive
AWStats directives added to Apache config file.

-----> Update model config file '/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf'
File awstats.model.conf updated.

-----> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ? y #輸入y,生成新的配置文件

-----> Define config file name to create
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Example: demo
Your web site, virtual server or profile name:
www.test.com #輸入網站域名:www.test.com

-----> Define config file path
In which directory do you plan to store your config file(s) ?
Default: /etc/awstats
Directory path to store config file(s) (Enter for default):
#直接 “回車鍵”

-----> Create config file '/etc/awstats/awstats.www.test.com.conf'
Config file /etc/awstats/awstats.www.test.com.conf created.

-----> Restart Web server with '/sbin/service httpd restart'
Stopping httpd: [ OK ]
Starting httpd: [ OK ]

-----> Add update process inside a scheduler
Sorry, configure.pl does not support automatic add to cron yet.
You can do it manually by adding the following command to your cron:
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.test.com
Or if you have several config files and prefer having only one command:
/usr/local/awstats/tools/awstats_updateall.pl now
Press ENTER to continue...

A SIMPLE config file has been created: /etc/awstats/awstats.www.test.com.conf
You should have a look inside to check and change manually main parameters.
You can then manually update your statistics for 'www.test.com' with command:
perl awstats.pl -update -config=www.test.com
You can also read your statistics for 'www.test.com' with URL:
http://localhost/awstats/awstats.pl?config=www.test.com

Press ENTER to finish... #直接“回車鍵”退出

3. 檢查httpd.conf文件尾部是否含有以下信息

vim /etc/httpd/conf/httpd.conf

<Directory "/usr/local/awstats/wwwroot">
Options None
AllowOverride None
Order Allow,deny
Allow from all
</Directory>

或如下圖所示,即可
AWStats 強大的日誌分析系統

4. 修改站點統計配置文件

vim /etc/awstats/awstats.www.test.com.conf

......
LogFile="/var/log/httpd/access_log" //50行,修改web日誌文件位置
DirData="/var/lib/awstats" //220行,數據目錄,awstats 默認不存在(需要創建)
......

創建/var/lib/awstats目錄

mkdir -p /var/lib/awstats

5. 重啓httpd服務

service httpd stop
service httpd start

6. 使用AWStates提供的awstats_updateall.pl腳本更新所有站點的日誌統計數據

./awstats_updateall.pl now   //更新站點數據

AWStats 強大的日誌分析系統

7. 由於Web日誌文件的內容是不斷在更新的,爲了及時反饋網站訪問的情況,日誌分析工作也需要定期、自動地執行。可以通過crond服務設置計劃性任務

添加計劃性任務

crontab -e

/1 * /usr/local/awstats/tools/awstats_updateall.pl now //每分鐘更新一次數據

啓動crond服務

service crond start

通過以下網站進行訪問awstats日誌分析系統:http://www.test.com/awstats/awstats.pl?config=www.test.com

8. 爲了便於訪問awstats日誌分析系統進行以下優化

cd /usr/local/apache/htdocs        //進入web站點目錄下

vim awb.html //創建awb.html網頁文件,並寫入以下文件

<html>
<head>
<meta http-equiv=refresh content="0;url=http://www.test.com/awstats/awstats.pl?config=www.test.com"&gt;
</head>
<body></body>
</html>

以後直接通過如下網址便可以進行訪問: http://www.test.com/awb.html
AWStats 強大的日誌分析系統

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章