日志分割
使用apache自带的rotatelogs进行分割
vi /etc/httpd.confErrorlog "|/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.gzcd cronolog-1.6.2./configure && make && make install2. 查看路径which cronolog3. 定义日志格式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" commonCustomLog "|/usr/local/sbin/cronolog logs/%Y-%m-%d- access_log" common5.验证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.编译安装awstatstar -zxvf awstats-7.6.tat.gzmv awstats-7.6 /usr/local/awstats#4.设置apache服务器的域名解析vi /etc/hosts192.168.25.131 www.example.comgrep "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.confLogFile="/usr/local/httpd/logs/access_log" //修改日志文件位置,50行DirData="/var/lib/awstats" //建立每次抓取的数据存放位置,220行#手动创建抓取数据存放目录mkdir /var/lib/awstats#9.清空日志#如果之前修改过日志格式需要清空一下cd /usr/local/httpd/logsrm -f *logservice httpd restart /重启#10.添加awstats访问权限vi /usr/local/httpd/conf/httpd.conf<Directory "/usr/local/awstats/wwwroot">Options NoneAllowOverride NoneOrder allow,denyAllow from allRequire all granted //添加此配置</Directory>#11.手动采集cd /usr/ local/ awstats/ toolschmod +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
