目录
日志分割
简介
随着网站的访问量增加,默认情况下Apache的单个日志文件也会越来越大
日志文件占用磁盘空间很大
- 查看相关信息不方便
- 对日志文件进行分割
工具
- Apache自带rotatelogs分割工具实现
- 第三方工具cronolog分割
rotatelogs分割工具
- 配置网站的日志文件转交给rotatelogs分割处理
配置格式
ErrorLog "| rotatelogs命令的绝对路径-日志文件路径/网站名-error_%Y %m%d.log 86400”
CustomLog "| rotatelogs命令的绝对路径1日志文件路径/网站名-access_%Y%m%d.log 86400" combined
编辑配置文件
[root@server1 ~]# vi /etc/httpd.conf
[root@server1 ~]# systemctl start httpd
[root@server1 ~]# systemctl status httpd
日志设置
ErrorLog "|/usr/bin/rotatelogs -l logs/error_log_%Y-%m-%d 86400"
-l:表示使用本地时间
/error_log:日志名称
%Y-%m-%d:年-月-日
86400:表示日志分隔的间隔是1天,单位是秒
CustomLog "|/usr/bin/rotatelogs -l logs/access_log_%Y-%m-%d 86400" common //错误日志
查看日志文件
[root@server1 ~]# cd /usr/local/httpd/logs/
[root@server1 logs]# ls -lh
cronolog日志分割
解压缩安装包
[root@server1 ~]# tar zxvf cronolog-1.6.2.tar.gz
文件默认设置
[root@server1 ~]# cd cronolog-1.6.2/
[root@server1 cronolog-1.6.2]# ./configure
编译安装
[root@server1 cronolog-1.6.2]# make && make install
查看日志
[root@server1 cronolog-1.6.2]# vi /etc/httpd.conf
ErrorLog "|/usr/local/sbin/cronolog logs/error.log_%Y-%m-%d"
CustomLog "|/usr/local/sbin/cronolog logs/access.log_%Y-%m-%d" common
[root@server1 ~]# systemctl start httpd
[root@server1 ~]# httpd -t
[root@server1 ~]# systemctl stop firewalld
[root@server1 ~]# setenforce 0
[root@server1 ~]# cd /usr/local/httpd/logs/
[root@server1 logs]# ls -lh
-rw-r--r--.1 root root 286 11月 26 17:16 access_log
-rw-r--r-- l root root 383 11月 26 18:02 access.log_2020-11-26
-rw-r--r--.1 root root 288 11月 26 18:16 error_log
-rw-r--r-- l root root 286 11月 26 17:00 error.log_2020-11-26
-rw-r--r-- l root root 5 11月 26 18:00 httpd.pid
AWstats日志分析
- 不同于日志分割,是对整个日志进行分析
[root@server1 ~]# vi /etc/httpd.conf
[root@server1 ~]# systemctl start httpd
[root@server1 ~]# httpd -t
[root@server1 ~]# systemctl status httpd
ErrorLog "logs/error_log"
CustomLog "logs/access_log" common
配置文件
修改配置
[root@server1 modules]# vi /etc/httpd.conf
[root@server1 modules]# cd
LoadModule cgid_module modules/mod_cgid.so
LoadModule cgi_module modules/mod_cgi.so
解压安装包
[root@server1 ~]# tar zxvf awstats-7.6.tar.gz
配置映射
[root@server1 ~]# mv awstats-7.6 /usr/local/awstats
[root@server1 ~]# vi /etc/hosts 映射记录
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.10 www.aaa.com l
[root@server1 ~]# vi /etc/httpd.conf
ServerName www.aaa.com:80
[root@server1 ~]# cd /usr/local/
[root@server1 local]# ls -lh
[root@server1 local]# chown -R root.root awstats/
[root@server1 local]# cd awstats/
[root@server1 awstats]# ls -lh
[root@server1 awstats]# cd tools/ //进入工具目录
[root@server1 tools]# ./awstats_configure.pl //找到配置脚本
对AWstats文件进行配置
[root@server1 tools]# vi /etc/awstats/awstats.www.aaa.com.conf
LogFile="/usr/local/httpd/logs/access_log"
DirData="/var/lib/awstats"
[root@server1 tools]# cd
[root@server1 ~]# cd /var/lib/awstats
[root@server1 ~]# mkdir /var/lib/awstats
删除多余文件进行配置
[root@server1 ~]# cd /usr/local/httpd/logs/
[root@server1 logs]# ls -lh
[root@server1 logs]# rm -rf access.log*
[root@server1 logs]# rm -rf error.log*
[root@server1 ~]# cd /usr/local/awstats/tools/
[root@server1 tools]# ls -lh
日志更新
[root@server1 tools]# ./awstats_updateall.pl now
[root@server1 ~]# vi /etc/httpd.conf
[root@server1 ~]# systemctl stop httpd
[root@server1 ~]# systemctl start httpd
//添加
Require all granted
[root@server1 tools]# vi /etc/httpd.conf
编辑awstats的配置文件
[root@server1 tools]# vi /etc/awstats/awstats.www.aa.com.conf
[root@server1 tools]# systemctl start httpd
LogFile="/usr/local/httpd/logs/access_log"
重启主机,查看日志
[root@server1 ~]# cd /usr/local/httpd/logs/
[root@server1 logs]# ls -lh
手动采集日志
[root@server1 logs]# cd
[root@server1 ~]# cd /usr/local/awstats/tools/
[root@server1 tools]# ./awstats_updateall.pl now
[root@server2 ~]# mkdir /var/lib/awstats
[root@server2 awstats]# systemctl stop httpd
[root@server2 awstats]# systemctl start httpd
[root@server2 tools]# ./awstats_updateall.pl now