理解Apache';用户访问日志

理解Apache';用户访问日志,apache,access-log,Apache,Access Log,我的访问日志中这一行中的每一项都意味着什么 127.0.0.1--[05/Feb/2012:17:11:55+0000]“GET/HTTP/1.1”200 140-“Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/535.19(KHTML,类似壁虎)Chrome/18.0.1025.5 Safari/535.19” 你好像在用这个 日志格式“%h%l%u%t\%r\”%>s%b\“%%{Referer}i\\\“%%{User agent}i\\”组合

我的访问日志中这一行中的每一项都意味着什么

127.0.0.1--[05/Feb/2012:17:11:55+0000]“GET/HTTP/1.1”200 140-“Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/535.19(KHTML,类似壁虎)Chrome/18.0.1025.5 Safari/535.19”

你好像在用这个

日志格式“%h%l%u%t\%r\”%>s%b\“%%{Referer}i\\\“%%{User agent}i\\”组合

  • %h是远程主机(即客户端IP)
  • %l是由identd确定的用户身份(由于不可靠,通常不使用)
  • %u是由HTTP身份验证确定的用户名
  • %t是收到请求的时间
  • %r是来自客户端的请求行。(“GET/HTTP/1.0”)
  • %>s是从服务器发送到客户端的状态代码(200、404等)
  • %b是客户端响应的大小(字节)
  • Referer是HTTP请求的名称(包含启动此请求的页面的URL)(如果存在),否则为
    “-”
  • 用户代理是浏览器标识字符串
可以找到格式化程序的完整(?)列表。文档的同一部分还列出了其他常见的日志格式;那些日志与此不太相似的读者可能会发现他们的Apache配置所使用的模式列在这里。

这是什么 “Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/535.19(KHTML,像Gecko)Chrome/18.0.1025.5 Safari/535.19”是什么意思

这是用户代理的值,即浏览器标识字符串

因此,大多数Web浏览器使用用户代理字符串值作为 如下:

Mozilla/[版本]([系统和浏览器信息])[平台] ([平台详细信息])[扩展]。例如,iPad上的Safari已经 使用了以下内容:

Mozilla/5.0(iPad;U;CPU操作系统3_2_1,类似Mac OS X;en us) AppleWebKit/531.21.10(KHTML,比如Gecko)Mobile/7B405组件 该字符串的长度如下所示:

Mozilla/5.0:以前用于表示与 Mozilla渲染引擎。(iPad;U;CPU操作系统3_2_1,如macosx; en us):运行浏览器的系统的详细信息。 AppleWebKit/531.21.10:浏览器使用的平台。(KHTML,比如 Gecko):浏览器平台详细信息。Mobile/7B405:这是由 用于指示直接可用的特定增强功能的浏览器 在浏览器中或通过第三方。这方面的一个例子是 Microsoft Live Meeting,它注册了一个扩展,以便 会议服务知道软件是否已安装,这 意味着它可以为参加会议提供简化的体验

此值将用于标识最终用户正在使用的浏览器

我也不明白200-140部分后面的“-”是什么意思 原木


该值对应于Joachim描述的referer。如果你看到一个破折号,这意味着没有参考值可以开始(例如,用户直接去了一个特定的目的地,就像他/她在浏览器中键入了一个URL)

我想知道在用户代理之后,最后一个数字(19)可能是什么。@ivanceras
535.19
是否使用了webkit版本,因此,它是用户代理字符串的一部分(它也放在包含用户代理的引号中),在用户代理之后,我有4个附加字段,如下所示:。。。“Mozilla/5.0(Windows NT 5.1;rv:16.0)Gecko/20100101 Firefox/16.0”369 74500-567它们表明了什么?在我的负载平衡环境中,有4个服务节点隐藏在apache负载平衡器服务器后面。最近我遇到了不可用的问题。调试时,我在负载平衡器上找到了状态为504的访问日志。看起来像这样。{Ip Address}-[date]“POST url http/1.1”504 247“--”现在我怀疑我的4个应用程序服务器节点中的一个比其他节点更频繁地超时。但是,这些日志并没有给出请求转发到哪个服务器并导致超时的线索。如何记录请求转发到的节点的ip。我将建议以下选项a)启用并查看负载平衡器日志b)检查每个vm的内存利用率、CPU和IO,看看它们是否都相同。c) 计算给定日期内每个vm的请求数。它们应该差不多。如果不是,负载平衡器可能会发现服务器没有响应ping,这就是为什么不发送请求的原因。