On 12/27/16 1:26 PM, Vvedensky wrote: > Вот формат логов заданный для nginx в конфигурации: > log_format main '$remote_addr - $remote_user [$time_local] "$request" > ' > '$status $body_bytes_sent "$http_referer" > ' > '"$http_user_agent" "$http_x_forwarded_for" > "$upstream_response_time"'; > И вот что пишется в лог-файл: > 93.158.152.83 - - [27/Dec/2016:15:14:27 +0500] "GET / HTTP/1.1" 301 185 "-" > "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" "-" "-" > 95.108.129.196 - - [27/Dec/2016:15:16:22 +0500] "GET / HTTP/1.1" 301 185 "-" > "Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots > mtmon01e.yandex.ru)" "-" "-" > > Вместо значения $upstream_response_time показывает прочерк. Почему так, если > вы пишите, что переменная доступна по умолчанию? > Наверное потому, что запрос был обработан локально, без участия апстримов?
Добавьте в log_format переменную $upstream_addr, будет больше информации по апстримам: http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#var_upstream_addr Если бы переменная не была доступна, то nginx заругался на этапе загрузки/проверки конфигурации, e.g. nginx -t. -- Maxim Konovalov _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
