部署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
Happy birthday to me Good night!