Apache的日志分割

一、日志分割的作用

我们知道当服务安装完成以后,都会在相关服务下有一个logs文件里面有着访问日志和错误日志。访问日志可以帮我们记录访问者的信息,错误日志一般在服务搭建,服务配置,启动时能够快速寻找错误原因的日志,也是运维人员的助手。但是默认的日志都是在一个文件中,随着使用服务时间的推移,日志中的信息也会变的非常冗长且难以查找,例如我想查找上个星期的某一天的日志时,就需要逐条翻阅,大大的增加的维护服务的难度和时间成本。所以日志分割是非常有必要的

本次我们介绍有关apche的两种分割日志的手段,能够帮我们自动化分割日志,让日志进行分类 

二、rotatelogs 分割 

使用Apache 自带 rotatelogs 分割工具,将 Apache 的日志进行按每天的日期自动分割

1)修改apache服务的主配置文件 

vim /usr/local/httpd/conf/httpd.conf
#分割错误日志
ErrorLog "| /usr/local/bin/rotatelogs -l /var/log/httpd/benet.com-error_%F.log 86400"
#分割访问日志
CustomLog "| /usr/local/bin/rotatelogs -l /var/log/httpd/benet.com-access_%F.log 86400" combined

2)创建分割日志保存目录

mkdir /var/log/httpd
systemctl restart httpd

3)访问测试,观察日志分割功能是否实现

[root@www logs]#ls /var/log/httpd/

三、软件引入分割——AWStats 分析系统

AWStats 是使用Perl 语言开发的一款开源日志分析系统,它用来完成自动化的日志统计与分析工作

1)将软件包进行解压

cd /opt
tar zxvf awstats-7.6.tar.gz
mv /opt/awstats-7.6 /usr/local/awstats
cd /usr/local/awstats/tools
./awstats_configure.pl

2)为要统计的站点建立配置文件

3)修改自动生成的 awstats 访问权限,加载 CGI 模块 

注意:Apache 2.4 以上版本需要加载CGI 模块

--143行开始取消以下的注释--

--跳至末行修改--
<Directory "/usr/local/awstats/wwwroot">
    Options None
    AllowOverride None
    #Order allow,deny			#注释掉					
    #Allow from all				#注释掉
    Require all granted			#添加
</Directory>

4)修改站点统计配置文件

#awstats目录默认不存在,需要手动创建
mkdir /var/lib/awstats
vim /etc/awstats/awstats.www.yang.com.conf

5)执行日志分析,并设置 cron 计划任务 

systemctl restart httpd
cd /usr/local/awstats/tools/
./awstats_updateall.pl now  	#更新数据(根据站点配置文件指定的日志文件路径获取日志数据)
#注意,更新数据前最好先把access.log文件清空后重新访问站点,再获取日志数据。

 
crontab -e
*/5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
 
systemctl start crond

6)访问 AWStats 分析系统站点

[root@www tools]#systemctl stop firewalld
[root@www tools]#systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@www tools]#setenforce 0
[root@www tools]#echo "192.168.73.105 www.yang.com" >> /etc/hosts
[root@www tools]#crontab -e
crontab: installing new crontab
您在 /var/spool/mail/root 中有邮件
在主机中进行访问测试:http://www.yang.com/awstats/awstats.pl?config=www.yang.com

7)优化网页地址 

vim /usr/local/httpd/htdocs/aws.html
 
 
<html>
<head>
<meta http-equiv=refresh content="0;url=http://www.yang.com/awstats/awstats.pl?config=www.yang.com">
</head>
<body></body>
</html>

 再次访问测试:

在虚拟机火狐中:
只需要访问地址:http://www.yang.com/aws.html

猜你喜欢

转载自blog.csdn.net/qq_21003381/article/details/130947140