log_subrequest

Директива `log_subrequest` управляет тем, регистрируются ли подзапросы в журналах ошибок NGINX. — NGINX HTTP Core

log_subrequest
httpserverlocation
Синтаксисlog_subrequest on | off;
По умолчаниюoff
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументыflag

Описание

Директива `log_subrequest`, используемая в контекстах `http`, `server` и `location`, позволяет указать, должны ли регистрироваться подзапросы, выполняемые сервером. Подзапрос — это внутренний запрос, создаваемый NGINX, обычно генерируемый такими директивами, как `include` или `try_files`. По умолчанию записи этих подзапросов могут захламлять основной журнал ошибок, затрудняя обнаружение важных проблем. Эта директива позволяет подавлять такие записи, гарантируя, что основной журнал содержит только значимую информацию о верхнеуровневых запросах. Когда включено (установлено в `on`), подзапросы будут регистрироваться с уровнем error, то есть любые проблемы, возникающие во время этих внутренних запросов, будут записаны в журналы ошибок NGINX. Соответственно, установка значения `off` отключает логирование этих подзапросов, уменьшая объём записываемых данных. Это особенно полезно в сценариях с высоким трафиком, где подзапросов может быть много, и логирование каждого из них может повлиять на производительность и привести к большим и неудобным для работы файлам журналов. Синтаксис этой директивы прост — она принимает флаговое значение, поэтому её легко интегрировать в существующие конфигурации с минимальными усилиями. Рекомендуется обоснованно использовать её, исходя из потребностей мониторинга и ограничений по объёму файлов или производительности; директиву можно применять в отдельных контекстах, чтобы точнее регулировать, какая информация попадает в журналы.

Пример конфига

http {
    log_subrequest on;

    server {
        location /example {
            try_files $uri /subrequest;
        }
    }
}

Имейте в виду, что логирование большого количества подзапросов может привести к большим файлам журналов, что повлияет на производительность и усложнит управление журналами.

Не забудьте корректно настроить уровень логирования ошибок, чтобы при включенном логировании фиксировались подробные сообщения об ошибках, связанные с подзапросами.