1. 程式人生 > >AWStats 強大的日誌分析系統

AWStats 強大的日誌分析系統

軟件包 classes pac 網頁 客戶 localhost 介紹 image default

需求

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

解決方案

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

AWStats介紹

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

環境:

  • rhel6.5操作系統
  • 服務器IP地址:192.168.100.5
  • rhel6.5的鏡像光盤掛載至/mnt/cdrom/
  • 已經部署好Apache服務器
  • 已經做好DNS正向解析,通過www.test.com可以正常訪問到該服務器(請參考:DNS域名解析服務(正向解析、反向解析、主從服務器)第一部分 正向解析部分)

目標:

為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 //輸入httpd.conf的路徑

-----> 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>

或如下圖所示,即可
技術分享圖片

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   //更新站點數據

技術分享圖片

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">
</head>
<body></body>
</html>

以後直接通過如下網址便可以進行訪問: http://www.test.com/awb.html
技術分享圖片

AWStats 強大的日誌分析系統