天天看點

Web伺服器群集——部署AWStats基于Apache的日志管理

部署AWStats基于Apache的日志管理

    • 日志分割
    • AWStats日志分析系統介紹
    • 部署AWStats
      • 安裝Apache服務
      • 安裝AWStats軟體包
      • 為要統計的站點建立配置檔案
      • 修改站點統計配置檔案
      • 執行日志分析,并設定cron計劃任務
      • 通路AWStats分析系統

日志分割

随着網站的通路量增加,預設情況下Apache的單個日志檔案也會越來越大

  • 日志檔案占用磁盤空間很大
  • 檢視相關資訊不友善

對日志檔案進行分割

  • Apache自帶rotatelogs分割工具實作
  • 第三方工具cronolog分割

AWStats日志分析系統介紹

  • Perl語言開發的一款開源日志分析系統
  • 可用來分析Apache、 Samba、Vsftpd、IIS等伺服器的通路日志
  • 資訊結合crond等計劃任務服務,可對日志内容定期進行分析
    Web伺服器群集——部署AWStats基于Apache的日志管理

部署AWStats

安裝Apache服務

#部署Apache
[[email protected] ~]# yum -y install httpd              #安裝Apache服務
[[email protected] ~]# systemctl enable httpd --now      #立即啟動并開機自啟動
           

安裝AWStats軟體包

使用 awstats-7.6 版本

[[email protected] ~]# tar -xvzf awstats-7.6.tar.gz      #解壓
[[email protected] ~]# mv awstats-7.6 /usr/local/awstats
           

為要統計的站點建立配置檔案

  • AWStats系統支援統計多個網站的日志檔案,通常以網站名稱來區分不同的站點。
  • 是以,在執行日志檔案分析之前,需要為每個Web站點建立站點統計配置檔案,借助與AWStats系統提供的awstats_configure.pl腳本可以簡化建立過程
#首先切換到awstats/tools目錄下,執行腳本
[[email protected] ~]# cd /usr/local/awstats/tools/
[[email protected] tools]# chmod +x awstats_configure.pl
[[email protected] tools]# ./awstats_configure.pl
...
Config file path ('none' to skip web server setup):
> /etc/httpd/conf/httpd.conf                                #指定Apache主配置檔案路徑
...
-----> 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                  #為指定Web站點建立配置檔案
...
Your web site, virtual server or profile name:
> www.pakho.com                                             #指定要統計的目标網站名稱
...
Directory path to store config file(s) (Enter for default):
>                                                           #直接Enter接受預設配置
...
Press ENTER to finish...                                    #連續Enter兩遍完成配置
#接下來後續配置工作會嘗試重新開機httpd服務

[[email protected] tools]# vim /etc/httpd/conf/httpd.conf
...
#最後一行
<Directory "/usr/local/awstats/wwwroot">
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all                                          #以上均為預設
    Require all granted                                     #添加要求所有授權
</Directory>
           

修改站點統計配置檔案

[[email protected] tools]# vim /etc/awstats/awstats.www.pakho.com.conf
#為了模拟實驗,我通路了無數次網站并copy了日志
...
LogFile="/var/log/httpd/2021.6.11_log"                      #設定對應的日志
DirData="/var/lib/awstats"                                  #預設存在的目錄需要等下手動建立
[[email protected] tools]# mkdir /var/lib/awstats
           
  • LogFile用來指定日志路徑,應設定Web日志檔案的實際位置
  • DirData用來指定資料目錄,可以采用預設值,但需要建立指定的目錄(/var/lib/awstats)

執行日志分析,并設定cron計劃任務

  • 使用AWStats提供的awstats_updateall.pl腳本,可以更新所有站點(根據站點配置檔案)的日志統計資料
  • 執行該腳本時,系統将會自動分析新增的日志内容,并将分析結果更新到統計資料庫中
[[email protected] tools]# chmod +x awstats_updateall.pl
[[email protected] tools]# ./awstats_updateall.pl
...
[[email protected] tools]# echo $?
0
           
  • 由于web日志檔案的内容是在不斷更新的,為了及時回報網站通路情況,日志分析工作也需要定期、自動地執行。通過crond服務可設定計劃任務,一般建議每五分鐘執行一次日志分析任務
[[email protected] tools]# crontab -e
*/5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
[[email protected] tools]# systemctl start crond
[[email protected] tools]# systemctl enable crond
[[email protected] tools]# crontab -l
*/5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
           
  • 在通路AWStats系統時,需要指定awstats目錄、腳本位置等資訊,不便于記憶也比較麻煩,為了簡化操作,可以在web根目錄下建立一個自動跳轉的HTML網頁,例如,執行以下操作後,使用者隻要通路http://www.pakho.com/awb.html,即可自動跳轉到www.pakho.com站點的AWStats日志分析頁面
[[email protected] tools]# vim /var/www/html/awb.html
<html>
<head>
<meta http-equiv=refresh content="0;
url=http://www.pakho.com/awstats/awstats.pl?config=www.pakho.com">
</head>
<body></body>
</html>
           

通路AWStats分析系統

http://www.pakho.com/awb.html
           
Web伺服器群集——部署AWStats基于Apache的日志管理

Happy birthday to me Good night!