Назад | Перейти на главную страницу

Вопрос о ведении журнала балансировщика нагрузки Apache

Я использую Apache в качестве балансировщика нагрузки и хочу зарегистрировать сервер, на который балансировщик нагрузки пересылает запрос. Например, если бы у меня было три веб-сервера с именем:

Я хотел бы, чтобы журнал показывал мне, на какой сервер был перенаправлен запрос (обозначен смелый):

10.1.0.1 192.168.0.1 - - [20 / июл / 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 "

Любая помощь будет оценена.

Для этого вы можете использовать пользовательский формат журнала. Один из способов, который, я думаю, можно сделать, - это добавить в журнал переменную окружения. 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