upstream_log
Директива upstream_log записывает логи для запросов, отправленных на upstream-серверы, в заданном формате.
Описание
Директива upstream_log используется для записи подробных логов запросов, направленных на upstream-серверы в конфигурации сервера NGINX. Она работает аналогично существующей функциональности access_log, но специально отслеживает и фиксирует данные по завершении каждого upstream-запроса. Это включает случаи, когда при обработке одного запроса обращаются к нескольким upstream-серверам, что гарантирует, что записи в логе охватывают все взаимодействия с этими серверами. Кроме того, если происходит внутреннее перенаправление, например с помощью X-Accel-Redirect или error_page, после каждого контакта также будет создана запись в логе, обеспечивая всестороннее отслеживание запросов.
Пример конфига
http {
log_format upstream '$remote_addr $upstream_last_addr [$time_local] "$upstream_method $upstream_uri" '
'$upstream_last_status $upstream_last_response_length';
upstream cluster {
server 192.168.0.1:80;
server 192.168.0.2:80;
}
server {
listen 80;
upstream_log logs/upstream.log upstream;
location / {
proxy_pass http://cluster;
}
}
}Убедитесь, что формат, указанный в upstream_log, определён корректно, так как неправильно отформатированный журнал может привести к ошибкам разбора.
Этот модуль считается экспериментальным; пользователям следует проявлять осторожность и тщательно тестировать конфигурации в непроизводственных средах.
Несколько директив upstream_log в одном и том же контексте могут привести к путанице; лучшая практика - централизовать ведение логов.