1. 程式人生 > >構建AWStats日誌分析系統

構建AWStats日誌分析系統

執行權限 support server tro 便在 conf 時間 virt 周期性任務

需求描述

管理員搭建完服務器,要對網站的性能做後期的不斷的分析和調整,以至達到最完美的狀態。針對服務器每天的日誌訪問量、高峰時間、壓力等等是通過日誌信息系統分析。如果事前沒有預估,沒有給定足相應的cpu、內存。假如有一天突然高發值,服務器會直接崩潰。通過觀察日誌,以便在以後工作調整中提出整改方案。

簡介

在httpd服務器的訪問日誌文件access_log中,記錄了大量的客戶機訪問信息,通過分析這些信息,可以及時了解Web站點的訪問情況,通過AWStats日誌分析系統,以完成自動化的日誌分析與統計工作。通過AWStats日誌分析系統可用來分析Apache、 Samba、Vsftpd、IIs等服務器的訪問日誌信息。

功能描述

  • 訪問量,訪問次數,頁面瀏覽量,點擊數,數據流量等
  • 精確到每月、每日、每小時的數據
  • 訪問者國家
  • 訪問者IP
  • Robots/Spiders的統計
  • 訪客持續時間
  • 對不同Files type的統計信息
  • Pages-URL的統計
  • 訪客操作系統瀏覽器等信息
  • 其它信息(搜索關鍵字等等)

實驗環境

系統環境:centos6.5
服務器IP地址:192.168.100.103
yum掛載目錄:/mnt/sr0

搭建步驟

一、準備工作

1、關閉防火墻及selinux

[root@localhost ~]# chkconfig iptables off #隨開機關閉iptables
[root@localhost ~]# vim /etc/sysconfig/selinux

技術分享圖片

[root@localhost ~]# reboot #重啟Linux生效

二、搭建httpd服務

[root@localhost ~]# yum -y install httpd
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf #修改主配置文件

編輯以下參數:

ServerName www.bt.com:80
Listen 192.168.100.103:80

[root@Init5 ~]# /etc/init.d/httpd start #啟動httpd服務
[root@Init5 ~]# echo "<h1>Hello World</h1>" > /var/www/html/index.html #設置默認首頁

三、搭建DNS服務器

1、安裝bind軟件包

[root@localhost ~]# cd /mnt/sr0/Packages/
[root@localhost Packages]# rpm -ivh bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm

2、修改主配置文件named.conf

[root@localhost ~]# vim /etc/named.conf
技術分享圖片

3、創建並修改DNS正向解析文件

[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -p named.localhost bt.com.zone #將模板文件改為正向解析文件進行修改
[root@localhost ~]# vim /var/named/bt.com.zone #修改正向解析文件
技術分享圖片

4、啟動DNS服務器

[root@localhost ~]# /etc/init.d/named start

5、修改DNS客戶機配置文件

[root@localhost ~]# echo "nameserver 192.168.100.103" >> /etc/resolv.conf

6、測試DNS解析

[root@localhost ~]# nslookup www.bt.com #nslookup 用於查詢DNS的記錄,查看域名解析是否正常
技術分享圖片

四、搭建AWStats日誌分析系統

1、安裝AWStats軟件包

[root@localhost ~]# tar xvf awstats-7.6.tar.gz #解壓
[root@localhost ~]# mv awstats-7.6 /usr/local/awstats #源碼剪切至/usr/local下

[root@localhost ~]# cd /usr/local/awstats/tools/
[root@localhost ~]# chmod +x awstats_configure.pl #將配置腳本賦予執行權限

[root@localhost tools]# ./awstats_configure.pl #配置AWStats服務

----- 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 #可以填寫rpm包安裝配置文件
Example: /usr/local/apache2/conf/httpd.conf #可以填寫源碼包安裝的配置文件
Example: c:\Program files\apache group\apache\conf\httpd.conf #可以填寫windows下安裝的apache配置文件
Config file path (‘none‘ to skip web server setup):

> /etc/httpd/conf/httpd.conf #填寫網站服務器的完整配置文件路徑。我的路徑是/etc/httpd/conf/httpd.conf

-----> Check and complete web server config file ‘/usr/local/httpd/conf/httpd.conf‘
Warning: You Apache config file contains directives to write ‘common‘ log files
This means that some features can‘t work (os, browsers and keywords detection).

Do you want me to setup Apache to write ‘combined‘ log files [y/N] ? y #將日誌格式轉換成combined,顯示更為詳細

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 #是否需要創建AWStats的配置文件,當然"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.bt.com #綁定網站域名,虛擬主機名或者自定義配置名,可以同時支持多個站點進行觀測。我這裏填寫的是www.bt.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):

> #定義配置文件路徑,直接點擊回車默認是在/etc/awstats目錄下

-----> Create config file ‘/etc/awstats/awstats.www.bt.com.conf‘
Config file /etc/awstats/awstats.www.bt.com.conf created.

-----> Restart Web server with ‘/sbin/service httpd restart‘

-----> 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.bt.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.bt.com.conf
You should have a look inside to check and change manually main parameters.
You can then manually update your statistics for ‘www.bt.com‘ with command:
\> perl awstats.pl -update -config=www.bt.com
You can also read your statistics for ‘www.bt.com‘ with URL:

> http://localhost/awstats/awstats.pl?config=www.bt.com #註意訪問awstats的URL

Press ENTER to finish… #點擊回車結束

2、刪除httpd日誌

[root@localhost ~]# cd /var/log/httpd/
[root@localhost logs]# rm -rf *_log #之前日誌格式是common,現在使用awstats改為了combined
[root@localhost logs]# service httpd restart #重啟服務,使配置文件中修改的日誌格式生效

3、修改awstats配置文件

[root@localhost ~]# vim /etc/awstats/awstats.www.bt.com.conf

修改以下參數:

LogFile="/var/log/httpd/access_log" #指定httpd服務的訪問日誌文件的位置
DirData="/var/lib/awstats" #awstats統計的所有數據存放的位置,沒有存在需要手工建立
Lang="cn" #中文語言
LevelForWormsDetection=2?? #日誌等級,不對警告日誌進行統計

[root@localhost ~]# mkdir /var/lib/awstats #創建awstats統計數據存放目錄

4、采集數據

[root@localhost ~]# cd /usr/local/awstats/tools/
[root@localhost tools]# chmod +x awstats_updateall.pl #將awstats工具目錄下所有命令賦予執行權限
技術分享圖片

[root@localhost tools]# ./awstats_updateall.pl now #數據采集完成

5、訪問awstats

技術分享圖片

6、引入周期性計劃任務

[root@localhost tools]# crontab -e #編輯周期性任務計劃

/5 * /usr/local/awstats/tools/awstats_updateall.pl now #每隔五分鐘采集一次數據

7、設置網頁自動跳轉

[root@localhost ~]# vim /var/www/html/abc.html #創建跳轉頁面

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

8、再次測試訪問

技術分享圖片

9、設置awstats網頁訪問認證

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
技術分享圖片

10、登錄訪問

技術分享圖片

構建AWStats日誌分析系統