怎样管理和分析Apache日志

ZDNet软件频道 时间:2003-11-24 作者:ZDNet China |  我要评论()
本文关键词:
您可能需要将你的记录文件复制到某个地方用来处理。我猜想你不想冒任何的风险删除或者修改原始的记录文件,或者占用正运转在Web服务器上的机器的CPU的时间。

本文译自Builder.com,未经许可请勿转载

复制记录文件

首先你可能需要将你的记录文件复制到某个地方用来处理。我猜想你不想冒任何的风险删除或者修改原始的记录文件,或者占用正运转在Web服务器上的机器的CPU的时间。

现在,在CNET中,我们将所有的Linux配置了ssh(Secure Shell),所以,我们必须使用一个安全的登陆,以便将信息传给服务器。那就是说你必须要管理员设置你的日志处理器以便让你使用的账号能连接到储存记录文件的Web服务器中。那就是说你需要使用一些类似于scp(secure copy)来移动你的文件。

my $remoteUser = "remoteUser";
my $remoteMachine = "whatever.name.com";
my $localDir = "/var/opt/tmp";
 
my $timecode = &UnixDate("yesterday", "%Y%m%d");
my $logfile = "/var/opt/httpd/logs/myapp_log." . $timecode;
 
my $scp = "/usr/bin/scp -o StrictHostKeyChecking=no $remoteUser @$remoteMachine:$logfile $localDir";
system "$scp" ;

$remoteUser是用户需要管理员为他设置以便在各机器之间使用,并且$remoteMachine应该记录文件所在机器的名字。

我猜想这个脚本天天都在运行,并会夺取昨天的记录文件,这就是为什么我为什么使用UnixDate函数找到昨天的时间代码。

最后,我利用scp将日志放到远程控制器中并且把日志记录复制到本地目录为下次处理做准备。

使用grep和cut命令

现在,你把你的记录日志放到你可以分析他们的机器上,开始尝试着把信息定位在那。试想你使用CustomLog格式,在你的Apache记录日志中有一行的显示类似以下内容:

[16/Oct/2003:09:58:15 -0700] "GET /html/rex.html HTTP/1.1" 200 "-" 330


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134