我正在寻找一个可以帮助我使用apache日志调试网站问题的软件。这是场景。
我在网站上有一个客户端刚刚执行了一些意外的事情,我有他的IP地址,因为它记录了购买的交易。
是否有一个程序可以让我逐步查看所选用户在网站上使用apache日志执行的操作。
e.g。 IP地址a.b.c.d set ...
IP address a.b.c.d
Time Date / Path
18:02 / index.htm
18:03 / shop.htm
18:04 / product1.htm
通过这种方式,我可以准确地看到用户如何到达他们所在的位置。
感谢您提供任何帮助。
答案 0 :(得分:3)
这是一行bash。我希望你的apache日志类型设置为“Combined”,并且你可以使用bash shell。然后命令
grep $IP $LOGFILE | awk '{ print $4$5, $7, "("$11")" }'
会产生这样的结果(参考文献在括号中):
[07/Mar/2010:14:11:45+0100] /Doku/strawberrylimes.html ("-")
[07/Mar/2010:14:11:45+0100] /doku.css ("http://da.andaka.org/Doku/strawberrylimes.html")
[07/Mar/2010:14:11:45+0100] /images/zutaten.jpg ("http://da.andaka.org/Doku/strawberrylimes.html")
[07/Mar/2010:14:11:56+0100] /images/prost.jpg ("http://da.andaka.org/Doku/strawberrylimes.html")
[07/Mar/2010:14:11:56+0100] /images/vollermixer.jpg ("http://da.andaka.org/Doku/strawberrylimes.html")
[07/Mar/2010:14:11:57+0100] /favicon.ico ("-")
(请记住将$IP
和$LOGFILE
替换为您的值...结果来自我的网络服务器,并通过一次访问产生。)
如果您只对.html文件的请求感兴趣,请使用另一个grep扩展命令行:
grep $IP $LOGFILE | awk '{ print $4$5, $7, "("$11")" }' | grep -E '.+ .+\.html.* .+'
最后一个grep过滤掉不在输出的第二列中有“.html”字符串的所有行。但它也过滤掉目录上的所有请求!