状态
(status) 返回给HTTP状态标识(http status code returned to the client
服务名
(service name) 用户请求的服务名称(requested set'vtee name)
耗用时间
(time taken) 完成浏览的时问(time taken for transaction to complete
协议版本
(protocol version) 传输用的协议版本(version of used transfer protocol
用户代理
(user agent)
服务提供者(service provider)
Cookie 标识号(cookie ID)
2.2 Web服务器日志轮循
利用Linux系统自身的日志文件管理工具logrotate
Logrotate是Linux系统自身带的一个日志管理工具,是专门对各种系统日志(syslogd,mail)进行轮循的程序。该程序是由运行程序的服务crond在每天凌晨4:02运行的,在/etc/cron。daily目录下可以看到logrotate文件,其内容如下:
#!/bin/sh/usr/sbin/logrotate/etc/logrotate。conf
每天cmnd都会启动/etc/cmn。daily目录下的logrotate脚本来进行日志轮循。
而在/etc/logrorate。conf中可以看到内容如下:
# see"man logrotate"for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# reate new(empty) log files after rotating old ones
create
# uncomment this if you want your log files compressed
# compress
# RPM packages drop log rotation information into this directory
include/etc/logrotate。d
# no packages own wtmp一一we’ll rotate them here
/var/log/wtmp{
monthly
create 0664 root utmp
rotate 1
}
# system—specific logs may be also be configured here。
从logrotate的配置文件中可以看到除了wtmp以外,需要滚动的日志的配置都保存在/etc/logroate。d目录下。因此只需要在该目录下创建一个名为apache的配置文件,来指示logrotate如何轮循web服务器的日志文件即可。文献综述
这种方法的优点是不需要其他第三方工具就可以实现日志轮循,但是对于重负载的服务器和使用负载均衡技术的Web服务器来说这种方法就不是很实用,因为它是对相应服务进程发出一个"-HUP"重启命令来实现日志的截断归档的,这样会影响服务的连续性。。
2.2.1 使用apache自带的rotatelogs实现日志轮循
apache提供了不把日志直接写入文件,而是通过管道发送给另外一个程序的能力,这样就大大加强了对日志进行处理的能力,这个通过管道得到的程序可以是任何程序:如日志分析,压缩日志等。要实现将日志写到管道只需要将配置中日志文件部分的内容替换为"|程序名"即可