Apache负载平衡器日志logging问题

我正在使用Apache作为负载平衡器,并希望logging负载平衡器将请求转发到的服务器。 例如,如果我有三个Web服务器,称为:

  • webserver1 – 192.168.0.1
  • webserver2 – 192.168.0.2
  • webserver3 – 192.168.0.3

我希望日志告诉我哪个服务器的请求被注销(以粗体表示 ):

10.1.0.1 192.168.0.1 – [20 / Jul / 2010:10:52:01 -0600]“GET /js/shared/kobj-static.js HTTP / 1.1”302 236“ http://www.google。 com / search?q =烘焙+ bbq + rib +食谱&ie = utf-8&oe = utf-8&aq = t&rls = org.mozilla:zh-CN:official&client = firefox-a “”Mozilla / 5.0(Windows; U; Windows NT 5.1 ; en-US; rv:1.9.2.6)Gecko / 20100625 Firefox / 3.6.6(.NET CLR 3.5.30729)infoCard / AzigoLite / 0.0.12“

任何帮助,将不胜感激。

您可以使用自定义日志格式来执行此操作。 我认为你可以做的一种方式是将环境variables添加到日志中。 mod_proxy_balancer(我想你正在使用)导出BALANCER_WORKER_NAMEvariables,该variables是用于请求的Worker的名称。 您可以在自定义日志格式string上使用%{BALANCER_WORKER_NAME}e指令来logging日志。 这是一个默认debian“组合”日志格式的示例,添加了指令:

 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{BALANCER_WORKER_NAME}e\"" combined