目录
一、需要日志分割原因
- 随着网站的访问量增加,默认情况下Apache 的单个日志文件也会越来越大
日志文件占用磁盘空间很大
查看相关信息不方便
二、日志文件分割工具
- apache 自带rotatelogs分割工具实现 ## 自带的方便一点
- 第三方工具cronolog分割 ## 优势 语法简洁
三、 使用rotatelogs工具分割
3.1 修改httpd配置文件
yum -y install httpd
[root@promote httpd]# which rotatelogs
/usr/sbin/rotatelogs ## 查看 rotatelogs命令所在的绝对路径
[root@promote httpd]# vim /etc/httpd/conf/httpd.conf
ServerName www.kgc.com:80
Listen 192.168.233.100:80
ErrorLog "| /usr/sbin/rotatelogs -l logs/error_%Y%m%d.log 86400 " ## 86400秒为一天 以一天为分割
CustomLog "| /usr/sbin/rotatelogs -l logs/access_%Y%m%d.log 86400" combined ## 后面的combined一定要加
[root@promote httpd]# systemctl restart httpd ## 开启httpd服务
[root@promote httpd]# iptables -F ## 清空防火墙
[root@promote httpd]# setenforce 0 ## 关闭核心防护
3.2 配置DNS解析服务器
yum -y install bind
[root@promote httpd]# vim /etc/named.conf ## 修改主配置文件
listen-on port 53 {
any; };
allow-query {
any; };
[root@promote httpd]# vim /etc/named.rfc1912.zones ## 修改区域配置文件
zone "kgc.com" IN {
type master;
file "kgc.zone";
allow-update {
none; };
};
[root@promote named]# vim /var/named/kgc.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
www IN A 192.168.233.100
[root@promote named]# systemctl start named ## 启动服务
3.3 访问网站 查看配置文件
-
dns服务器
-
访问网站
3.4 查看日志文件
[root@promote named]# ls /var/log/httpd/
access_log error_log www.kgc.com-access_20200806.log www.kgc.com-error_20200806.log
四、使用cronolog分割工具
4.1 安装cronolog工具 ,配置文件
[root@promote ~]#cronolog-1.6.2-14.el7.x86_64.rpm
[root@promote ~]#rpm -ivh cronolog-1.6.2-14.el7.x86_64.rpm
[root@promote httpd]# vim /etc/httpd/conf/httpd.conf
ServerName www.kgc.com:80
Listen 192.168.233.100:80
ErrorLog "| /usr/sbin/rotatelogs logs/error_%Y%m%d.log " ##
CustomLog "| /usr/sbin/rotatelogs logs/access_%Y%m%d.log " combined ## 后面的combined一定要加
[root@romote conf]#systemctl restart httpd
[root@romote conf]#cd /var/log/httpd
[root@romote httpd]# ll
-rw-r--r--. 1 root root 2418 8月 5 17:33 www.kgc.com-access_20200805.log
-rw-r--r--. 1 root root 2642 8月 5 17:33 www.kgc.com-error_20200805.log
五、AWstats日志分析系统
- perl语言开发的一款开源日志分析系统
- 可用来分析Apache、 Samba、Vsftpd、IIS等服务器的访问日志。
- 结合crond等计划任务服务,可对日志内容定期进行分析。
5.1 安装 AWstats
awstats-7.6.tar.gz
[root@promote ~]# tar zxvf awstats-7.6.tar.gz
[root@promote ~]# mv awstats-7.6 /usr/local/awstats
[root@localhost ~]# cd /usr/local/awstats/tools/
[root@promote tools]# ./awstats_configure.pl
……………………………………
Config file path ('none' to skip web server setup):
> /etc/httpd/conf/httpd.conf ## 配置文件路径
Your web site, virtual server or profile name:
> www.kgc.com //输入域名
……………… 其他全是Y 或者回车
5.2 配置AWstats配置文件
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
<Directory "/usr/local/awstats/wwwroot">
Options None
AllowOverride None
# Order allow,deny
# Allow from all
Require all granted
</Directory>
[root@localhost ~]# vim /etc/awstats/awstats.www.kgc.com.conf
LogFile="/var/log/httpd/access_log" ## 修改访问日志文件位置
DirData="/var/lib/awstats" ##awstats 默认不存在 需要创建
[root@promote awstats]#cd /var/lib
[root@promote lib]# mkdir awstats
5.3 进入awstats
访问:http://www.kgc.com/awstats/awstats.pl?config=www.kgc.com
5.4 优化访问路径 更新数据
[root@localhost ~]# vim /var/www/html/aws.html
<html>
<head>
<meta http-equiv=refresh content="0;url=http://www.kgc.com/awstats/awstats.pl?config=www.kgc.com">
</head>
<body></body>
</html>
~
##### 下次访问 直接访问www.kgc.com/aws.html
[root@localhost ~]# cd /usr/local/awstats/tools
[root@localhost tools]# ./awstats_updateall.pl now ## 更新访问数据
5.5 创建周期性更新任务
[root@localhost tools]# crontab -e
*/5 * * * * /usr/local/awstats/tools/awstats_updatell.pl now