【问题标题】:Apache log analyzer which outputs user flows输出用户流的 Apache 日志分析器
【发布时间】:2010-03-10 19:56:52
【问题描述】:

我正在寻找一种软件,它可以帮助我通过使用 apache 日志来调试网站上的问题。这是场景。

我有一个网站上的客户刚刚执行了一些意想不到的事情,我有他的 IP 地址,因为它被记录在购买的交易中。

是否有一个程序可以让我使用 apache 日志逐步查看选定用户在网站上所做的操作。

例如IP 地址 a.b.c.d 设置...

IP address a.b.c.d
Time Date / Path
18:02     / index.htm
18:03     / shop.htm
18:04     / product1.htm

这样我就可以准确地看到用户是如何到达他们到达的地方的。

感谢您提供的任何帮助。

【问题讨论】:

    标签: apache logging


    【解决方案1】:

    这是一行 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”字符串的所有行。但它也会过滤掉所有对目录的请求!

    【讨论】:

    • 只是对此发表评论...仅仅因为请求来自同一个 IP 并不意味着它们是同一个用户。我在一所大学工作,那里的宿舍用户在运营商级 NAT 之后,大约有 2,000 名用户使用外部 IP 地址(当一个孩子决定攻击 PayPal 时,这是一个大问题......)。
    猜你喜欢
    • 2016-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-23
    相关资源
    最近更新 更多