需求描述
管理员搭建完服务器,要对网站的性能做后期的不断的分析和调整,以至达到最完美的状态。针对服务器每天的日志访问量、高峰时间、压力等等是通过日志信息系统分析。如果事前没有预估,没有给定足相应的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] ~]# vim /etc/httpd/conf/httpd.conf #修改主配置文件
[[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
原文地址:http://blog.51cto.com/13871378/2313601