1. 程式人生 > >Apache日誌分割&日誌分析

Apache日誌分割&日誌分析

日誌分割 日誌分析 日誌統計

Apache日誌分割

隨著網站的訪問量越來越大,默認情況下Apache服務器產生的單個日誌文件也會越來越大,如果不采用日誌分割,當日誌文件不斷增大時,當占用太大的磁盤空間時將會被系統刪除,而且隨著日誌文件的增大,對於管理員對Apache服務器進行訪問分析、網絡安全監察、網絡運行狀況監控等操作帶來較大難度,因此管理這些海量日誌對網站的意義重大。

實驗描述:

  • 完成對Apache的日誌分割
  • 本實驗采用Apache2.2版本
  • 服務器IP:192.168.100.107
  • 所需服務:httpd、DNS
  • 服務器系統Redhat6.5版本

服務部署

rpm -q httpd //檢查Apache是否安裝和安裝版本

rpm -q bind //檢查DNS服務是否安裝
service iptables stop
setenforce 0

1、配置DNS服務

詳細可參見可參見:DNS域名解析服務配置

rpm -ivh /mnt/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm //首先安裝DNS域名解析服務
vim /etc/named.conf //配置域名解析主配置文件

options {
        listen-on port 53 { 192.168.100.107; }; //監聽端口主機IP
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };   //允許任意網段主機都可解析
        recursion yes;

vim /etc/named.rfc1912.zones //編輯區域配置文件

zone "yun.com" IN {
        type master;
        file "yun.com.zone";
        allow-update { none; };
};

cd /var/named //切換到區域數據配置目錄下
cp -p named.localhost yun.com.zone //復制區域數據配置文件模板
vim yun.com.zone //配置區域數據配置文件

$TTL 1D
@       IN SOA  @ admin. (     //修改管理員郵箱
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.100.107   //設置解析地址

service named start //開啟DNS服務

2、配置日誌分割

rpm -ivh /mnt/Packages/httpd-2.2.15-29.el6_4.x86_64.rpm // 安裝Apache2.2
vim /etc/httpd/conf/httpd.conf //編輯主配置文件

Listen 192.168.100.107:80  //更改監聽地址和監聽端口
#Listen 80   //註釋IPV6的監聽
...
ServerName www.yun.com:80  //打開主機域名

vim /etc/httpd/con.d/vhost.conf

寫入以下內容:

<VirtualHost *:80>      //任意網址的80端口
   ServerAdmin [email protected]  //管理員郵箱
   DocumentRoot "/usr/local/apache/htdocs"  //創建Apache域名首頁站點
   ServerName www.yun.com   //訪問域名
   ErrorLog "|/usr/sbin/rotatelogs -l /usr/local/apache/logs/www.benet.com-error_%Y%m%d.log 86400"  
   //調用Apache自帶日誌分割工具rotatelogs
   //錯誤日誌
   CustomLog "|/usr/sbin/rotatelogs -l /usr/local/apache/logs/www.benet.com-access_%Y%m%d.log 86400" combined
   //訪問日誌,按年月日顯示
   //註:此處需要制定日誌分割的存放位置/usr/local/apache/logs
</VirtualHost>

mkdir -p /usr/local/apache/htdocs //創建站點
echo "this is rotatelogs web" > /usr/local/apache/htdocs/index.html //編輯首頁內容
mkdir -p /usr/local/apache/logs //創建日誌分割存放目錄

service httpd start //啟動httpd服務

當訪問網站頁面時:
技術分享圖片

可以看到/usr/local/apache/logs下生成了日誌文件:
技術分享圖片

當修改服務器系統日期時,再次訪問Apache服務網站,則會按日期又生成一份日誌文件:
技術分享圖片

訪問日誌分析

在httpd的訪問日誌文件中,記錄了大量的客戶機訪問信息,通過分析這些信息,可以及時了解web站點的訪問情況,這裏通過安裝AWStsts日誌分析系統,完成自動化的日誌分析與統計工作。

1、部署AWStats分析系統

mount.cifs //192.168.100.3/awstats /opt/abc/
通過共享掛載將awstats軟件掛載到/opt/abc下
tar zxvf awstats-7.6.tar.gz -C /opt/ 解壓軟件包
mv /opt/awstats-7.6 /usr/local/awstats //將軟件包重命名到/usr/local/,因為該軟件在解壓後可直接使用,因此不需要安裝
cd /usr/local/awstats/tools //切換到工具目錄下

./awstats_configure.pl //執行配置文件

Config file path (‘none‘ to skip web server setup):
> /etc/httpd/conf/httpd.conf          //輸入主配置文件
Your web site, virtual server or profile name:
> www.yun.com                       //輸入域名

//其他全部是y 或者 回車

vim /etc/httpd/conf/httpd.conf //當執行完上面的文件後,再次打開httpd服務主配置文件,發現末尾多了如下內容

<Directory "/usr/local/awstats/wwwroot">    //awstats默認站點
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

vim /etc/awstats/awstats.www.yun.com.conf //編輯需要統計的網站的配置文件

LogFile="/var/log/httpd/access_log"    
//修改訪問日誌文件位置
//也就是指向日誌分割後的日誌文件所在位置
DirData="/var/lib/awstats"              
//用來指定數據目錄,可采用默認,awstats 默認不存在(需要創建)

mkdir -p /var/lib/awstats //創建默認數據目錄
service httpd restart //重啟httpd服務

在瀏覽器中訪問:
http://www.yun.com/awstats/awstats.pl?config=www.yun.com 即可進入統計頁面

cd /usr/local/awstats/tools/
./awstats_updateall.pl now //刷新統計信息
技術分享圖片

2、優化頁面地址

按照上述方法,在訪問統計頁面時輸入頁面地址過長,也容易出錯,因此需要通過對頁面地址進行優化,方便管理和訪問。
cd /usr/local/apache/htdocs //切換到網頁訪問默認站點下
vim awb.html //設置統計頁面首頁

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

將統計頁面網址替換成www.yun.com/awb.html

crontab -e //使用周期性任務刷新統計信息

*/5 * * * *  /usr/local/awstats/tools/awstats_updateall.pl now   

//設置每隔五分鐘刷新

service httpd restart //重啟httpd服務

在瀏覽器中輸入www.yun.com/awb.html即可實現訪問
技術分享圖片

Apache日誌分割&日誌分析