日志分割
使用apache自带的rotatelogs进行分割
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
//将访问日志以一天为间隔进行分割。
service httpd restart
使用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
日志分析
使用perl语言开发的一款开源日志分析系统
配置
#操作流程中出现的文件绝对路径 根据实际安装路径去修改
#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>
#3.编译安装awstats
tar -zxvf awstats-7.6.tat.gz
mv awstats-7.6 /usr/local/awstats
#4.设置apache服务器的域名解析
vi /etc/hosts
192.168.25.131 www.example.com
grep "ServerName"/etc/httpd.conf//在配置文件中定义主机名为www.example.com
#5.自动执行配置脚本,根据提示回复交互信息
cd /usr/local/awstats/tools
./awstats_configure.pl
#6.交互
/user/local/httpd/conf/httpd.conf //http配置文件路径
转换日志格式为combined
其他选择y然后回车就可以
#7.访问日志站http://192.168.25.130/awstats/awstats.pl?config=www.aa.com
先记录下来,可以通过IP地址访问
service httpd restart //重启让日志格式生效点
#8.修改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
#9.清空日志
#如果之前修改过日志格式需要清空一下
cd /usr/local/httpd/logs
rm -f *log
service httpd restart /重启
#10.添加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>
#11.手动采集
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配置定时采集日志数据
crontab -e
*/5 * * * */usr/local/awstats/tools/awstats_updateall.pl now
#12.通过vi /var/www/html/log.html
[root@apache tools]# vim /var/www/html/log.html
[root@apache tools]# cat /var/www/html/log.html
<html>
<head>
<meta http-equiv=refresh content="0;url=http://192.168.25.130/awstats/awstats.pl?config=www.mpmlearning.com">
</head>
<body></body></html>
#最后的访问地址
http://192.168.25.130/log.html