一.日志分割
1.原因
1.随着网络的访问量的增加,默认情况下Apache的单个日志文件也会越来越大。
2.日志文件占用磁盘空间很大
3.查看相关信息不方便
2.对日志文件进行分割
Apache自带rotatelogs分割工具实现
第三方工具cronolog 分割
3.配置日志分割
vi /etc/httpd.conf
Errorlog "|/usr/bin/rotatelogs -l logs/www.aa.com_error_%Y%m%d.log 86400"
//通过管道把日志文件交给rotatelogs工具 -l指使用本地时间 86400表示日志分割的时间间隔为1天,单位是秒。
ErrorLog “|/usr/bin/rotatelogs -l logs/www.bc.com-error_%Y%m%d%H.log 7200" //两个小时
CustomLog "|/usr/bin/rotatelogs -l logs/www.aa.com_access_%Y%m%d.log 86400"common
//j将访问日志以一天为间隔进行分割。
service httpd restart
4.使用cronolog进行日志分割
1.先添加cronolog压缩包,编译安装
tar -zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure && make && make install
2. 查看路径
which cronolog
3. 定义日志格式
LogFormat "%h %l %u %t \"%r\"%>s %b" common//定义日志的格式
4.进入配置文件替换工具路径
#ErrorLog "logs/error_log"
ErrorLog "|/usr/local/sbin/cronolog logs/%Y-%m-%d-error_log"
#CustomLog "logs/access_log" common
CustomLog "|/usr/local/sbin/cronolog logs/%Y-%m-%d- access_log" common
5.验证
apachectl -t
二.日志分析
1.概述
1.Perl语言开发的一款开源日志分析系统
2. 可用来分析Apache、Samba、Vsftpd、LLS等服务器的访问日志
3.结合crond等计划任务服务,可对日志内容定期进行分析
2.配置
1.手动加载cgi模块
1.首先验证cg模块
apachectl -D DUMP_MODULES | grep cgi //确认加载了cgi模块
ls /usr/local/httpd/modules/ | grep cgi //确认是否编译过cgi模块
2.开启apache的cgi模块
vi /usr/local/httpd/conf/httpd.conf
<IfModule !mpm_prefork_module>
LoadModule cgid_module modules/mod_cgid.so
</IfModule>
<IfModule mpm_prefork_module>
LoadModule cgi_module modules/mod_cgi.so
</IfModule>
2.编译安装awstats
tar -zxvf awstats-7.6.tat.gz
mv awstats-7.6 /usr/local/awstats
3.设置Apache服务器域名及hosts域名解析
vi /etc/hosts
192.168.52.11 www.aa.com
grep "ServerName"/etc/httpd.conf//在配置文件中定义主机名为www.aa.com
4.自动执行配置脚本,根据提示回复交互信息
cd /usr/local/awstats/tools
./awstats_configure.pl
5.交互
/user/local/httpd/conf/httpd.conf //http配置文件路径
转换日志格式为combined
其他选择y然后回车就可以
6.访问日志的网站
http://192.168.52.11/awstats/awstats.pl?config=www.aa.com
先记录下来,可以通过IP地址访问
service httpd restart //重启让日志格式生效
7.修改awstats程序主配置文件
vi /etc/awstats/awstats.www.aa.com.conf
LogFile="/usr/local/httpd/logs/access_log" //修改日志文件位置,50行
DirData="/var/lib/awstats" //建立每次抓取的数据存放位置,220行
手动创建抓取数据存放目录
mkdir /var/lib/awstats
8.清空*log
如果之前修改过日志格式需要清空一下
cd /usr/local/httpd/logs
rm -f *log
service httpd restart /重启
9.添加awstats访问权限
vi /usr/local/httpd/conf/httpd.conf
<Directory "/usr/local/awstats/wwwroot">
Options None
AllowOverride None
Order allow,deny
Allow from all
Require all granted //添加此配置
</Directory>
10.手动采集
cd /usr/ local/ awstats/ tools
chmod +x awstats updateall.pl
./awstats_updateall.pl now7 //手动采集一次数据
perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update //日志出错时,重置更新
/usr/local/awstats/tools/awstats_updateall.pl now再次采集
crontab -e
*/5 * * * */usr/local/awstats/tools/awstats_updateall.pl now
11.通过配置页面自动跳转优化页面访问
vi /usr/ local/httpd/htdocs/index.html
<html>
<head>
<meta http-equiv=refresh content="0;ur1=http://192.168.52.11/awstats/awstats.p1?config=www. aa. com">
</ head>
<body></body></html>
12.打开网址
http://192.168.52.11/awstats/awstats.pl?config=www.aa.com