配置AWstats日誌分析軟體
需求描述
管理員搭建完伺服器,要對網站的效能做後期的不斷的分析和調整,以至達到最完美的狀態。針對伺服器每天的日誌訪問量、高峰時間、壓力等等是通過日誌資訊系統分析。如果事前沒有預估,沒有給定足相應的cpu、記憶體。假如有一天突然高發值,伺服器會直接崩潰。通過觀察日誌,以便在以後工作調整中提出整改方案。
簡介
在httpd伺服器的訪問日誌檔案access_log中,記錄了大量的客戶機訪問資訊,通過分析這些資訊,可以及時瞭解Web站點的訪問情況,通過AWStats日誌分析系統,以完成自動化的日誌分析與統計工作。通過AWStats日誌分析系統可用來分析Apache、 Samba、Vsftpd、IIs等伺服器的訪問日誌資訊。
實驗環境
系統環境:centos7 64
伺服器ip地址:192.168.40.15
搭建步驟:
一、準備工作
1.關閉防火牆及selinux
[[email protected] ~]# systemctl stop firewalld
[[email protected] ~]# vi /etc/sysconfig/selinux
[[email protected] ~]# reboot #重啟Linux生效
二、搭建httpd服務
[[email protected] ~]# yum -y install httpd
[[email protected]
[[email protected] ~]# systemctl start httpd #啟動httpd 服務
[[email protected] ~]# echo "<h1>Hello everyone</h1>" > /usr/local/httpd/htdocs/index.html #設定預設首頁
測試頁面
三、搭建AWStats日誌分析系統
1、配置AWstats日誌分析軟體
apachectl -D DUMP_MODULES | grep cgi //確認載入了cgi模組
ls /usr/local/httpd/modules/ | grep cgi //確認是否編譯過cgi模組
vi /usr/local/httpd/conf/httpd.conf //手動載入
LoadModule cgid_module modules/mod_cgid.so
LoadModule cgi_module modules/mod_cgi.so
2、上傳或安裝AWStats軟體包
[[email protected] ~]# tar xf awstats-7.6.tar.gz
[[email protected] ~]# mv awstats-7.6 /usr/local/awstats #將原始碼剪下至/usr/local目錄下
[[email protected] ~]# cd /usr/local/awstats/tools/
[[email protected] ~]# chmod +x awstats_configure.pl #將配置指令碼賦予執行許可權
[[email protected] tools]# ./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):
/usr/local/httpd/conf/httpd.conf
#填寫網站伺服器的完整配置檔案路徑。這裡的路徑是/usr/local/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.ly.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.ly.com.conf'
Config file /etc/awstats/awstats.www.ly.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.ly.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.ly.com.conf
You should have a look inside to check and change manually main parameters.
You can then manually update your statistics for 'www.ly.com' with command:
perl awstats.pl -update -config=www.ly.com
You can also read your statistics for 'www.ly.com' with URL:
http://localhost/awstats/awstats.pl?config=www.ly.com #注意訪問awstats的URL
Press ENTER to finish... #預設回車退出
3、修改awstats配置檔案
[[email protected] ~]# vi awstats/awstats.www.ly.com.conf //修改程式的主配置檔案
LogFile="/usr/local/httpd/logs/access_log" //LogFile用來指定日誌檔案位置,第50行
DirData="/var/lib/awstats" //220行 手動建立每次抓取的資料存放位置
[[email protected] ~]# mkdir /var/lib/awstats #建立awstats統計資料存放目錄
4.將之前的修改過的日誌格式清空一下
[[email protected] ~]#cd /usr/local/httpd/logs/
[[email protected] logs]#rm -f *log #之前日誌格式是common,現在使用awstats改為了combined
[[email protected] logs]#service httpd restart #重新生成日誌檔案
5.採集資料及訪問awstats
[[email protected] ~]#cd /usr/local/awstats/tools/
[[email protected] tools]#chmod +x awstats_updateall.pl
[[email protected] tools]#./awstats_updateall.pl now //手動採集/跟新一次資料
接下來訪問下頁面
再次手動採集
http://192.168.40.15/awstats/awstats.pl?config=www.ly.com
6、跟新手動不方便,藉助於計劃任務執行:
[[email protected] tools]# crontab -e #編輯週期性任務計劃
/5 * /usr/local/awstats/tools/awstats_updateall.pl now
crontab -l
service crond status
systemctl enable crond
systemctl list-unit-files | grep crond
7、通過配置頁面自動跳轉優化統計頁面訪問
[[email protected] ~]#vi /usr/local/httpd/htdocs/aw.html #建立跳轉頁面
<html>
<head>
<meta http-equiv=refresh content="0;
url=http://192.168.40.15/awstats/awstats.pl?config=www.ly.com">;
</head>
<body></body>
</html>
8、設定awstats網頁訪問認證
[[email protected] ~]# vim /usr/local/httpd/conf/httpd.conf