用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1453|回复: 0

Apache日志管理

[复制链接]

394

主题

412

帖子

2069

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2069

活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2016-5-6 08:42:54 | 显示全部楼层 |阅读模式


Apache维护着登录Web服务器的所有用户请求日志,在默认情况下,这些记录包括使用普通日志格式的记录,每个请求的记录单独占一行。
借助于LogFormat和CustomLog指令,用户可根据自己的需要定义日志记录,添加更多可显示细节的日志字段(即日志文件和记录格式说明符),其中各字段说明如表6-6所示。
1-13123014244G37.png
在Apache的标准中规定了4种日志,即错误、访问、传输和Cookie日志,其中的Cookie日志被Apache2.0认为已经过期,所以本节将介绍错误日志和访问日志,同时错误日志和访问日志被Apache2.0默认设置。
在Apache2.0中有4条与日志相关的配置参数,如表6-7所示。
1-131230142503G9.png
1.配置错误日志
配置错误日志主要是通过ErrorLog和LogLevel两个参数来配置的,配置错误日志只需说明日志文件的存放位置和日志记录等级即可,其错误日志等级如表6-8所示。
1-131230142T4134.png
配置错误日志文件应在“/etc/httpd/conf/httpd.conf”文件中添加如下语句:
ErrorLog logs/error_log        //错误日志文件的存放位置
LogLevel warn                  //设置错误日志文件等级
如下所示为一个错误日志文件的内容:
1-131230142Zb56.png
由上错误日志的内容可以看出,每条错误信息都由3个部分构成,即发生错误的时间、错误等级和错误信息。
2.配置访问日志
为了便于分析Apache的访问日志,在Apache的默认配置文件中,按记录的信息不同将访问日志分为4类,并由LogFormat配置参数定义昵称,其格式分类如表6-9所示。
1-1312301429261T.png
由于综合日志格式简单地结合了3种日志信息,所以在配置访问日志时,可使用3个文件分别记录日志,或是通过一个综合文件记录日志。
若使用3个文件分别记录日志,则应在“/etc/httpd/conf/httpd.conf”配置文件中按如下方式配置:
1-131230142941W1.png
若使用一个综合文件进行记录日志,则在“/etc/httpd/conf/httpd.conf”配置文件中按如下方式配置也是Apache的默认配置:
1-131230142950c1.png
如下所示为访问日志的部分记录:
1-13123014301N56.png
从以上的日志记录可以看出,IP地址为192.168.0.66的主机在2007年4月16日19时50分利用微软Windows XP操作系统中IE浏览器访问过本机的主页。
3.日志滚动
所有的日志文件,都会随着时间的推移和访问次数的增加而使日志文件的记录变得很多,因此需定期地对日志文件进行清理,否则会造成不必要的磁盘空间浪费。如果一个日志文件在无限地增大时,其打开日志文件的速度也非常慢,使管理人员的清理速度很受影响,因此,最好的解决办法就是采用日志滚动。
所谓的日志滚动是让系统定期地清理日志文件,并创建新的空白日志文件,但由于Apache进程本身不负责对日志文件进行滚动,因此必须使用其他程序配置日志滚动。
(1)使用系统的logrotate实现日志滚动
logrotate是Linux系统自带的一个日志滚动程度,是专门针对各种系统日志而设置的,下面将介绍使用Red Hat Enterprise Linux AS 4自带的logrotate和crond实现Apache日志滚动的方法。
在终端命令窗口中使用cat命令查看“/etc/cron.daily/logrotate”文件的内容,其操作方法如下:
1-13123014302VP.png
在终端命令窗口中使用cat命令查看“/etc/logrotate.conf”文件的内容,其操作方法如下:
1-13123014303N55.png
在终端命令窗口中使用cat命令查看“/etc/logrotate.d”目录中Apache日志配置文件的内容,其操作方法如下:
1-1312301431045a.png
(2)使用Apache的rotatelogs实现日志滚动
Apache不能将日志记录直接写入文件,但提供了通过管道操作将日志记录发给另一个程序,让其他的应用程序实现日志滚动记录的功能。处理日志的程序可以是任何的日志处理程序,如日志分析、压缩日志等。
Apache自带的rotatelogs程序可以实现日志滚动而无需使用crond运行,为使rotatelogs程序能运行,需在“/etc/httpd/conf/httpd.conf”配置文件进行管道日志配置,其配置参数如下:
1-131230143444K2.png
在配置文件中的语句意思是,日志滚动间隔为1天(86400秒),滚动后的日志文件名为access_log.nnnnnnn,nnnnnnn的意思是由1970年1月1日0时0分0秒到日志文件滚动的时间差,其时间差值为妙。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /4 下一条

返回顶部