Apache 负载均衡器日志问题

QWa*_*ade 4 logging load-balancing apache-2.2

我使用 Apache 作为负载平衡器,并希望记录负载平衡器将请求转发到的服务器。例如,如果我有三个网络服务器,调用:

  • 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=baked+bbq+rib+recipes&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US: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"

任何帮助,将不胜感激。

cor*_*ump 7

您可以使用自定义日志格式来做到这一点。我认为您可以做的一种方法是将环境变量添加到日志中。mod_proxy_balancer(我假设您正在使用)导出 BALANCER_WORKER_NAME 变量,该变量是用于请求的 Worker 的名称。您可以使用%{BALANCER_WORKER_NAME}e自定义日志格式字符串上的指令来记录。这是添加了指令的默认 debian“组合”日志格式的示例:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{BALANCER_WORKER_NAME}e\"" combined
Run Code Online (Sandbox Code Playgroud)