有人可以帮我解释服务器日志吗?

Could someone help me with the server log interpretation?

我知道标准的服务器日志是什么样子的。然而,有时我得到的日志让我有点困惑(我正在分析统计数据)。

例如:

www-phalcon2 66.249.78.168 - [20/Feb/2015:23:59:59 +0100] 200 3251 4.69 0.001 192.168.64.125 3557 "GET /style/products.css?1414645533 HTTP/1.1" "-" "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

第一个IP属于客户端。但是其他的呢? "www.phalcon2" 代表什么(通常)?还有,传输的字节数后面的两个值是多少?

我确信解释此类日志很容易,但我已经在 Internet 上进行了研究,但没有找到答案。 感谢您的帮助!

这看起来像一个 W3C 兼容日志,而且相当标准。 W3C 格式的有趣之处在于它们有一个 header,其中每行前面都有一个 #。文件的顶部将如下所示:

#Version: 1.0
#Date: 12-Jan-1996 00:00:00
#Fields: time cs-method cs-uri

如果您可以在 splunk 中搜索与您的示例具有相同源类型且以 # 开头的行(您可能必须一直搜索),那么您可能会找到定义。没有该定义,您将无法真正解析该日志。

另一种方法是假设它是 Apache 自定义日志格式(通常没有 header)。在这种情况下,您需要请求 LogFormat 或 CustomLog 配置 - 这将为您提供一个称为格式字符串的字符串 - 基本上,一系列共同表示格式的 %elements。你可以找到 a list of all the format specifiers here.

我猜十进制数字是生成请求所花费的时间,以秒(%T - 四舍五入)和微秒(%D - 更精确)为单位。但是,这是基于日志库中通常可用的内容的猜测 - 没有配置或 header 信息,你不能说。