需求描述
管理員搭建完服務(wù)器,要對(duì)網(wǎng)站的性能做后期的不斷的分析和調(diào)整,以至達(dá)到最完美的狀態(tài)。針對(duì)服務(wù)器每天的日志訪問(wèn)量、高峰時(shí)間、壓力等等是通過(guò)日志信息系統(tǒng)分析。如果事前沒(méi)有預(yù)估,沒(méi)有給定足相應(yīng)的cpu、內(nèi)存。假如有一天突然高發(fā)值,服務(wù)器會(huì)直接崩潰。通過(guò)觀察日志,以便在以后工作調(diào)整中提出整改方案。
讓客戶(hù)滿意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、虛擬空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、龍川網(wǎng)站維護(hù)、網(wǎng)站推廣。
簡(jiǎn)介
在httpd服務(wù)器的訪問(wèn)日志文件access_log中,記錄了大量的客戶(hù)機(jī)訪問(wèn)信息,通過(guò)分析這些信息,可以及時(shí)了解Web站點(diǎn)的訪問(wèn)情況,通過(guò)AWStats日志分析系統(tǒng),以完成自動(dòng)化的日志分析與統(tǒng)計(jì)工作。通過(guò)AWStats日志分析系統(tǒng)可用來(lái)分析Apache、 Samba、Vsftpd、IIs等服務(wù)器的訪問(wèn)日志信息。
實(shí)驗(yàn)環(huán)境
系統(tǒng)環(huán)境:centos7 64
服務(wù)器ip地址:192.168.40.15
搭建步驟:
一、準(zhǔn)備工作
1.關(guān)閉防火墻及selinux
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# vi /etc/sysconfig/selinux
[root@localhost ~]# reboot #重啟Linux生效
二、搭建httpd服務(wù)
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf #修改主配置文件
[root@localhost ~]# systemctl start httpd #啟動(dòng)httpd 服務(wù)
[root@localhost ~]# echo "
測(cè)試頁(yè)面
三、搭建AWStats日志分析系統(tǒng)
1、配置AWstats日志分析軟件
apachectl -D DUMP_MODULES | grep cgi //確認(rèn)加載了cgi模塊
ls /usr/local/httpd/modules/ | grep cgi //確認(rèn)是否編譯過(guò)cgi模塊
vi /usr/local/httpd/conf/httpd.conf //手動(dòng)加載
LoadModule cgid_module modules/mod_cgid.so
LoadModule cgi_module modules/mod_cgi.so
2、上傳或安裝AWStats軟件包
[root@localhost ~]# tar xf 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 #將配置腳本賦予執(zhí)行權(quán)限
[root@localhost 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:
-----> 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
#填寫(xiě)網(wǎng)站服務(wù)器的完整配置文件路徑。這里的路徑是/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
#將日志格式轉(zhuǎn)換成combined,顯示更為詳細(xì)
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 '' 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
#是否需要?jiǎng)?chuàng)建AWStats的配置文件,當(dāng)然"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 #指定要統(tǒng)計(jì)的目標(biāo)網(wǎng)站名稱(chēng),虛擬主機(jī)名或者自定義配置名,可以同時(shí)支持多個(gè)站點(diǎn)進(jìn)行觀測(cè)。
-----> 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):
#默認(rèn)回車(chē),定義配置文件路徑是在/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 #注意訪問(wèn)awstats的URL
Press ENTER to finish... #默認(rèn)回車(chē)退出
3、修改awstats配置文件
[root@localhost ~]# vi awstats/awstats.www.ly.com.conf //修改程序的主配置文件
LogFile="/usr/local/httpd/logs/access_log" //LogFile用來(lái)指定日志文件位置,第50行
DirData="/var/lib/awstats" //220行 手動(dòng)建立每次抓取的數(shù)據(jù)存放位置
[root@localhost ~]# mkdir /var/lib/awstats #創(chuàng)建awstats統(tǒng)計(jì)數(shù)據(jù)存放目錄
4.將之前的修改過(guò)的日志格式清空一下
[root@localhost ~]#cd /usr/local/httpd/logs/
[root@localhost logs]#rm -f *log #之前日志格式是common,現(xiàn)在使用awstats改為了combined
[root@localhost logs]#service httpd restart #重新生成日志文件
5.采集數(shù)據(jù)及訪問(wèn)awstats
[root@localhost ~]#cd /usr/local/awstats/tools/
[root@localhost tools]#chmod +x awstats_updateall.pl
[root@localhost tools]#./awstats_updateall.pl now //手動(dòng)采集/跟新一次數(shù)據(jù)
接下來(lái)訪問(wèn)下頁(yè)面
再次手動(dòng)采集
http://192.168.40.15/awstats/awstats.pl?config=www.ly.com
6、跟新手動(dòng)不方便,借助于計(jì)劃任務(wù)執(zhí)行:
[root@localhost tools]# crontab -e #編輯周期性任務(wù)計(jì)劃
/5 * /usr/local/awstats/tools/awstats_updateall.pl now
crontab -l
service crond status
systemctl enable crond
systemctl list-unit-files | grep crond
7、通過(guò)配置頁(yè)面自動(dòng)跳轉(zhuǎn)優(yōu)化統(tǒng)計(jì)頁(yè)面訪問(wèn)
[root@localhost ~]#vi /usr/local/httpd/htdocs/aw.html #創(chuàng)建跳轉(zhuǎn)頁(yè)面
8、設(shè)置awstats網(wǎng)頁(yè)訪問(wèn)認(rèn)證
[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf