Apache日志logging问题

我试图parsingApache日志文件,但我发现一些奇怪的结果,我不知道他们的意思。 希望有人能提供一些见解。 (所有的IP地址都被修改了,实际上没有一个是从192开始的,我没有把search引擎看成是重要的)。

在第一个例子中,主机字段中显示了多个IP地址:

192.249.71.25 - - [04/Aug/2009:04:21:44 -0500] "GET /publications/example.pdf HTTP/1.1" 200 2738 192.0.100.93, 192.20.31.86 - - [04/Aug/2009:04:21:22 -0500] "GET /docs/another.pdf HTTP/1.0" 206 371469 

这是什么原因? 它是否与代理服务器有关? 有没有办法让Apache只login一个?

编辑:

这里是:

 LogFormat "%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\" %I %O" common 

在第二个例子中,一堆信息完全丢失了! 这会导致什么?

 msnbot-65-55-207-50.search.msn.com - - [29/Dec/2009:15:45:16 -0600] "GET /publications/example.pdf HTTP/1.1" 200 3470073 "-" "msnbot/2.0b (+http://search.msn.com/msnbot.htm)" 266 3476792 - - - - "-" - - "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; InfoPath.1)" 285 594 - - - - "-" - - "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; InfoPath.1)" 285 4195 - - - - "-" - - "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; InfoPath.1)" 299 109218 crawl-17c.cuil.com - - [29/Dec/2009:15:45:46 -0600] "GET /publications/another.pdf HTTP/1.0" 200 101481 "-" "Mozilla/5.0 (Twiceler-0.9 http://www.cuil.com/twiceler/robot.html)" 253 101704 

我的CustomLogconfiguration说:

 LogFormat "%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\" %I %O" common 

它看起来像你在一个代理/caching后面,你正在使用mod_rpaf,它replace了Apache在%h看到的IP地址与X-Forwarded-For的内容。 一些代理服务器包括他们的IP和转发的IP(给你1.2.3.4,2.3.4.5 IP地址。你得到一些空白的结果的原因是一些代理服务器使用除X-Forwarded-For之外的头部,并且rpafreplace – 值为空值。

你可以发布httpd -lhttpd -M的输出吗?

用逗号隔开的%h行看起来像是在X_FORWARDED_FOR值中干扰的东西。 事实上,你没有date在后续行看起来很奇怪,所以我的假设是,有一个模块加载,它logging了一个日志钩,它咀嚼你的输出。

我从来没有见过这种情况发生,我运行了一些非常大的Apache安装。 它必须是一些棘手的模块导致问题(或者,也许缺乏一个必需的模块)。

另一种可能是Apache不知道如何满足你的格式指令。 “ – ”只是表示请求的数据点不可用。 这些格式说明符是内置在mod_log_config中的,默认情况下应该(需要)。

编辑…我知道Ubuntu和红帽定义了一个“组合”以及“共同”。 你可以尝试使用该格式吗? 不过,我想有人已经提到过了。

看起来您正在重新使用common日志logging定义。 这可能不被支持。 尝试定义你自己的logging器

 LogFormat "%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\" %I %O" mylogformat